Prepare v2023.10
[platform/kernel/u-boot.git] / drivers / ata / Kconfig
1 config AHCI
2         bool "Support SATA controllers with driver model"
3         depends on DM
4         help
5           This enables a uclass for disk controllers in U-Boot. Various driver
6           types can use this, such as AHCI/SATA. It does not provide any standard
7           operations at present. The block device interface has not been converted
8           to driver model.
9
10 config SATA
11         bool "Support SATA controllers"
12         help
13           This enables support for SATA (Serial Advanced Technology
14           Attachment), a serial bus standard for connecting to hard drives and
15           other storage devices.
16
17           SATA replaces PATA (originally just ATA), which stands for Parallel AT
18           Attachment, where AT refers to an IBM AT (Advanced Technology)
19           computer released in 1984.
20
21           See also CMD_SATA which provides command-line support.
22
23 config SYS_SATA_MAX_PORTS
24         int "Maximum supported SATA ports"
25         depends on SCSI_AHCI && !DM_SCSI
26         default 1
27         help
28           Sets the maximum number of ports to scan when looking for devices.
29           Ports from 0 to (this value - 1) are scanned.
30
31 config LIBATA
32         bool
33         help
34           Select this to build and link the libata helper functions.
35
36 config SCSI_AHCI
37         bool "Enable SCSI interface to SATA devices"
38         select LIBATA
39         help
40           Enable this to allow interfacing SATA devices via the SCSI layer.
41
42 menu "SATA/SCSI device support"
43
44 config AHCI_PCI
45         bool "Support for PCI-based AHCI controller"
46         depends on PCI
47         depends on DM_SCSI
48         depends on SCSI_AHCI
49         help
50           Enables support for the PCI-based AHCI controller.
51
52 if AHCI
53
54 config SPL_AHCI_PCI
55         bool "Support for PCI-based AHCI controller for SPL"
56         depends on SPL
57         depends on SPL_PCI
58         depends on SPL_SATA && DM_SCSI
59
60 config DWC_AHCI
61         bool "Enable Synopsys DWC AHCI driver support"
62         select SCSI_AHCI
63         select PHY
64         depends on DM_SCSI
65         help
66           Enable this driver to support Sata devices through
67           Synopsys DWC AHCI module.
68
69 config DWC_AHSATA
70         bool "Enable DWC AHSATA driver support"
71         select LIBATA
72         depends on BLK
73         help
74           Enable this driver to support the DWC AHSATA SATA controller found
75           in i.MX5 and i.MX6 SoCs.
76
77 config DWC_AHSATA_AHCI
78         bool "Enable DWC AHSATA AHCI driver support"
79         depends on DWC_AHSATA
80         default y
81         help
82           Enable this option unless you need your private ahci implementation
83
84 config MTK_AHCI
85         bool "Enable Mediatek AHCI driver support"
86         help
87           Enable this driver to support Sata devices through
88           Mediatek AHCI controller (e.g. MT7622).
89
90 config AHCI_MVEBU
91         bool "Marvell EBU AHCI SATA support"
92         depends on ARCH_MVEBU || ARCH_OCTEON
93         select SCSI_AHCI
94         select DM_SCSI
95         help
96           This option enables support for the Marvell EBU SoC's
97           onboard AHCI SATA.
98
99           If unsure, say N.
100
101 config SUNXI_AHCI
102         bool "Enable Allwinner SATA driver support"
103         default y if ARCH_SUNXI
104         help
105           Enable this driver to support the SATA controllers found in the
106           Allwinner A10, A20 and R40 SoCs.
107
108 endif # AHCI
109
110 if SATA
111
112 config SATA_CEVA
113         bool "Ceva Sata controller"
114         depends on AHCI
115         depends on DM_SCSI
116         help
117           This option enables Ceva Sata controller hard IP available on Xilinx
118           ZynqMP. Support up to 2 external devices. Compliant with SATA 3.1 and
119           AHCI 1.3 specifications with hot-plug detect feature.
120
121 config FSL_SATA
122         bool "Enable Freescale SATA controller driver support"
123         depends on PPC
124         select AHCI
125         select LIBATA
126         imply LBA48
127         help
128           Enable this driver to support the SATA controller found in
129           some Freescale PowerPC SoCs.
130
131 config FSL_SATA_V2
132         bool "Enable support for V2 of the Freescale SATA controller"
133         depends on FSL_SATA
134         help
135           Enable support for V2 of this controller, rather than V1.
136
137 config SATA_MV
138         bool "Enable Marvell SATA controller driver support"
139         select AHCI
140         select LIBATA
141         help
142           Enable this driver to support the SATA controller found in
143           some Marvell SoCs.
144
145 config SATA_SIL
146         bool "Enable Silicon Image SIL3131 / SIL3132 / SIL3124 SATA driver support"
147         depends on PCI
148         select AHCI
149         select LIBATA
150         help
151           Enable this driver to support the SIL3131, SIL3132 and SIL3124
152           SATA controllers.
153
154 config SYS_SATA_MAX_DEVICE
155         int "Maximum number of SATA devices"
156         depends on !AHCI || FSL_SATA || SATA_MV
157         help
158           Sets the maximum number of SATA devices which can be supported
159           by U-Boot.
160
161           This is only partially converted to driver model. See sata_bread()
162           for example, which shows where the conversion needs to be completed.
163
164 endif # SATA
165
166 endmenu