Merge tag 'efi-2022-07-rc1' of https://source.denx.de/u-boot/custodians/u-boot-efi
[platform/kernel/u-boot.git] / drivers / ata / Kconfig
1 config 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
10 config SATA
11         bool "Support SATA controllers"
12         depends on BLK
13         select HAVE_BLOCK_DEVICE
14         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
25 config LIBATA
26         bool
27         help
28           Select this to build and link the libata helper functions.
29
30 config SCSI_AHCI
31         bool "Enable SCSI interface to SATA devices"
32         select LIBATA
33         help
34           Enable this to allow interfacing SATA devices via the SCSI layer.
35
36 menu "SATA/SCSI device support"
37
38 config AHCI_PCI
39         bool "Support for PCI-based AHCI controller"
40         depends on PCI
41         depends on DM_SCSI
42         help
43           Enables support for the PCI-based AHCI controller.
44
45 if AHCI
46
47 config 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
53 config 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
62 config DWC_AHSATA
63         bool "Enable DWC AHSATA driver support"
64         select LIBATA
65         depends on BLK
66         help
67           Enable this driver to support the DWC AHSATA SATA controller found
68           in i.MX5 and i.MX6 SoCs.
69
70 config DWC_AHSATA_AHCI
71         bool "Enable DWC AHSATA AHCI driver support"
72         depends on DWC_AHSATA
73         default y
74         help
75           Enable this option unless you need your private ahci implementation
76
77 config MTK_AHCI
78         bool "Enable Mediatek AHCI driver support"
79         help
80           Enable this driver to support Sata devices through
81           Mediatek AHCI controller (e.g. MT7622).
82
83 config AHCI_MVEBU
84         bool "Marvell EBU AHCI SATA support"
85         depends on ARCH_MVEBU || ARCH_OCTEON
86         select SCSI_AHCI
87         select DM_SCSI
88         help
89           This option enables support for the Marvell EBU SoC's
90           onboard AHCI SATA.
91
92           If unsure, say N.
93
94 config SUNXI_AHCI
95         bool "Enable Allwinner SATA driver support"
96         default y if ARCH_SUNXI
97         help
98           Enable this driver to support the SATA controllers found in the
99           Allwinner A10, A20 and R40 SoCs.
100
101 endif # AHCI
102
103 if SATA
104
105 config 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
114 config 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
122 config 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
130 config 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
138 config 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
148 endif # SATA
149
150 endmenu