blob: 049f7efd10b85875ee9a8d761fd318a59a7493f2 [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"
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
Heinrich Schuchardt120ec1d2023-03-26 18:58:26 +020023config 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
Tuomas Tynkkynenb82e6672017-12-08 15:36:20 +020031config LIBATA
32 bool
33 help
34 Select this to build and link the libata helper functions.
35
Tuomas Tynkkynen9fd95ef2017-12-08 15:36:19 +020036config SCSI_AHCI
37 bool "Enable SCSI interface to SATA devices"
Tuomas Tynkkynenb82e6672017-12-08 15:36:20 +020038 select LIBATA
Tuomas Tynkkynen9fd95ef2017-12-08 15:36:19 +020039 help
40 Enable this to allow interfacing SATA devices via the SCSI layer.
41
Simon Glassf2105c62017-06-14 21:28:26 -060042menu "SATA/SCSI device support"
43
Bin Menga5c680f2017-07-30 19:23:59 -070044config AHCI_PCI
45 bool "Support for PCI-based AHCI controller"
Tom Rini36f890f2021-09-16 11:45:03 -040046 depends on PCI
Bin Menga5c680f2017-07-30 19:23:59 -070047 depends on DM_SCSI
Heinrich Schuchardt480c1d62023-03-26 18:58:25 +020048 depends on SCSI_AHCI
Bin Menga5c680f2017-07-30 19:23:59 -070049 help
50 Enables support for the PCI-based AHCI controller.
51
Simon Glassf73a7562022-01-31 07:49:35 -070052if AHCI
53
Pali Rohár73059522021-08-15 16:27:37 +020054config SPL_AHCI_PCI
55 bool "Support for PCI-based AHCI controller for SPL"
56 depends on SPL
57 depends on SPL_PCI
Simon Glass6c040552022-08-11 19:34:42 -060058 depends on SPL_SATA && DM_SCSI
Pali Rohár73059522021-08-15 16:27:37 +020059
Simon Glassf2105c62017-06-14 21:28:26 -060060config 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
Tuomas Tynkkynen477b16a2017-12-08 15:36:18 +020069config DWC_AHSATA
70 bool "Enable DWC AHSATA driver support"
Tuomas Tynkkynenb82e6672017-12-08 15:36:20 +020071 select LIBATA
Tom Rini90932da2021-02-09 21:42:44 -050072 depends on BLK
Tuomas Tynkkynen477b16a2017-12-08 15:36:18 +020073 help
74 Enable this driver to support the DWC AHSATA SATA controller found
75 in i.MX5 and i.MX6 SoCs.
76
Soeren Moch046a69b2019-03-01 13:10:59 +010077config DWC_AHSATA_AHCI
78 bool "Enable DWC AHSATA AHCI driver support"
79 depends on DWC_AHSATA
Soeren Moch046a69b2019-03-01 13:10:59 +010080 default y
81 help
82 Enable this option unless you need your private ahci implementation
83
Simon Glassf73a7562022-01-31 07:49:35 -070084config MTK_AHCI
85 bool "Enable Mediatek AHCI driver support"
Andre Przywaraf8c86692019-04-12 16:28:54 +053086 help
Simon Glassf73a7562022-01-31 07:49:35 -070087 Enable this driver to support Sata devices through
88 Mediatek AHCI controller (e.g. MT7622).
Andre Przywaraf8c86692019-04-12 16:28:54 +053089
Ken Ma592b4a72018-05-25 15:49:24 +080090config AHCI_MVEBU
91 bool "Marvell EBU AHCI SATA support"
Stefan Roese1eefd492021-04-07 09:12:34 +020092 depends on ARCH_MVEBU || ARCH_OCTEON
Ken Ma592b4a72018-05-25 15:49:24 +080093 select SCSI_AHCI
Ken Ma6ac85382018-05-25 15:49:26 +080094 select DM_SCSI
Ken Ma592b4a72018-05-25 15:49:24 +080095 help
96 This option enables support for the Marvell EBU SoC's
97 onboard AHCI SATA.
98
99 If unsure, say N.
Frank Wunderlich38bff322020-08-13 10:20:47 +0200100
Simon Glassf73a7562022-01-31 07:49:35 -0700101config SUNXI_AHCI
102 bool "Enable Allwinner SATA driver support"
103 default y if ARCH_SUNXI
Frank Wunderlich38bff322020-08-13 10:20:47 +0200104 help
Simon Glassf73a7562022-01-31 07:49:35 -0700105 Enable this driver to support the SATA controllers found in the
106 Allwinner A10, A20 and R40 SoCs.
107
108endif # AHCI
Frank Wunderlich38bff322020-08-13 10:20:47 +0200109
Simon Glass6edb5dd2022-01-31 07:49:33 -0700110if 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"
Tom Rini0a816d92022-06-10 22:59:27 -0400123 depends on PPC
Simon Glass6edb5dd2022-01-31 07:49:33 -0700124 select AHCI
125 select LIBATA
Tom Riniaca1f672022-06-10 22:59:28 -0400126 imply LBA48
Simon Glass6edb5dd2022-01-31 07:49:33 -0700127 help
128 Enable this driver to support the SATA controller found in
129 some Freescale PowerPC SoCs.
130
Tom Rini0a816d92022-06-10 22:59:27 -0400131config 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
Simon Glass6edb5dd2022-01-31 07:49:33 -0700137config 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"
Pali Rohár31336512022-12-29 18:15:35 +0100147 depends on PCI
Simon Glass6edb5dd2022-01-31 07:49:33 -0700148 select AHCI
149 select LIBATA
150 help
151 Enable this driver to support the SIL3131, SIL3132 and SIL3124
152 SATA controllers.
153
Simon Glassedca8cf2022-01-31 07:49:37 -0700154config 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
Simon Glass6edb5dd2022-01-31 07:49:33 -0700164endif # SATA
165
Simon Glassf2105c62017-06-14 21:28:26 -0600166endmenu