soc: rockchip: cpuinfo: Add support for rk3566/rk3568

Change-Id: I199d08b0447b9d761c93a4cb8b97fe20fd2c18b8
Signed-off-by: Liang Chen <cl@rock-chips.com>
This commit is contained in:
Liang Chen
2020-12-29 15:18:28 +08:00
committed by Tao Huang
parent 5d0d27792b
commit 3b83bef0ab
2 changed files with 39 additions and 0 deletions

View File

@@ -159,6 +159,16 @@ static void rk3308_init(void)
}
}
static void rk3566_init(void)
{
rockchip_soc_id = ROCKCHIP_SOC_RK3566;
}
static void rk3568_init(void)
{
rockchip_soc_id = ROCKCHIP_SOC_RK3568;
}
static int __init rockchip_soc_id_init(void)
{
if (cpu_is_rk3288()) {
@@ -174,6 +184,10 @@ static int __init rockchip_soc_id_init(void)
rv1109_init();
} else if (cpu_is_rv1126()) {
rv1126_init();
} else if (cpu_is_rk3566()) {
rk3566_init();
} else if (cpu_is_rk3568()) {
rk3568_init();
}
return 0;

View File

@@ -23,6 +23,8 @@
#define ROCKCHIP_CPU_RK312X 0x31260000
#define ROCKCHIP_CPU_RK3288 0x32880000
#define ROCKCHIP_CPU_RK3308 0x33080000
#define ROCKCHIP_CPU_RK3566 0x35660000
#define ROCKCHIP_CPU_RK3568 0x35680000
#if IS_ENABLED(CONFIG_ROCKCHIP_CPUINFO)
@@ -127,6 +129,25 @@ static inline bool cpu_is_rk3308(void)
static inline bool cpu_is_rk3308(void) { return false; }
#endif
#if defined(CONFIG_CPU_RK3568)
static inline bool cpu_is_rk3566(void)
{
if (rockchip_soc_id)
return (rockchip_soc_id & ROCKCHIP_CPU_MASK) == ROCKCHIP_CPU_RK3566;
return of_machine_is_compatible("rockchip,rk3566");
}
static inline bool cpu_is_rk3568(void)
{
if (rockchip_soc_id)
return (rockchip_soc_id & ROCKCHIP_CPU_MASK) == ROCKCHIP_CPU_RK3568;
return of_machine_is_compatible("rockchip,rk3568");
}
#else
static inline bool cpu_is_rk3566(void) { return false; }
static inline bool cpu_is_rk3568(void) { return false; }
#endif
#define ROCKCHIP_SOC_MASK (ROCKCHIP_CPU_MASK | 0xff)
#define ROCKCHIP_SOC_RV1109 (ROCKCHIP_CPU_RV1109 | 0x00)
#define ROCKCHIP_SOC_RV1126 (ROCKCHIP_CPU_RV1126 | 0x00)
@@ -138,6 +159,8 @@ static inline bool cpu_is_rk3308(void) { return false; }
#define ROCKCHIP_SOC_RK3288W (ROCKCHIP_CPU_RK3288 | 0x01)
#define ROCKCHIP_SOC_RK3308 (ROCKCHIP_CPU_RK3308 | 0x00)
#define ROCKCHIP_SOC_RK3308B (ROCKCHIP_CPU_RK3308 | 0x01)
#define ROCKCHIP_SOC_RK3566 (ROCKCHIP_CPU_RK3566 | 0x00)
#define ROCKCHIP_SOC_RK3568 (ROCKCHIP_CPU_RK3568 | 0x00)
#define ROCKCHIP_SOC(id, ID) \
static inline bool soc_is_##id(void) \
@@ -157,5 +180,7 @@ ROCKCHIP_SOC(rk3288, RK3288)
ROCKCHIP_SOC(rk3288w, RK3288W)
ROCKCHIP_SOC(rk3308, RK3308)
ROCKCHIP_SOC(rk3308b, RK3308B)
ROCKCHIP_SOC(rk3566, RK3566)
ROCKCHIP_SOC(rk3568, RK3568)
#endif