blob: 29ceab849c02e13f30cce0d67ec6e5fe897c0afb [file] [log] [blame]
Simon Glass2c844c42017-06-14 21:28:26 -06001config AHCI
2 bool "Support SATA controllers with driver model"
3 depends on DM
Tom Rini9604ece2025-01-14 19:22:11 -06004 select BLK
Simon Glass2c844c42017-06-14 21:28:26 -06005 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"
Tom Rini9604ece2025-01-14 19:22:11 -060013 select BLK
Simon Glass2c844c42017-06-14 21:28:26 -060014 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
Tuomas Tynkkynenfc1a4de2017-12-08 15:36:20 +020025config LIBATA
26 bool
27 help
28 Select this to build and link the libata helper functions.
29
Tuomas Tynkkynenedf9f622017-12-08 15:36:19 +020030config SCSI_AHCI
31 bool "Enable SCSI interface to SATA devices"
Tuomas Tynkkynenfc1a4de2017-12-08 15:36:20 +020032 select LIBATA
Tuomas Tynkkynenedf9f622017-12-08 15:36:19 +020033 help
34 Enable this to allow interfacing SATA devices via the SCSI layer.
35
Simon Glass2c844c42017-06-14 21:28:26 -060036menu "SATA/SCSI device support"
37
Bin Meng239a09b2017-07-30 19:23:59 -070038config AHCI_PCI
39 bool "Support for PCI-based AHCI controller"
Tom Rini61e401e2021-09-16 11:45:03 -040040 depends on PCI
Tom Rini15a2ab52023-10-27 20:59:51 -040041 depends on SCSI
Heinrich Schuchardta618d7a2023-03-26 18:58:25 +020042 depends on SCSI_AHCI
Bin Meng239a09b2017-07-30 19:23:59 -070043 help
44 Enables support for the PCI-based AHCI controller.
45
Simon Glassd31075b2022-01-31 07:49:35 -070046if AHCI
47
Pali Rohár605b6552021-08-15 16:27:37 +020048config SPL_AHCI_PCI
49 bool "Support for PCI-based AHCI controller for SPL"
50 depends on SPL
51 depends on SPL_PCI
Tom Rini15a2ab52023-10-27 20:59:51 -040052 depends on SPL_SATA && SCSI
Pali Rohár605b6552021-08-15 16:27:37 +020053
Simon Glass2c844c42017-06-14 21:28:26 -060054config DWC_AHCI
55 bool "Enable Synopsys DWC AHCI driver support"
56 select SCSI_AHCI
57 select PHY
Tom Rini15a2ab52023-10-27 20:59:51 -040058 depends on SCSI
Simon Glass2c844c42017-06-14 21:28:26 -060059 help
60 Enable this driver to support Sata devices through
61 Synopsys DWC AHCI module.
62
Tuomas Tynkkynen745edca2017-12-08 15:36:18 +020063config DWC_AHSATA
64 bool "Enable DWC AHSATA driver support"
Tuomas Tynkkynenfc1a4de2017-12-08 15:36:20 +020065 select LIBATA
Tuomas Tynkkynen745edca2017-12-08 15:36:18 +020066 help
67 Enable this driver to support the DWC AHSATA SATA controller found
68 in i.MX5 and i.MX6 SoCs.
69
Soeren Moch5569bbd2019-03-01 13:10:59 +010070config DWC_AHSATA_AHCI
71 bool "Enable DWC AHSATA AHCI driver support"
72 depends on DWC_AHSATA
Soeren Moch5569bbd2019-03-01 13:10:59 +010073 default y
74 help
75 Enable this option unless you need your private ahci implementation
76
Simon Glassd31075b2022-01-31 07:49:35 -070077config MTK_AHCI
78 bool "Enable Mediatek AHCI driver support"
Andre Przywara0931e372019-04-12 16:28:54 +053079 help
Simon Glassd31075b2022-01-31 07:49:35 -070080 Enable this driver to support Sata devices through
81 Mediatek AHCI controller (e.g. MT7622).
Andre Przywara0931e372019-04-12 16:28:54 +053082
Patrick Rudolph33169ec2024-10-23 15:20:00 +020083config AHCI_GENERIC
84 bool "Generic AHCI SATA support"
85 depends on OF_CONTROL
Ken Ma3984dac2018-05-25 15:49:24 +080086 select SCSI_AHCI
Tom Rini15a2ab52023-10-27 20:59:51 -040087 select SCSI
Ken Ma3984dac2018-05-25 15:49:24 +080088 help
Patrick Rudolph33169ec2024-10-23 15:20:00 +020089 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.
Ken Ma3984dac2018-05-25 15:49:24 +080093
94 If unsure, say N.
Frank Wunderlich1e2dc602020-08-13 10:20:47 +020095
Simon Glassd31075b2022-01-31 07:49:35 -070096config SUNXI_AHCI
97 bool "Enable Allwinner SATA driver support"
98 default y if ARCH_SUNXI
Frank Wunderlich1e2dc602020-08-13 10:20:47 +020099 help
Simon Glassd31075b2022-01-31 07:49:35 -0700100 Enable this driver to support the SATA controllers found in the
101 Allwinner A10, A20 and R40 SoCs.
102
103endif # AHCI
Frank Wunderlich1e2dc602020-08-13 10:20:47 +0200104
Simon Glass701ef062022-01-31 07:49:33 -0700105if SATA
106
107config SATA_CEVA
108 bool "Ceva Sata controller"
109 depends on AHCI
Tom Rini15a2ab52023-10-27 20:59:51 -0400110 depends on SCSI
Simon Glass701ef062022-01-31 07:49:33 -0700111 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"
Tom Rini276d75e2022-06-10 22:59:27 -0400118 depends on PPC
Simon Glass701ef062022-01-31 07:49:33 -0700119 select AHCI
120 select LIBATA
Tom Rini3f004772022-06-10 22:59:28 -0400121 imply LBA48
Simon Glass701ef062022-01-31 07:49:33 -0700122 help
123 Enable this driver to support the SATA controller found in
124 some Freescale PowerPC SoCs.
125
Tom Rini276d75e2022-06-10 22:59:27 -0400126config 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
Simon Glass701ef062022-01-31 07:49:33 -0700132config SATA_MV
133 bool "Enable Marvell SATA controller driver support"
134 select AHCI
135 select LIBATA
136 help
137 Enable this driver to support the SATA controller found in
138 some Marvell SoCs.
139
140config SATA_SIL
141 bool "Enable Silicon Image SIL3131 / SIL3132 / SIL3124 SATA driver support"
Pali Rohárd7320232022-12-29 18:15:35 +0100142 depends on PCI
Simon Glass701ef062022-01-31 07:49:33 -0700143 select AHCI
144 select LIBATA
145 help
146 Enable this driver to support the SIL3131, SIL3132 and SIL3124
147 SATA controllers.
148
Simon Glass231e7742022-01-31 07:49:37 -0700149config SYS_SATA_MAX_DEVICE
150 int "Maximum number of SATA devices"
151 depends on !AHCI || FSL_SATA || SATA_MV
152 help
153 Sets the maximum number of SATA devices which can be supported
154 by U-Boot.
155
156 This is only partially converted to driver model. See sata_bread()
157 for example, which shows where the conversion needs to be completed.
158
Simon Glass701ef062022-01-31 07:49:33 -0700159endif # SATA
160
Simon Glass2c844c42017-06-14 21:28:26 -0600161endmenu