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