mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 11:50:43 +09:00
soc: rockchip: cpuinfo: Add support for rv1126/rv1109
This patch add support for rv1126/rv1109 soc. Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com> Change-Id: Id27ce5bd3dd5c4e4f3273e09fbebcfd6a5d5f085
This commit is contained in:
@@ -99,6 +99,16 @@ static struct platform_driver rockchip_cpuinfo_driver = {
|
||||
},
|
||||
};
|
||||
|
||||
static void rv1109_init(void)
|
||||
{
|
||||
rockchip_soc_id = ROCKCHIP_SOC_RV1109;
|
||||
}
|
||||
|
||||
static void rv1126_init(void)
|
||||
{
|
||||
rockchip_soc_id = ROCKCHIP_SOC_RV1126;
|
||||
}
|
||||
|
||||
static void rk3288_init(void)
|
||||
{
|
||||
void __iomem *base;
|
||||
@@ -160,6 +170,10 @@ static int __init rockchip_soc_id_init(void)
|
||||
rk3126_init();
|
||||
} else if (cpu_is_rk3308()) {
|
||||
rk3308_init();
|
||||
} else if (cpu_is_rv1109()) {
|
||||
rv1109_init();
|
||||
} else if (cpu_is_rv1126()) {
|
||||
rv1126_init();
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
|
||||
#define ROCKCHIP_CPU_MASK 0xffff0000
|
||||
#define ROCKCHIP_CPU_SHIFT 16
|
||||
#define ROCKCHIP_CPU_RV1109 0x11090000
|
||||
#define ROCKCHIP_CPU_RV1126 0x11260000
|
||||
#define ROCKCHIP_CPU_RK312X 0x31260000
|
||||
#define ROCKCHIP_CPU_RK3288 0x32880000
|
||||
#define ROCKCHIP_CPU_RK3308 0x33080000
|
||||
@@ -68,6 +70,25 @@ static inline void rockchip_set_cpu(unsigned long code)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_CPU_RV1126) || defined(CONFIG_CPU_RV1109)
|
||||
static inline bool cpu_is_rv1109(void)
|
||||
{
|
||||
if (rockchip_soc_id)
|
||||
return (rockchip_soc_id & ROCKCHIP_CPU_MASK) == ROCKCHIP_CPU_RV1109;
|
||||
return of_machine_is_compatible("rockchip,rv1109");
|
||||
}
|
||||
|
||||
static inline bool cpu_is_rv1126(void)
|
||||
{
|
||||
if (rockchip_soc_id)
|
||||
return (rockchip_soc_id & ROCKCHIP_CPU_MASK) == ROCKCHIP_CPU_RV1126;
|
||||
return of_machine_is_compatible("rockchip,rv1126");
|
||||
}
|
||||
#else
|
||||
static inline bool cpu_is_rv1109(void) { return false; }
|
||||
static inline bool cpu_is_rv1126(void) { return false; }
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_CPU_RK312X
|
||||
static inline bool cpu_is_rk312x(void)
|
||||
{
|
||||
@@ -107,6 +128,8 @@ static inline bool cpu_is_rk3308(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)
|
||||
#define ROCKCHIP_SOC_RK3126 (ROCKCHIP_CPU_RK312X | 0x00)
|
||||
#define ROCKCHIP_SOC_RK3126B (ROCKCHIP_CPU_RK312X | 0x10)
|
||||
#define ROCKCHIP_SOC_RK3126C (ROCKCHIP_CPU_RK312X | 0x20)
|
||||
@@ -124,6 +147,8 @@ static inline bool soc_is_##id(void) \
|
||||
return of_machine_is_compatible("rockchip,"#id); \
|
||||
}
|
||||
|
||||
ROCKCHIP_SOC(rv1109, RV1109)
|
||||
ROCKCHIP_SOC(rv1126, RV1126)
|
||||
ROCKCHIP_SOC(rk3126, RK3126)
|
||||
ROCKCHIP_SOC(rk3126b, RK3126B)
|
||||
ROCKCHIP_SOC(rk3126c, RK3126C)
|
||||
|
||||
Reference in New Issue
Block a user