rk: move rk2928 cpu.h to plat-rk, add rk3066b cpu.h
author黄涛 <huangtao@rock-chips.com>
Mon, 22 Oct 2012 10:50:52 +0000 (18:50 +0800)
committer黄涛 <huangtao@rock-chips.com>
Mon, 22 Oct 2012 10:52:22 +0000 (18:52 +0800)
arch/arm/mach-rk2928/include/mach/cpu.h
arch/arm/mach-rk30/include/mach/cpu.h [new file with mode: 0644]
arch/arm/plat-rk/include/plat/cpu.h [new file with mode: 0644]

index 11fdb447ebb9dcc5a337cf76969702b5de54bf5c..f5243639e8af1cff59e7ecb00dffb20fec77eecb 100755 (executable)
@@ -1,28 +1,11 @@
 #ifndef __MACH_CPU_H
 #define __MACH_CPU_H
 
-#include <mach/io.h>
-#include <linux/io.h>
-
-#define SOC_RK2928G     0x01
-#define SOC_RK2928L     0x02
-#define SOC_RK2926      0x00
+#include <plat/cpu.h>
 
 static inline void soc_gpio_init(void)
 {
         writel_relaxed(readl_relaxed(RK2928_GPIO3_BASE + 0x04) & (~0x07), RK2928_GPIO3_BASE + 0x04);
 }
-static inline int soc_is_rk2928g(void)
-{
-        return ((readl_relaxed(RK2928_GPIO3_BASE + 0x50) & 0x07) == SOC_RK2928G);
-}
-static inline int soc_is_rk2928l(void)
-{
-        return ((readl_relaxed(RK2928_GPIO3_BASE + 0x50) & 0x07) == SOC_RK2928L);
-}
-static inline int soc_is_rk2926(void)
-{
-        return ((readl_relaxed(RK2928_GPIO3_BASE + 0x50) & 0x07) == SOC_RK2926);
-}
-        
+
 #endif
diff --git a/arch/arm/mach-rk30/include/mach/cpu.h b/arch/arm/mach-rk30/include/mach/cpu.h
new file mode 100644 (file)
index 0000000..40195f1
--- /dev/null
@@ -0,0 +1 @@
+#include <plat/cpu.h>
diff --git a/arch/arm/plat-rk/include/plat/cpu.h b/arch/arm/plat-rk/include/plat/cpu.h
new file mode 100644 (file)
index 0000000..a027c96
--- /dev/null
@@ -0,0 +1,48 @@
+#ifndef __PLAT_CPU_H
+#define __PLAT_CPU_H
+
+#include <mach/io.h>
+#include <mach/gpio.h>
+#include <linux/io.h>
+
+#ifdef CONFIG_ARCH_RK2928
+#define SOC_RK2928G     0x01
+#define SOC_RK2928L     0x02
+#define SOC_RK2926      0x00
+
+static inline bool soc_is_rk2928g(void)
+{
+       return ((readl_relaxed(RK2928_GPIO3_BASE + 0x50) & 0x07) == SOC_RK2928G);
+}
+
+static inline bool soc_is_rk2928l(void)
+{
+       return ((readl_relaxed(RK2928_GPIO3_BASE + 0x50) & 0x07) == SOC_RK2928L);
+}
+
+static inline bool soc_is_rk2926(void)
+{
+       return ((readl_relaxed(RK2928_GPIO3_BASE + 0x50) & 0x07) == SOC_RK2926);
+}
+#else
+static inline bool soc_is_rk2928g(void) { return false; }
+static inline bool soc_is_rk2928l(void) { return false; }
+static inline bool soc_is_rk2926(void) { return false; }
+#endif
+
+#ifdef CONFIG_ARCH_RK3066B
+static inline bool soc_is_rk3066b(void)
+{
+       return (((readl_relaxed(RK30_GPIO1_BASE + GPIO_EXT_PORT) >> 22) & 3) == 0);
+}
+
+static inline bool soc_is_rk3108(void)
+{
+       return (((readl_relaxed(RK30_GPIO1_BASE + GPIO_EXT_PORT) >> 22) & 3) == 1);
+}
+#else
+static inline bool soc_is_rk3066b(void) { return false; }
+static inline bool soc_is_rk3108(void) { return false; }
+#endif
+
+#endif