Merge branch 'CR_2871_MMC_515_william.qiu' into 'jh7110-5.15.y-devel'
[platform/kernel/linux-starfive.git] / arch / riscv / Kconfig.socs
1 menu "SoC selection"
2
3 config SOC_MICROCHIP_POLARFIRE
4         bool "Microchip PolarFire SoCs"
5         select MCHP_CLK_MPFS
6         select SIFIVE_PLIC
7         help
8           This enables support for Microchip PolarFire SoC platforms.
9
10 config SOC_SIFIVE
11         bool "SiFive SoCs"
12         select SERIAL_SIFIVE if TTY
13         select SERIAL_SIFIVE_CONSOLE if TTY
14         select CLK_SIFIVE
15         select CLK_SIFIVE_PRCI
16         select SIFIVE_PLIC
17         select RISCV_ERRATA_ALTERNATIVE
18         select ERRATA_SIFIVE
19         help
20           This enables support for SiFive SoC platform hardware.
21
22 config SOC_STARFIVE
23         bool "StarFive Socs"
24         select SOC_SIFIVE
25         select OF_RESERVED_MEM
26         select SIFIVE_L2
27         select SIFIVE_L2_FLUSH
28         select DW_AXI_DMAC_STARFIVE
29         help
30           StarFive JH SOC platform
31
32 choice
33         prompt "StarFive JH SOCs"
34         help
35           choice StarFive JH SOC platform
36
37         config SOC_STARFIVE_VIC7100
38                 bool "VIC7100"
39                 select HW_RANDOM_STARFIVE_VIC
40                 depends on SOC_STARFIVE
41                 help
42                   This enables support for StarFive VIC7100 SoC Platform Hardware.
43
44         config SOC_STARFIVE_JH7110
45                 bool "JH7110"
46                 select HW_RANDOM_STARFIVE_TRNG
47                 depends on SOC_STARFIVE
48                 help
49                   This enables support for StarFive JH7110 SoC Platform Hardware.
50 endchoice
51
52 menu "StarFive JH SoC Debug Option"
53         depends on SOC_STARFIVE
54
55 choice
56         prompt "JH SOC GMAC Speed"
57         depends on SOC_STARFIVE
58         default FPGA_GMAC_SPEED_AUTO
59         help
60           choice VIC7100 GMAC speed.
61           (GMAC only works well on 10M/duple, for FPGA board.)
62
63         config FPGA_GMAC_SPEED10
64                 bool "GMAC works on 10M mode"
65         config FPGA_GMAC_SPEED100
66                 bool "GMAC works on 100M mode"
67         config FPGA_GMAC_SPEED_AUTO
68                 bool "GMAC works on auto mode"
69 endchoice
70
71 config FPGA_GMAC_FLUSH_DDR
72         bool "VIC7100 SOC GMAC description and packet buffer flush"
73         depends on SOC_STARFIVE_VIC7100
74         depends on STMMAC_ETH
75         default y if SOC_STARFIVE_VIC7100
76         help
77           enable VIC7100 GMAC description and packet buffer flush
78
79 config MMC_DW_FLUSH_DDR
80         bool "VIC7100 SOC DW MMC buffer flush"
81         depends on SOC_STARFIVE_VIC7100
82         depends on MMC_DW
83         default y if SOC_STARFIVE_VIC7100
84         help
85           enable VIC7100 DW MMC description and data buffer flush
86
87 config USB_CDNS3_HOST_FLUSH_DMA
88         bool "Cadence USB3 host controller flush dma memery"
89         depends on USB
90         depends on USB_CDNS3
91         depends on SOC_STARFIVE_VIC7100
92         default y if SOC_STARFIVE_VIC7100
93         help
94           enable VIC7100 DW USB CDNS3 driver data buffer flush
95
96 endmenu
97
98 config SOC_VIRT
99         bool "QEMU Virt Machine"
100         select CLINT_TIMER if RISCV_M_MODE
101         select POWER_RESET
102         select POWER_RESET_SYSCON
103         select POWER_RESET_SYSCON_POWEROFF
104         select GOLDFISH
105         select RTC_DRV_GOLDFISH if RTC_CLASS
106         select SIFIVE_PLIC
107         help
108           This enables support for QEMU Virt Machine.
109
110 config SOC_CANAAN
111         bool "Canaan Kendryte K210 SoC"
112         depends on !MMU
113         select CLINT_TIMER if RISCV_M_MODE
114         select SERIAL_SIFIVE if TTY
115         select SERIAL_SIFIVE_CONSOLE if TTY
116         select SIFIVE_PLIC
117         select ARCH_HAS_RESET_CONTROLLER
118         select PINCTRL
119         select COMMON_CLK
120         select COMMON_CLK_K210
121         help
122           This enables support for Canaan Kendryte K210 SoC platform hardware.
123
124 if SOC_CANAAN
125
126 config SOC_CANAAN_K210_DTB_BUILTIN
127         bool "Builtin device tree for the Canaan Kendryte K210"
128         depends on SOC_CANAAN
129         default y
130         select OF
131         select BUILTIN_DTB
132         help
133           Build a device tree for the Kendryte K210 into the Linux image.
134           This option should be selected if no bootloader is being used.
135           If unsure, say Y.
136
137 config SOC_CANAAN_K210_DTB_SOURCE
138         string "Source file for the Canaan Kendryte K210 builtin DTB"
139         depends on SOC_CANAAN
140         depends on SOC_CANAAN_K210_DTB_BUILTIN
141         default "k210_generic"
142         help
143           Base name (without suffix, relative to arch/riscv/boot/dts/canaan)
144           for the DTS file that will be used to produce the DTB linked into the
145           kernel.
146
147 endif
148
149 endmenu