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