From 549386c8233569ed9bbb306002c46f2ab8af64ce Mon Sep 17 00:00:00 2001 From: Sandy Huang Date: Thu, 8 Dec 2022 11:46:29 +0800 Subject: [PATCH] soc: rockchip: cpuinfo: Add support for rk3528 Signed-off-by: Sandy Huang Change-Id: I0c2ba1875faa224afd60065f7a17b4d247ac0ab0 --- drivers/soc/rockchip/rockchip-cpuinfo.c | 9 ++++++++- include/linux/rockchip/cpu.h | 14 ++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/drivers/soc/rockchip/rockchip-cpuinfo.c b/drivers/soc/rockchip/rockchip-cpuinfo.c index 34e96122d702..9eea6f32a576 100644 --- a/drivers/soc/rockchip/rockchip-cpuinfo.c +++ b/drivers/soc/rockchip/rockchip-cpuinfo.c @@ -212,6 +212,11 @@ static void rk3308_init(void) } } +static void rk3528_init(void) +{ + rockchip_soc_id = ROCKCHIP_SOC_RK3528; +} + #define RK356X_PMU_GRF_PHYS 0xfdc20000 #define RK356X_PMU_GRF_SOC_CON0 0x00000100 #define RK356X_CHIP_VERSION_MASK 0x00008000 @@ -261,7 +266,9 @@ int rockchip_soc_id_init(void) rv1109_init(); } else if (cpu_is_rv1126()) { rv1126_init(); - } else if (cpu_is_rk3566()) { + } else if (cpu_is_rk3528()) { + rk3528_init(); + } else if (cpu_is_rk3566()) { rk3566_init(); } else if (cpu_is_rk3568()) { rk3568_init(); diff --git a/include/linux/rockchip/cpu.h b/include/linux/rockchip/cpu.h index ed881b1c1657..7cf949cd9ac4 100644 --- a/include/linux/rockchip/cpu.h +++ b/include/linux/rockchip/cpu.h @@ -26,6 +26,7 @@ #define ROCKCHIP_CPU_RK312X 0x31260000 #define ROCKCHIP_CPU_RK3288 0x32880000 #define ROCKCHIP_CPU_RK3308 0x33080000 +#define ROCKCHIP_CPU_RK3528 0x35280000 #define ROCKCHIP_CPU_RK3566 0x35660000 #define ROCKCHIP_CPU_RK3568 0x35680000 @@ -175,6 +176,17 @@ static inline bool cpu_is_rk3308(void) static inline bool cpu_is_rk3308(void) { return false; } #endif +#if defined(CONFIG_CPU_RK3528) +static inline bool cpu_is_rk3528(void) +{ + if (rockchip_soc_id) + return (rockchip_soc_id & ROCKCHIP_CPU_MASK) == ROCKCHIP_CPU_RK3528; + return of_machine_is_compatible("rockchip,rk3528"); +} +#else +static inline bool cpu_is_rk3528(void) { return false; } +#endif + #if defined(CONFIG_CPU_RK3568) static inline bool cpu_is_rk3566(void) { @@ -210,6 +222,7 @@ static inline bool cpu_is_rk3568(void) { return false; } #define ROCKCHIP_SOC_RK3308 (ROCKCHIP_CPU_RK3308 | 0x00) #define ROCKCHIP_SOC_RK3308B (ROCKCHIP_CPU_RK3308 | 0x01) #define ROCKCHIP_SOC_RK3308BS (ROCKCHIP_CPU_RK3308 | 0x02) +#define ROCKCHIP_SOC_RK3528 (ROCKCHIP_CPU_RK3528 | 0x00) #define ROCKCHIP_SOC_RK3566 (ROCKCHIP_CPU_RK3566 | 0x00) #define ROCKCHIP_SOC_RK3568 (ROCKCHIP_CPU_RK3568 | 0x00) @@ -238,6 +251,7 @@ ROCKCHIP_SOC(RK3288, rk3288w, RK3288W) ROCKCHIP_SOC(RK3308, rk3308, RK3308) ROCKCHIP_SOC(RK3308, rk3308b, RK3308B) ROCKCHIP_SOC(RK3308, rk3308bs, RK3308BS) +ROCKCHIP_SOC(RK3528, rk3528, RK3528) ROCKCHIP_SOC(RK3568, rk3566, RK3566) ROCKCHIP_SOC(RK3568, rk3568, RK3568)