sata: Rearrange Kconfig for SATA
[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 config SPL_AHCI_PCI
46         bool "Support for PCI-based AHCI controller for SPL"
47         depends on SPL
48         depends on SPL_PCI
49         depends on SPL_SATA_SUPPORT && DM_SCSI
50
51 config 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
60 config DWC_AHSATA
61         bool "Enable DWC AHSATA driver support"
62         select LIBATA
63         depends on BLK
64         help
65           Enable this driver to support the DWC AHSATA SATA controller found
66           in i.MX5 and i.MX6 SoCs.
67
68 config DWC_AHSATA_AHCI
69         bool "Enable DWC AHSATA AHCI driver support"
70         depends on DWC_AHSATA
71         depends on AHCI
72         default y
73         help
74           Enable this option unless you need your private ahci implementation
75
76 config SUNXI_AHCI
77         bool "Enable Allwinner SATA driver support"
78         depends on AHCI
79         default y if ARCH_SUNXI
80         help
81           Enable this driver to support the SATA controllers found in the
82           Allwinner A10, A20 and R40 SoCs.
83
84 config AHCI_MVEBU
85         bool "Marvell EBU AHCI SATA support"
86         depends on ARCH_MVEBU || ARCH_OCTEON
87         depends on AHCI
88         select SCSI_AHCI
89         select DM_SCSI
90         help
91           This option enables support for the Marvell EBU SoC's
92           onboard AHCI SATA.
93
94           If unsure, say N.
95
96 config MTK_AHCI
97         bool "Enable Mediatek AHCI driver support"
98         depends on AHCI
99         help
100           Enable this driver to support Sata devices through
101           Mediatek AHCI controller (e.g. MT7622).
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 endif # SATA
139
140 endmenu