1config 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
10config 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
23config LIBATA
24	bool
25	help
26	  Select this to build and link the libata helper functions.
27
28config SCSI_AHCI
29	bool "Enable SCSI interface to SATA devices"
30	select LIBATA
31	help
32	  Enable this to allow interfacing SATA devices via the SCSI layer.
33
34menu "SATA/SCSI device support"
35
36config AHCI_PCI
37	bool "Support for PCI-based AHCI controller"
38	depends on PCI
39	depends on SCSI
40	depends on SCSI_AHCI
41	help
42	  Enables support for the PCI-based AHCI controller.
43
44if AHCI
45
46config SPL_AHCI_PCI
47	bool "Support for PCI-based AHCI controller for SPL"
48	depends on SPL
49	depends on SPL_PCI
50	depends on SPL_SATA && SCSI
51
52config DWC_AHCI
53	bool "Enable Synopsys DWC AHCI driver support"
54	select SCSI_AHCI
55	select PHY
56	depends on SCSI
57	help
58	  Enable this driver to support Sata devices through
59	  Synopsys DWC AHCI module.
60
61config DWC_AHSATA
62	bool "Enable DWC AHSATA driver support"
63	select LIBATA
64	depends on BLK
65	help
66	  Enable this driver to support the DWC AHSATA SATA controller found
67	  in i.MX5 and i.MX6 SoCs.
68
69config DWC_AHSATA_AHCI
70	bool "Enable DWC AHSATA AHCI driver support"
71	depends on DWC_AHSATA
72	default y
73	help
74	  Enable this option unless you need your private ahci implementation
75
76config MTK_AHCI
77	bool "Enable Mediatek AHCI driver support"
78	help
79	  Enable this driver to support Sata devices through
80	  Mediatek AHCI controller (e.g. MT7622).
81
82config AHCI_MVEBU
83	bool "Marvell EBU AHCI SATA support"
84	depends on ARCH_MVEBU || ARCH_OCTEON
85	select SCSI_AHCI
86	select SCSI
87	help
88	  This option enables support for the Marvell EBU SoC's
89	  onboard AHCI SATA.
90
91	  If unsure, say N.
92
93config SUNXI_AHCI
94	bool "Enable Allwinner SATA driver support"
95	default y if ARCH_SUNXI
96	help
97	  Enable this driver to support the SATA controllers found in the
98	  Allwinner A10, A20 and R40 SoCs.
99
100endif # AHCI
101
102if SATA
103
104config SATA_CEVA
105	bool "Ceva Sata controller"
106	depends on AHCI
107	depends on SCSI
108	help
109	  This option enables Ceva Sata controller hard IP available on Xilinx
110	  ZynqMP. Support up to 2 external devices. Compliant with SATA 3.1 and
111	  AHCI 1.3 specifications with hot-plug detect feature.
112
113config FSL_SATA
114	bool "Enable Freescale SATA controller driver support"
115	depends on PPC
116	select AHCI
117	select LIBATA
118	imply LBA48
119	help
120	  Enable this driver to support the SATA controller found in
121	  some Freescale PowerPC SoCs.
122
123config FSL_SATA_V2
124	bool "Enable support for V2 of the Freescale SATA controller"
125	depends on FSL_SATA
126	help
127	  Enable support for V2 of this controller, rather than V1.
128
129config SATA_MV
130	bool "Enable Marvell SATA controller driver support"
131	select AHCI
132	select LIBATA
133	help
134	  Enable this driver to support the SATA controller found in
135	  some Marvell SoCs.
136
137config SATA_SIL
138	bool "Enable Silicon Image SIL3131 / SIL3132 / SIL3124 SATA driver support"
139	depends on PCI
140	select AHCI
141	select LIBATA
142	help
143	  Enable this driver to support the SIL3131, SIL3132 and SIL3124
144	  SATA controllers.
145
146config SYS_SATA_MAX_DEVICE
147	int "Maximum number of SATA devices"
148	depends on !AHCI || FSL_SATA || SATA_MV
149	help
150	  Sets the maximum number of SATA devices which can be supported
151	  by U-Boot.
152
153	  This is only partially converted to driver model. See sata_bread()
154	  for example, which shows where the conversion needs to be completed.
155
156endif # SATA
157
158endmenu
159