Star64_linux/arch/riscv/Kconfig.socs
Jisheng Zhang 5f6eca9b76 riscv: alternative only works on !XIP_KERNEL
commit c80ee64a80 upstream.

The alternative mechanism needs runtime code patching, it can't work
on XIP_KERNEL. And the errata workarounds are implemented via the
alternative mechanism. So add !XIP_KERNEL dependency for alternative
and erratas.

Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
Fixes: 44c9225729 ("RISC-V: enable XIP")
Cc: stable@vger.kernel.org
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-04-19 17:46:16 +08:00

149 lines
3.6 KiB
Text
Executable file

menu "SoC selection"
config SOC_MICROCHIP_POLARFIRE
bool "Microchip PolarFire SoCs"
select MCHP_CLK_MPFS
select SIFIVE_PLIC
help
This enables support for Microchip PolarFire SoC platforms.
config SOC_SIFIVE
bool "SiFive SoCs"
select SERIAL_SIFIVE if TTY
select SERIAL_SIFIVE_CONSOLE if TTY
select CLK_SIFIVE
select CLK_SIFIVE_PRCI
select SIFIVE_PLIC
select RISCV_ERRATA_ALTERNATIVE if !XIP_KERNEL
select ERRATA_SIFIVE if !XIP_KERNEL
help
This enables support for SiFive SoC platform hardware.
config SOC_STARFIVE
bool "StarFive Socs"
select SOC_SIFIVE
select OF_RESERVED_MEM
select SIFIVE_L2
select SIFIVE_L2_FLUSH
select DW_AXI_DMAC_STARFIVE
help
StarFive JH SOC platform
choice
prompt "StarFive JH SOCs"
help
choice StarFive JH SOC platform
config SOC_STARFIVE_VIC7100
bool "VIC7100"
select HW_RANDOM_STARFIVE_VIC
depends on SOC_STARFIVE
help
This enables support for StarFive VIC7100 SoC Platform Hardware.
config SOC_STARFIVE_JH7110
bool "JH7110"
select HW_RANDOM_STARFIVE_TRNG
depends on SOC_STARFIVE
help
This enables support for StarFive JH7110 SoC Platform Hardware.
endchoice
menu "StarFive JH SoC Debug Option"
depends on SOC_STARFIVE
choice
prompt "JH SOC GMAC Speed"
depends on SOC_STARFIVE
default FPGA_GMAC_SPEED_AUTO
help
choice VIC7100 GMAC speed.
(GMAC only works well on 10M/duple, for FPGA board.)
config FPGA_GMAC_SPEED10
bool "GMAC works on 10M mode"
config FPGA_GMAC_SPEED100
bool "GMAC works on 100M mode"
config FPGA_GMAC_SPEED_AUTO
bool "GMAC works on auto mode"
endchoice
config FPGA_GMAC_FLUSH_DDR
bool "VIC7100 SOC GMAC description and packet buffer flush"
depends on SOC_STARFIVE_VIC7100
depends on STMMAC_ETH
default y if SOC_STARFIVE_VIC7100
help
enable VIC7100 GMAC description and packet buffer flush
config MMC_DW_FLUSH_DDR
bool "VIC7100 SOC DW MMC buffer flush"
depends on SOC_STARFIVE_VIC7100
depends on MMC_DW
default y if SOC_STARFIVE_VIC7100
help
enable VIC7100 DW MMC description and data buffer flush
config USB_CDNS3_HOST_FLUSH_DMA
bool "Cadence USB3 host controller flush dma memery"
depends on USB
depends on USB_CDNS3
depends on SOC_STARFIVE_VIC7100
default y if SOC_STARFIVE_VIC7100
help
enable VIC7100 DW USB CDNS3 driver data buffer flush
endmenu
config SOC_VIRT
bool "QEMU Virt Machine"
select CLINT_TIMER if RISCV_M_MODE
select POWER_RESET
select POWER_RESET_SYSCON
select POWER_RESET_SYSCON_POWEROFF
select GOLDFISH
select RTC_DRV_GOLDFISH if RTC_CLASS
select SIFIVE_PLIC
help
This enables support for QEMU Virt Machine.
config SOC_CANAAN
bool "Canaan Kendryte K210 SoC"
depends on !MMU
select CLINT_TIMER if RISCV_M_MODE
select SERIAL_SIFIVE if TTY
select SERIAL_SIFIVE_CONSOLE if TTY
select SIFIVE_PLIC
select ARCH_HAS_RESET_CONTROLLER
select PINCTRL
select COMMON_CLK
select COMMON_CLK_K210
help
This enables support for Canaan Kendryte K210 SoC platform hardware.
if SOC_CANAAN
config SOC_CANAAN_K210_DTB_BUILTIN
bool "Builtin device tree for the Canaan Kendryte K210"
depends on SOC_CANAAN
default y
select OF
select BUILTIN_DTB
help
Build a device tree for the Kendryte K210 into the Linux image.
This option should be selected if no bootloader is being used.
If unsure, say Y.
config SOC_CANAAN_K210_DTB_SOURCE
string "Source file for the Canaan Kendryte K210 builtin DTB"
depends on SOC_CANAAN
depends on SOC_CANAAN_K210_DTB_BUILTIN
default "k210_generic"
help
Base name (without suffix, relative to arch/riscv/boot/dts/canaan)
for the DTS file that will be used to produce the DTB linked into the
kernel.
endif
endmenu