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 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
31config LIBATA
32	bool
33	help
34	  Select this to build and link the libata helper functions.
35
36config 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
42menu "SATA/SCSI device support"
43
44config 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
52if AHCI
53
54config 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
60config 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
69config 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
77config 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
84config 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
90config 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
101config 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
108endif # AHCI
109
110if SATA
111
112config 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
121config 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
131config 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
137config 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
145config 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
154config 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
164endif # SATA
165
166endmenu
167