blob: ce6907e6900812b9ce1fd514a6af0cb3e8c99dea [file] [log] [blame]
Simon Glassf2105c62017-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"
Simon Glass580937b2022-01-31 07:49:32 -070012 depends on BLK
Adam Ford1811a922018-02-06 12:43:56 -060013 select HAVE_BLOCK_DEVICE
Simon Glassf2105c62017-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 Tynkkynenb82e6672017-12-08 15:36:20 +020025config LIBATA
26 bool
27 help
28 Select this to build and link the libata helper functions.
29
Tuomas Tynkkynen9fd95ef2017-12-08 15:36:19 +020030config SCSI_AHCI
31 bool "Enable SCSI interface to SATA devices"
Tuomas Tynkkynenb82e6672017-12-08 15:36:20 +020032 select LIBATA
Tuomas Tynkkynen9fd95ef2017-12-08 15:36:19 +020033 help
34 Enable this to allow interfacing SATA devices via the SCSI layer.
35
Simon Glassf2105c62017-06-14 21:28:26 -060036menu "SATA/SCSI device support"
37
Bin Menga5c680f2017-07-30 19:23:59 -070038config AHCI_PCI
39 bool "Support for PCI-based AHCI controller"
Tom Rini36f890f2021-09-16 11:45:03 -040040 depends on PCI
Bin Menga5c680f2017-07-30 19:23:59 -070041 depends on DM_SCSI
42 help
43 Enables support for the PCI-based AHCI controller.
44
Simon Glassf73a7562022-01-31 07:49:35 -070045if AHCI
46
Pali Rohár73059522021-08-15 16:27:37 +020047config SPL_AHCI_PCI
48 bool "Support for PCI-based AHCI controller for SPL"
49 depends on SPL
50 depends on SPL_PCI
51 depends on SPL_SATA_SUPPORT && DM_SCSI
52
Simon Glassf2105c62017-06-14 21:28:26 -060053config DWC_AHCI
54 bool "Enable Synopsys DWC AHCI driver support"
55 select SCSI_AHCI
56 select PHY
57 depends on DM_SCSI
58 help
59 Enable this driver to support Sata devices through
60 Synopsys DWC AHCI module.
61
Tuomas Tynkkynen477b16a2017-12-08 15:36:18 +020062config DWC_AHSATA
63 bool "Enable DWC AHSATA driver support"
Tuomas Tynkkynenb82e6672017-12-08 15:36:20 +020064 select LIBATA
Tom Rini90932da2021-02-09 21:42:44 -050065 depends on BLK
Tuomas Tynkkynen477b16a2017-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 Moch046a69b2019-03-01 13:10:59 +010070config DWC_AHSATA_AHCI
71 bool "Enable DWC AHSATA AHCI driver support"
72 depends on DWC_AHSATA
Soeren Moch046a69b2019-03-01 13:10:59 +010073 default y
74 help
75 Enable this option unless you need your private ahci implementation
76
Simon Glassf73a7562022-01-31 07:49:35 -070077config MTK_AHCI
78 bool "Enable Mediatek AHCI driver support"
Andre Przywaraf8c86692019-04-12 16:28:54 +053079 help
Simon Glassf73a7562022-01-31 07:49:35 -070080 Enable this driver to support Sata devices through
81 Mediatek AHCI controller (e.g. MT7622).
Andre Przywaraf8c86692019-04-12 16:28:54 +053082
Ken Ma592b4a72018-05-25 15:49:24 +080083config AHCI_MVEBU
84 bool "Marvell EBU AHCI SATA support"
Stefan Roese1eefd492021-04-07 09:12:34 +020085 depends on ARCH_MVEBU || ARCH_OCTEON
Ken Ma592b4a72018-05-25 15:49:24 +080086 select SCSI_AHCI
Ken Ma6ac85382018-05-25 15:49:26 +080087 select DM_SCSI
Ken Ma592b4a72018-05-25 15:49:24 +080088 help
89 This option enables support for the Marvell EBU SoC's
90 onboard AHCI SATA.
91
92 If unsure, say N.
Frank Wunderlich38bff322020-08-13 10:20:47 +020093
Simon Glassf73a7562022-01-31 07:49:35 -070094config SUNXI_AHCI
95 bool "Enable Allwinner SATA driver support"
96 default y if ARCH_SUNXI
Frank Wunderlich38bff322020-08-13 10:20:47 +020097 help
Simon Glassf73a7562022-01-31 07:49:35 -070098 Enable this driver to support the SATA controllers found in the
99 Allwinner A10, A20 and R40 SoCs.
100
101endif # AHCI
Frank Wunderlich38bff322020-08-13 10:20:47 +0200102
Simon Glass6edb5dd2022-01-31 07:49:33 -0700103if SATA
104
105config SATA_CEVA
106 bool "Ceva Sata controller"
107 depends on AHCI
108 depends on DM_SCSI
109 help
110 This option enables Ceva Sata controller hard IP available on Xilinx
111 ZynqMP. Support up to 2 external devices. Compliant with SATA 3.1 and
112 AHCI 1.3 specifications with hot-plug detect feature.
113
114config FSL_SATA
115 bool "Enable Freescale SATA controller driver support"
116 select AHCI
117 select LIBATA
118 help
119 Enable this driver to support the SATA controller found in
120 some Freescale PowerPC SoCs.
121
122config SATA_MV
123 bool "Enable Marvell SATA controller driver support"
124 select AHCI
125 select LIBATA
126 help
127 Enable this driver to support the SATA controller found in
128 some Marvell SoCs.
129
130config SATA_SIL
131 bool "Enable Silicon Image SIL3131 / SIL3132 / SIL3124 SATA driver support"
132 select AHCI
133 select LIBATA
134 help
135 Enable this driver to support the SIL3131, SIL3132 and SIL3124
136 SATA controllers.
137
Simon Glassedca8cf2022-01-31 07:49:37 -0700138config SYS_SATA_MAX_DEVICE
139 int "Maximum number of SATA devices"
140 depends on !AHCI || FSL_SATA || SATA_MV
141 help
142 Sets the maximum number of SATA devices which can be supported
143 by U-Boot.
144
145 This is only partially converted to driver model. See sata_bread()
146 for example, which shows where the conversion needs to be completed.
147
Simon Glass6edb5dd2022-01-31 07:49:33 -0700148endif # SATA
149
Simon Glassf2105c62017-06-14 21:28:26 -0600150endmenu