[ ] Add architectures to arch/arm/mach-hisi/KconfigWIP `arch/arm/mach-hisi/Kconfig`
# SPDX-License-Identifier: GPL-2.0-only
config ARCH_HISI
bool "Hisilicon SoC Support"
depends on ARCH_MULTI_V7 || (ARCH_MULTI_V5 && CPU_LITTLE_ENDIAN)
select ARM_AMBA
select ARM_GIC if ARCH_MULTI_V7
select ARM_TIMER_SP804
select POWER_RESET
select POWER_RESET_HISI
select POWER_SUPPLY
if ARCH_HISI
menu "Hisilicon platform type"
# May need to set ARCH_GODARM
config MACH_GODARM
bool "Support godarm platform"
select CPU_V7
select ARM_GIC
select ARM_AMBA
select CLKDEV_LOOKUP
select HAVE_CLK
select HAVE_SCHED_CLOCK
select GENERIC_TIME
select GENERIC_CLOCKEVENTS
help
Include support for the hisilion godarm(hi3521) platform.
# May need to set
config MACH_GODBOX
bool "Support godbox platform"
select CPU_V7
select ARM_GIC
select ARM_AMBA
select HAVE_CLK
select CLKDEV_LOOKUP
select HAVE_SCHED_CLOCK
select GENERIC_TIME
select GENERIC_CLOCKEVENTS
help
Include support for the hisilion GODBOX platform.
GODBOX support ARM CORTEX-A9 processer,
within a Generic Interrupt Controller.
Support DDR2 and DDR3.
# May need to set ARCH_GODBOX_V1
config MACH_GODBOX_V1
bool "Support godbox v1 platform"
select CPU_V7
select ARM_GIC
select ARM_AMBA
select HAVE_CLK
select CLKDEV_LOOKUP
select HAVE_SCHED_CLOCK
select GENERIC_TIME
select GENERIC_CLOCKEVENTS
help
Include support for the hisilion godbox v1 platform.
# May need to set ARCH_GODCUBE
config MACH_GODCUBE
bool "Support Godcube platform"
select CPU_ARM926T
select ARM_AMBA
select CLKDEV_LOOKUP
select HAVE_CLK
select ARM_VIC
select HAVE_SCHED_CLOCK
select GENERIC_TIME
select GENERIC_CLOCKEVENTS
help
Include support for the hisilion godcube(hi3532) platform.
This includes specific configurations for the module and
its peripherals.
# May need to set ARCH_GODNET
config MACH_GODNET
bool "Support Godnet platform"
select CPU_V7
select ARM_GIC
select ARM_AMBA
select CLKDEV_LOOKUP
select HAVE_CLK
select HAVE_SCHED_CLOCK
select GENERIC_TIME
select GENERIC_CLOCKEVENTS
help
Include support for the hisilion godnet(hi3531) platform.
# May need to set
config MACH_HI3518
bool "Support Hi3518 platform"
select CPU_ARM926T
select ARM_AMBA
select CLKDEV_LOOKUP
select HAVE_CLK
select ARM_VIC
select HAVE_SCHED_CLOCK
select GENERIC_TIME
select GENERIC_CLOCKEVENTS
select ARCH_HAS_CPUFREQ
help
Includes support for the hisilion hi3518 platform.
This includes specific configurations for the module and
its peripherals.
# May need to set ARCH_HI3520D
config MACH_HI3520D
bool "Support hi3520d platform"
select CPU_V7
select ARM_GIC
select ARM_AMBA
select CLKDEV_LOOKUP
select HAVE_CLK
select HAVE_SCHED_CLOCK
select GENERIC_TIME
select GENERIC_CLOCKEVENTS
help
Include support for the hisilion hi3520d platform.
if MACH_GODARM || MACH_GODBOX || MACH_GODBOX_V1 || MACH_GODCUBE || MACH_GODNET || MACH_HI3518 || MACH_HI3520D
config DEFAULT_BUSCLK
int "DEFAULT_BUSCLK"
default "50000000"
help
Default AHB clock rate
endif
config ARCH_HI3xxx
bool "Hisilicon Hi36xx family"
depends on ARCH_MULTI_V7
select CACHE_L2X0
select HAVE_ARM_SCU if SMP
select HAVE_ARM_TWD if SMP
select PINCTRL
select PINCTRL_SINGLE
help
Support for Hisilicon Hi36xx SoC family
config ARCH_HIP01
bool "Hisilicon HIP01 family"
depends on ARCH_MULTI_V7
select HAVE_ARM_SCU if SMP
select HAVE_ARM_TWD if SMP
select ARM_GLOBAL_TIMER
help
Support for Hisilicon HIP01 SoC family
config ARCH_HIP04
bool "Hisilicon HiP04 Cortex A15 family"
depends on ARCH_MULTI_V7
select ARM_ERRATA_798181 if SMP
select HAVE_ARM_ARCH_TIMER
select MCPM if SMP
select MCPM_QUAD_CLUSTER if SMP
select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
help
Support for Hisilicon HiP04 SoC family
config ARCH_HIX5HD2
bool "Hisilicon X5HD2 family"
depends on ARCH_MULTI_V7
select CACHE_L2X0
select HAVE_ARM_SCU if SMP
select HAVE_ARM_TWD if SMP
select PINCTRL
select PINCTRL_SINGLE
help
Support for Hisilicon HIX5HD2 SoC family
config ARCH_SD5203
bool "Hisilicon SD5203 family"
depends on ARCH_MULTI_V5
select DW_APB_ICTL
help
Support for Hisilicon SD5203 SoC family
endmenu
endif
[ ] Add SoC source files in SDK's arch/arm/mach-[SoC]/* to the 6.2.y tree
[ ] Modify mach-hisi's Makefile to compile files for the correct SoC selection(s)
Looks like the Linaro Git hosting has support for the hi3620 as well as mainline. Turns out Linaro has a different implementation than the mainline. Maybe look into theirs for hints?
Here's what needs to get done:
arch/arm/mach-hisi/Kconfig
WIP `arch/arm/mach-hisi/Kconfig`
arch/arm/mach-[SoC]/*
to the6.2.y
treemach-hisi
'sMakefile
to compile files for the correct SoC selection(s)