DeathCamel58 / meta-hisilicon-bsp

A Yocto BSP for various Hisilicon CPUs
MIT License
0 stars 0 forks source link

Linux: Support `6.2.y` #3

Open DeathCamel58 opened 1 year ago

DeathCamel58 commented 1 year ago

Here's what needs to get done:

# 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

DeathCamel58 commented 1 year ago

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?