diff -drupN a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig --- a/arch/arm/mach-sunxi/Kconfig 2018-08-06 17:23:04.000000000 +0300 +++ b/arch/arm/mach-sunxi/Kconfig 2022-06-12 05:28:14.000000000 +0300 @@ -1,50 +1,274 @@ -menuconfig ARCH_SUNXI - bool "Allwinner SoCs" - depends on ARCH_MULTI_V7 - select ARCH_HAS_RESET_CONTROLLER +if ARCH_SUNXI + +choice + prompt "Select the architecture of SoC" + default ARCH_SUN8I + help + Select the architecture for SoC + sunxi + `-- sun8i ----- Cortex-A7 based Family SoCs + +config ARCH_SUN8I + bool "Allwinner A7 smp SoCs" + select ARM_GIC + select CPU_V7 + select HAVE_SMP + select HAVE_ARM_ARCH_TIMER + select SUN4I_TIMER + select MIGHT_HAVE_CACHE_L2X0 + select PINCTRL + select PINCTRL_SUNXI + select ARCH_REQUIRE_GPIOLIB + select COMMON_CLK + select CLKDEV_LOOKUP select CLKSRC_MMIO + select CLKSRC_OF + select GENERIC_CLOCKEVENTS select GENERIC_IRQ_CHIP - select GPIOLIB - select PINCTRL - select SUN4I_TIMER - select RESET_CONTROLLER + select SPARSE_IRQ + select GENERIC_ALLOCATOR + help + Allwinner A7 smp SoCs(sun8i) +endchoice -if ARCH_SUNXI +# Select the wafer with sun8i -config MACH_SUN4I - bool "Allwinner A10 (sun4i) SoCs support" - default ARCH_SUNXI +if ARCH_SUN8I +choice + prompt "Select the wafer with arch sun8i" + default ARCH_SUN8IW11 + help + Select the wafer with arch sun8i -config MACH_SUN5I - bool "Allwinner A10s / A13 (sun5i) SoCs support" - default ARCH_SUNXI - select SUN5I_HSTIMER +config ARCH_SUN8IW11 + bool "Allwinner sun8iw11 SoCs" + select HAVE_UNSTABLE_SCHED_CLOCK + help + Allwinner sun8iw11 SoCs -config MACH_SUN6I - bool "Allwinner A31 (sun6i) SoCs support" - default ARCH_SUNXI - select ARM_GIC - select MFD_SUN6I_PRCM - select SUN5I_HSTIMER +config ARCH_SUN8IW12 + bool "Allwinner sun8iw12 SoCs" + help + Allwinner sun8iw12 SoCs +config ARCH_SUN8IW15 + bool "Allwinner sun8iw15 SoCs" + help + Allwinner sun8iw15 SoCs +config ARCH_SUN8IW16 + bool "Allwinner sun8iw16 SoCs" + help + Allwinner sun8iw16 SoCs +config ARCH_SUN8IW17 + bool "Allwinner sun8iw17 SoCs" + help + Allwinner sun8iw17 SoCs +config ARCH_SUN8IW8 + bool "Allwinner sun8iw8 SoCs" + help + Allwinner sun8iw8 SoCs +config ARCH_SUN8IW7 + bool "Allwinner sun8iw7 SoCs" + help + Allwinner sun8iw7 SoCs +config ARCH_SUN8IW6 + bool "Allwinner sun8iw6 SoCs" + help + Allwinner sun8iw6 SoCs +config ARCH_SUN8IW18 + bool "Allwinner sun8iw18 SoCs" + help + Allwinner sun8iw18 SoCs +config ARCH_SUN8IW19 + bool "Allwinner sun8iw19 SoCs" + help + Allwinner sun8iw19 SoCs -config MACH_SUN7I - bool "Allwinner A20 (sun7i) SoCs support" - default ARCH_SUNXI - select ARM_GIC - select ARM_PSCI - select ARCH_SUPPORTS_BIG_ENDIAN - select HAVE_ARM_ARCH_TIMER - select SUN5I_HSTIMER +endchoice +endif -config MACH_SUN8I - bool "Allwinner sun8i Family SoCs support" - default ARCH_SUNXI - select ARM_GIC - select MFD_SUN6I_PRCM +# Select the SoC with specific arch and wafer -config MACH_SUN9I - bool "Allwinner (sun9i) SoCs support" - default ARCH_SUNXI - select ARM_GIC +if ARCH_SUN8IW8 +choice + prompt "Select the SoC with wafer sun8iw8" + default ARCH_SUN8IW8P1 + help + Select the SoC with wafer sun8iw8 + +config ARCH_SUN8IW8P1 + bool "Allwinner sun8iw8p1 SoC" + help + Allwinner sun8iw8p1 SoC +endchoice +endif + +if ARCH_SUN8IW11 +choice + prompt "Select the SoC with wafer sun8iw11" + default ARCH_SUN8IW11P1 + help + Select the SoC with wafer sun8iw11 + +config ARCH_SUN8IW11P1 + bool "Allwinner sun8iw11p1 SoC" + help + Allwinner sun8iw11p1 SoC +endchoice +endif + +if ARCH_SUN8IW12 +choice + prompt "Select the SoC with wafer sun8iw12" + default ARCH_SUN8IW12P1 + help + Select the SoC with wafer sun8iw12 + +config ARCH_SUN8IW12P1 + bool "Allwinner sun8iw12p1 SoC" + help + Allwinner sun8iw12p1 SoC +endchoice +endif + +if ARCH_SUN8IW15 +choice + prompt "Select the SoC with wafer sun8iw15" + default ARCH_SUN8IW15P1 + help + Select the SoC with wafer sun8iw15 + +config ARCH_SUN8IW15P1 + bool "Allwinner sun8iw15p1 SoC" + help + Allwinner sun8iw15p1 SoC +endchoice +endif + +if ARCH_SUN8IW16 +choice + prompt "Select the SoC with wafer sun8iw15" + default ARCH_SUN8IW16P1 + help + Select the SoC with wafer sun8iw16 + +config ARCH_SUN8IW16P1 + bool "Allwinner sun8iw16p1 SoC" + help + Allwinner sun8iw16p1 SoC +endchoice +endif + +if ARCH_SUN8IW17 +choice + prompt "Select the SoC with wafer sun8iw17" + default ARCH_SUN8IW17P1 + help + Select the SoC with wafer sun8iw17 + +config ARCH_SUN8IW17P1 + bool "Allwinner sun8iw17p1 SoC" + help + Allwinner sun8iw17p1 SoC +endchoice +endif + +if ARCH_SUN8IW7 +choice + prompt "Select the SoC with wafer sun8iw7" + default ARCH_SUN8IW7P1 + help + Select the SoC with wafer sun8iw7 + +config ARCH_SUN8IW7P1 + bool "Allwinner sun8iw7p1 SoC" + help + Allwinner sun8iw7p1 SoC +endchoice +endif + +if ARCH_SUN8IW6 +choice + prompt "Select the SoC with wafer sun8iw6" + default ARCH_SUN8IW6P1 + help + Select the SoC with wafer sun8iw7 + +config ARCH_SUN8IW6P1 + bool "Allwinner sun8iw6p1 SoC" + help + Allwinner sun8iw6p1 SoC +endchoice +endif + +if ARCH_SUN8IW18 +choice + prompt "Select the SoC with wafer sun8iw18" + default ARCH_SUN8IW18P1 + help + Select the SoC with wafer sun8iw18 + +config ARCH_SUN8IW18P1 + bool "Allwinner sun8iw18p1 SoC" + help + Allwinner sun8iw18p1 SoC +endchoice +endif + +if ARCH_SUN8IW19 +choice + prompt "Select the SoC with wafer sun8iw19" + default ARCH_SUN8IW19P1 + help + Select the SoC with wafer sun8iw19 + +config ARCH_SUN8IW19P1 + bool "Allwinner sun8iw19p1 SoC" + help + Allwinner sun8iw19p1 SoC +endchoice +endif + +config SUNXI_GIC_ACCESS_SS + bool "Enable Sunxi GIC Access SS Protect" + depends on ARCH_SUN8IW6 + default n + help + Support for Sunxi GIC Access SS Protect + +config SUN8I_CCI + bool "Cache Coherent Interconnect support" + depends on ARCH_SUN8IW6 || ARCH_SUN8IW17 + default n + help + Enable Cache Coherent Interconnect support + +# Select the board between FPGA and EVB + +choice + prompt "Allwinner development Board" + depends on ARCH_SUNXI + default FPGA_V4_PLATFORM + +config FPGA_V4_PLATFORM + bool "FPGAv4 board" + help + Support for Allwinner's FPGAv4 board + +config FPGA_V7_PLATFORM + bool "FPGAv7 board" + help + Support for Allwinner's FPGAv4 board + +config EVB_PLATFORM + bool "EVB board" + help + Support for Allwinner's EVB board +endchoice + +config SUNXI_SOC_NAME + string "The name of Sunxi SoC" + default "" + help + Used for /proc/cpuinfo and /sys/.../sysinfo. endif