blob: 3fe53d6d4f3a72d12544592edcc7a1e4d38c5ac7 [file] [log] [blame]
Simon Glass2c844c42017-06-14 21:28:26 -06001config 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
Tuomas Tynkkynenfc1a4de2017-12-08 15:36:20 +020023config LIBATA
24 bool
25 help
26 Select this to build and link the libata helper functions.
27
Tuomas Tynkkynenedf9f622017-12-08 15:36:19 +020028config SCSI_AHCI
29 bool "Enable SCSI interface to SATA devices"
Tuomas Tynkkynenfc1a4de2017-12-08 15:36:20 +020030 select LIBATA
Tuomas Tynkkynenedf9f622017-12-08 15:36:19 +020031 help
32 Enable this to allow interfacing SATA devices via the SCSI layer.
33
Simon Glass2c844c42017-06-14 21:28:26 -060034menu "SATA/SCSI device support"
35
Bin Meng239a09b2017-07-30 19:23:59 -070036config AHCI_PCI
37 bool "Support for PCI-based AHCI controller"
Tom Rini61e401e2021-09-16 11:45:03 -040038 depends on PCI
Bin Meng239a09b2017-07-30 19:23:59 -070039 depends on DM_SCSI
40 help
41 Enables support for the PCI-based AHCI controller.
42
Simon Glassd31075b2022-01-31 07:49:35 -070043if AHCI
44
Pali Rohár605b6552021-08-15 16:27:37 +020045config SPL_AHCI_PCI
46 bool "Support for PCI-based AHCI controller for SPL"
47 depends on SPL
48 depends on SPL_PCI
Simon Glass952c0fe2022-08-11 19:34:42 -060049 depends on SPL_SATA && DM_SCSI
Pali Rohár605b6552021-08-15 16:27:37 +020050
Simon Glass2c844c42017-06-14 21:28:26 -060051config DWC_AHCI
52 bool "Enable Synopsys DWC AHCI driver support"
53 select SCSI_AHCI
54 select PHY
55 depends on DM_SCSI
56 help
57 Enable this driver to support Sata devices through
58 Synopsys DWC AHCI module.
59
Tuomas Tynkkynen745edca2017-12-08 15:36:18 +020060config DWC_AHSATA
61 bool "Enable DWC AHSATA driver support"
Tuomas Tynkkynenfc1a4de2017-12-08 15:36:20 +020062 select LIBATA
Tom Rini2398bbc2021-02-09 21:42:44 -050063 depends on BLK
Tuomas Tynkkynen745edca2017-12-08 15:36:18 +020064 help
65 Enable this driver to support the DWC AHSATA SATA controller found
66 in i.MX5 and i.MX6 SoCs.
67
Soeren Moch5569bbd2019-03-01 13:10:59 +010068config DWC_AHSATA_AHCI
69 bool "Enable DWC AHSATA AHCI driver support"
70 depends on DWC_AHSATA
Soeren Moch5569bbd2019-03-01 13:10:59 +010071 default y
72 help
73 Enable this option unless you need your private ahci implementation
74
Simon Glassd31075b2022-01-31 07:49:35 -070075config MTK_AHCI
76 bool "Enable Mediatek AHCI driver support"
Andre Przywara0931e372019-04-12 16:28:54 +053077 help
Simon Glassd31075b2022-01-31 07:49:35 -070078 Enable this driver to support Sata devices through
79 Mediatek AHCI controller (e.g. MT7622).
Andre Przywara0931e372019-04-12 16:28:54 +053080
Ken Ma3984dac2018-05-25 15:49:24 +080081config AHCI_MVEBU
82 bool "Marvell EBU AHCI SATA support"
Stefan Roesec62067b2021-04-07 09:12:34 +020083 depends on ARCH_MVEBU || ARCH_OCTEON
Ken Ma3984dac2018-05-25 15:49:24 +080084 select SCSI_AHCI
Ken Mac3f0ca12018-05-25 15:49:26 +080085 select DM_SCSI
Ken Ma3984dac2018-05-25 15:49:24 +080086 help
87 This option enables support for the Marvell EBU SoC's
88 onboard AHCI SATA.
89
90 If unsure, say N.
Frank Wunderlich1e2dc602020-08-13 10:20:47 +020091
Simon Glassd31075b2022-01-31 07:49:35 -070092config SUNXI_AHCI
93 bool "Enable Allwinner SATA driver support"
94 default y if ARCH_SUNXI
Frank Wunderlich1e2dc602020-08-13 10:20:47 +020095 help
Simon Glassd31075b2022-01-31 07:49:35 -070096 Enable this driver to support the SATA controllers found in the
97 Allwinner A10, A20 and R40 SoCs.
98
99endif # AHCI
Frank Wunderlich1e2dc602020-08-13 10:20:47 +0200100
Simon Glass701ef062022-01-31 07:49:33 -0700101if SATA
102
103config SATA_CEVA
104 bool "Ceva Sata controller"
105 depends on AHCI
106 depends on DM_SCSI
107 help
108 This option enables Ceva Sata controller hard IP available on Xilinx
109 ZynqMP. Support up to 2 external devices. Compliant with SATA 3.1 and
110 AHCI 1.3 specifications with hot-plug detect feature.
111
112config FSL_SATA
113 bool "Enable Freescale SATA controller driver support"
Tom Rini276d75e2022-06-10 22:59:27 -0400114 depends on PPC
Simon Glass701ef062022-01-31 07:49:33 -0700115 select AHCI
116 select LIBATA
Tom Rini3f004772022-06-10 22:59:28 -0400117 imply LBA48
Simon Glass701ef062022-01-31 07:49:33 -0700118 help
119 Enable this driver to support the SATA controller found in
120 some Freescale PowerPC SoCs.
121
Tom Rini276d75e2022-06-10 22:59:27 -0400122config FSL_SATA_V2
123 bool "Enable support for V2 of the Freescale SATA controller"
124 depends on FSL_SATA
125 help
126 Enable support for V2 of this controller, rather than V1.
127
Simon Glass701ef062022-01-31 07:49:33 -0700128config SATA_MV
129 bool "Enable Marvell SATA controller driver support"
130 select AHCI
131 select LIBATA
132 help
133 Enable this driver to support the SATA controller found in
134 some Marvell SoCs.
135
136config SATA_SIL
137 bool "Enable Silicon Image SIL3131 / SIL3132 / SIL3124 SATA driver support"
Pali Rohárd7320232022-12-29 18:15:35 +0100138 depends on PCI
Simon Glass701ef062022-01-31 07:49:33 -0700139 select AHCI
140 select LIBATA
141 help
142 Enable this driver to support the SIL3131, SIL3132 and SIL3124
143 SATA controllers.
144
Simon Glass231e7742022-01-31 07:49:37 -0700145config SYS_SATA_MAX_DEVICE
146 int "Maximum number of SATA devices"
147 depends on !AHCI || FSL_SATA || SATA_MV
148 help
149 Sets the maximum number of SATA devices which can be supported
150 by U-Boot.
151
152 This is only partially converted to driver model. See sata_bread()
153 for example, which shows where the conversion needs to be completed.
154
Simon Glass701ef062022-01-31 07:49:33 -0700155endif # SATA
156
Simon Glass2c844c42017-06-14 21:28:26 -0600157endmenu