mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-31 16:38:12 +00:00
2672031b20
The BUILTIN_DTB_SOURCE was only configured for K210 before. Since SOC_BUILTIN_DTB_DECLARE was removed at commitd5805af9fe
("riscv: Fix builtin DTB handling") from patch [1], the kernel cannot choose one of the dtbs from then on and always take the first one dtb to use. Then, another commit0ddd7eaffa
("riscv: Fix BUILTIN_DTB for sifive and microchip soc") from patch [2] supports BUILTIN_DTB_SOURCE for other SoCs. However, this feature will only work if the Kconfig we use links the dtb we expected in the first place as mentioned in the thread [3]. Thus, a config BUILTIN_DTB_SOURCE is needed for all SoCs to choose one dtb to use. For some considerations, this patch also removes default y if XIP_KERNEL for BUILTIN_DTB, as this requires setting a proper dtb to use on the BUILTIN_DTB_SOURCE, else the kernel with XIP but does not set BUILTIN_DTB_SOURCE or unselect BUILTIN_DTB will not boot. Also, this patch removes the default dtb string for k210 from Kconfig to nommu_k210_defconfig and nommu_k210_sdcard_defconfig to avoid complex Kconfig settings for other SoCs in the future. [1] https://lore.kernel.org/linux-riscv/20201208073355.40828-5-damien.lemoal@wdc.com/ [2] https://lore.kernel.org/linux-riscv/20210604120639.1447869-1-alex@ghiti.fr/ [3] https://lore.kernel.org/linux-riscv/CAK7LNATt_56mO2Le4v4EnPnAfd3gC8S_Sm5-GCsfa=qXy=8Lrg@mail.gmail.com/ Signed-off-by: Yangyu Chen <cyy@cyyself.name> Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Acked-by: Palmer Dabbelt <palmer@rivosinc.com> Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
87 lines
1.9 KiB
Text
87 lines
1.9 KiB
Text
menu "SoC selection"
|
|
|
|
config ARCH_MICROCHIP_POLARFIRE
|
|
def_bool SOC_MICROCHIP_POLARFIRE
|
|
|
|
config SOC_MICROCHIP_POLARFIRE
|
|
bool "Microchip PolarFire SoCs"
|
|
help
|
|
This enables support for Microchip PolarFire SoC platforms.
|
|
|
|
config ARCH_RENESAS
|
|
bool "Renesas RISC-V SoCs"
|
|
help
|
|
This enables support for the RISC-V based Renesas SoCs.
|
|
|
|
config ARCH_SIFIVE
|
|
def_bool SOC_SIFIVE
|
|
|
|
config SOC_SIFIVE
|
|
bool "SiFive SoCs"
|
|
select ERRATA_SIFIVE if !XIP_KERNEL
|
|
help
|
|
This enables support for SiFive SoC platform hardware.
|
|
|
|
config ARCH_SOPHGO
|
|
bool "Sophgo SoCs"
|
|
help
|
|
This enables support for Sophgo SoC platform hardware.
|
|
|
|
config ARCH_STARFIVE
|
|
def_bool SOC_STARFIVE
|
|
|
|
config SOC_STARFIVE
|
|
bool "StarFive SoCs"
|
|
select PINCTRL
|
|
select RESET_CONTROLLER
|
|
select ARM_AMBA
|
|
help
|
|
This enables support for StarFive SoC platform hardware.
|
|
|
|
config ARCH_SUNXI
|
|
bool "Allwinner sun20i SoCs"
|
|
depends on MMU && !XIP_KERNEL
|
|
select ERRATA_THEAD
|
|
select SUN4I_TIMER
|
|
help
|
|
This enables support for Allwinner sun20i platform hardware,
|
|
including boards based on the D1 and D1s SoCs.
|
|
|
|
config ARCH_THEAD
|
|
bool "T-HEAD RISC-V SoCs"
|
|
depends on MMU && !XIP_KERNEL
|
|
select ERRATA_THEAD
|
|
help
|
|
This enables support for the RISC-V based T-HEAD SoCs.
|
|
|
|
config ARCH_VIRT
|
|
def_bool SOC_VIRT
|
|
|
|
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 PM_GENERIC_DOMAINS if PM
|
|
select PM_GENERIC_DOMAINS_OF if PM && OF
|
|
select RISCV_SBI_CPUIDLE if CPU_IDLE && RISCV_SBI
|
|
help
|
|
This enables support for QEMU Virt Machine.
|
|
|
|
config ARCH_CANAAN
|
|
def_bool SOC_CANAAN
|
|
|
|
config SOC_CANAAN
|
|
bool "Canaan Kendryte K210 SoC"
|
|
depends on !MMU
|
|
select CLINT_TIMER if RISCV_M_MODE
|
|
select ARCH_HAS_RESET_CONTROLLER
|
|
select PINCTRL
|
|
select COMMON_CLK
|
|
help
|
|
This enables support for Canaan Kendryte K210 SoC platform hardware.
|
|
|
|
endmenu # "SoC selection"
|