{
const char *type;
- if (cpu_is_rk3188())
+ if (cpu_is_rk319x())
+ type = "rk319x";
+ else if (cpu_is_rk3188())
type = "rk3188";
else if (cpu_is_rk3066b())
type = "rk3066b";
{
const char *soc;
- if (soc_is_rk3188plus())
+ if (soc_is_rk3190())
+ soc = "rk3190";
+ else if (soc_is_rk3188plus())
soc = "rk3188+";
else if (soc_is_rk3188())
soc = "rk3188";
static inline bool soc_is_rk2926(void) { return false; }
#endif
-#if defined(CONFIG_ARCH_RK30) || defined(CONFIG_ARCH_RK3188) || defined(CONFIG_ARCH_RK3026)
+#if defined(CONFIG_ARCH_RK30) || defined(CONFIG_ARCH_RK3188) || defined(CONFIG_ARCH_RK3026) || defined(CONFIG_ARCH_RK319X)
static inline bool cpu_is_rk30xx(void)
{
return readl_relaxed(RK30_ROM_BASE + 0x27f0) == 0x33303041
&& readl_relaxed(RK30_ROM_BASE + 0x3ff8) == 0x30353239
&& readl_relaxed(RK30_ROM_BASE + 0x3ffc) == 0x56313031;
}
+
+static inline bool cpu_is_rk319x(void)
+{
+ return readl_relaxed(RK30_ROM_BASE + 0x3ff0) == 0x33313042
+ && readl_relaxed(RK30_ROM_BASE + 0x3ff4) == 0x32303133
+ && readl_relaxed(RK30_ROM_BASE + 0x3ff8) == 0x30383237
+ && readl_relaxed(RK30_ROM_BASE + 0x3ffc) == 0x56313031;
+}
#else
static inline bool cpu_is_rk30xx(void) { return false; }
static inline bool cpu_is_rk3066b(void) { return false; }
static inline bool soc_is_rk3188(void) { return false; }
static inline bool soc_is_rk3188plus(void) { return false; }
static inline bool cpu_is_rk3026(void) { return false; }
+static inline bool cpu_is_rk319x(void) { return false; }
#endif
#if defined(CONFIG_ARCH_RK30) || defined(CONFIG_ARCH_RK3188)
static inline bool soc_is_rk3028a(void) { return false; }
#endif
+#ifdef CONFIG_SOC_RK3190
+static inline bool soc_is_rk3190(void) { return true; }
+#else
+static inline bool soc_is_rk3190(void) { return false; }
+#endif
+
#endif