1README for MIPS AU1XXX IDE driver - Released 2005-07-15 2 3ABOUT 4----- 5This file describes the 'drivers/ide/mips/au1xxx-ide.c', related files and the 6services they provide. 7 8If you are short in patience and just want to know how to add your hard disc to 9the white or black list, go to the 'ADD NEW HARD DISC TO WHITE OR BLACK LIST' 10section. 11 12 13LICENSE 14------- 15 16Copyright (c) 2003-2005 AMD, Personal Connectivity Solutions 17 18This program is free software; you can redistribute it and/or modify it under 19the terms of the GNU General Public License as published by the Free Software 20Foundation; either version 2 of the License, or (at your option) any later 21version. 22 23THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, 24INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 25FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR 26BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 27CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 28SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 29INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 30CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 31ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 32POSSIBILITY OF SUCH DAMAGE. 33 34You should have received a copy of the GNU General Public License along with 35this program; if not, write to the Free Software Foundation, Inc., 36675 Mass Ave, Cambridge, MA 02139, USA. 37 38Note: for more information, please refer "AMD Alchemy Au1200/Au1550 IDE 39 Interface and Linux Device Driver" Application Note. 40 41 42FILES, CONFIGS AND COMPATABILITY 43-------------------------------- 44 45Two files are introduced: 46 47 a) 'arch/mips/include/asm/mach-au1x00/au1xxx_ide.h' 48 containes : struct _auide_hwif 49 timing parameters for PIO mode 0/1/2/3/4 50 timing parameters for MWDMA 0/1/2 51 52 b) 'drivers/ide/mips/au1xxx-ide.c' 53 contains the functionality of the AU1XXX IDE driver 54 55Following extra configs variables are introduced: 56 57 CONFIG_BLK_DEV_IDE_AU1XXX_PIO_DBDMA - enable the PIO+DBDMA mode 58 CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA - enable the MWDMA mode 59 CONFIG_BLK_DEV_IDE_AU1XXX_BURSTABLE_ON - set Burstable FIFO in DBDMA 60 controller 61 62 63SUPPORTED IDE MODES 64------------------- 65 66The AU1XXX IDE driver supported all PIO modes - PIO mode 0/1/2/3/4 - and all 67MWDMA modes - MWDMA 0/1/2 -. There is no support for SWDMA and UDMA mode. 68 69To change the PIO mode use the program hdparm with option -p, e.g. 70'hdparm -p0 [device]' for PIO mode 0. To enable the MWDMA mode use the option 71-X, e.g. 'hdparm -X32 [device]' for MWDMA mode 0. 72 73 74PERFORMANCE CONFIGURATIONS 75-------------------------- 76 77If the used system doesn't need USB support enable the following kernel configs: 78 79CONFIG_IDE=y 80CONFIG_BLK_DEV_IDE=y 81CONFIG_IDE_GENERIC=y 82CONFIG_BLK_DEV_IDEPCI=y 83CONFIG_BLK_DEV_GENERIC=y 84CONFIG_BLK_DEV_IDEDMA_PCI=y 85CONFIG_IDEDMA_PCI_AUTO=y 86CONFIG_BLK_DEV_IDE_AU1XXX=y 87CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA=y 88CONFIG_BLK_DEV_IDEDMA=y 89CONFIG_IDEDMA_AUTO=y 90 91Also define 'IDE_AU1XXX_BURSTMODE' in 'drivers/ide/mips/au1xxx-ide.c' to enable 92the burst support on DBDMA controller. 93 94If the used system need the USB support enable the following kernel configs for 95high IDE to USB throughput. 96 97CONFIG_BLK_DEV_IDEDISK=y 98CONFIG_IDE_GENERIC=y 99CONFIG_BLK_DEV_IDEPCI=y 100CONFIG_BLK_DEV_GENERIC=y 101CONFIG_BLK_DEV_IDEDMA_PCI=y 102CONFIG_IDEDMA_PCI_AUTO=y 103CONFIG_BLK_DEV_IDE_AU1XXX=y 104CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA=y 105CONFIG_BLK_DEV_IDEDMA=y 106CONFIG_IDEDMA_AUTO=y 107 108Also undefine 'IDE_AU1XXX_BURSTMODE' in 'drivers/ide/mips/au1xxx-ide.c' to 109disable the burst support on DBDMA controller. 110 111 112ACKNOWLEDGMENTS 113--------------- 114 115These drivers wouldn't have been done without the base of kernel 2.4.x AU1XXX 116IDE driver from AMD. 117 118Additional input also from: 119Matthias Lenk <matthias.lenk@amd.com> 120 121Happy hacking! 122Enrico Walther <enrico.walther@amd.com> 123