From: 黄涛 <huangtao@rock-chips.com>
Date: Fri, 22 Feb 2013 07:49:03 +0000 (+0800)
Subject: rk: Kconfig add RK3168M support, add SOC_RK3168M config, add RK3168M TB config
X-Git-Tag: firefly_0821_release~7575
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=83e7b770baf0158aa318fc3e22ab7a3a7a28e8d4;p=firefly-linux-kernel-4.4.55.git

rk: Kconfig add RK3168M support, add SOC_RK3168M config, add RK3168M TB config
---

diff --git a/arch/arm/mach-rk30/Kconfig b/arch/arm/mach-rk30/Kconfig
index 377883062c16..393c1229acd3 100755
--- a/arch/arm/mach-rk30/Kconfig
+++ b/arch/arm/mach-rk30/Kconfig
@@ -1,13 +1,14 @@
-if ARCH_RK30
-
 config ARCH_RK30XX
+	depends on ARCH_RK30
 	bool
 
 config ARCH_RK3066B
+	depends on ARCH_RK30
 	bool
 
 choice
 	prompt "Rockchip SoC Type"
+	depends on ARCH_RK30
 	default SOC_RK3066
 
 config SOC_RK3000
@@ -37,12 +38,16 @@ config SOC_RK3168
 	select ARCH_RK3066B
 	select USB_ARCH_HAS_EHCI
 
-endchoice
+config SOC_RK3168M
+	bool "RK3168M"
+	select ARCH_RK3066B
+	select USB_ARCH_HAS_EHCI
 
-if ARCH_RK30XX
+endchoice
 
 choice
 	prompt "RK30xx Board Type"
+	depends on ARCH_RK30XX
 	default MACH_RK30_SDK
 
 config MACH_RK30_SDK
@@ -71,9 +76,9 @@ config MACH_RK30_PHONE_PAD
 	
 endchoice
 
-if MACH_RK30_PHONE_PAD
 choice
 	prompt "RK30 phone pad board type"
+	depends on MACH_RK30_PHONE_PAD
 	default MACH_RK30_PHONE_PAD_DS763
 
 	config MACH_RK30_PHONE_PAD_DS763
@@ -83,13 +88,10 @@ choice
 	bool "c8003"
 
 endchoice
-endif
-
-endif
 
-if SOC_RK3066B
 choice
 	prompt "RK3066B Board Type"
+	depends on SOC_RK3066B
 
 config MACH_RK3066B_FPGA
 	bool "RK3066B FPGA board"
@@ -102,21 +104,28 @@ config MACH_RK3066B_M701
 	bool "RK3066B M701 board"
 
 endchoice
-endif
 
-if SOC_RK3108
+choice
+	prompt "RK3168M Board Type"
+	depends on SOC_RK3168M
+
+config MACH_RK3168M_TB
+	bool "RK3168M Top Board"
+
+endchoice
+
 choice
 	prompt "RK3108 Board Type"
+	depends on SOC_RK3108
 
 config MACH_RK3108_TB
 	bool "RK3108 Top Board"
 
 endchoice
-endif
 
-if SOC_RK3168
 choice
 	prompt "RK3168 Board Type"
+	depends on SOC_RK3168
 
 config MACH_RK3168_TB
 	bool "RK3168 Top Board"
@@ -130,8 +139,4 @@ config MACH_RK3168_DS1006H
 config MACH_RK3168_86V
 	bool "RK3168 86V Board"
 
-
 endchoice
-endif
-
-endif
diff --git a/arch/arm/mach-rk30/Makefile b/arch/arm/mach-rk30/Makefile
index 10364157106e..53d7fba54459 100755
--- a/arch/arm/mach-rk30/Makefile
+++ b/arch/arm/mach-rk30/Makefile
@@ -35,6 +35,7 @@ obj-$(CONFIG_MACH_RK30_PHONE_A22) += board-rk30-phone-a22.o board-rk30-phone-a22
 obj-$(CONFIG_MACH_RK3066B_FPGA) += board-rk3066b-fpga.o
 obj-$(CONFIG_MACH_RK3066B_SDK) += board-rk3066b-sdk.o
 obj-$(CONFIG_MACH_RK3066B_M701) += board-rk3066b-m701.o
+obj-$(CONFIG_MACH_RK3168M_TB) += board-rk3168m-tb.o
 obj-$(CONFIG_MACH_RK3108_TB) += board-rk3108-tb.o
 obj-$(CONFIG_MACH_RK3168_TB) += board-rk3168-tb.o
 obj-$(CONFIG_MACH_RK3168_LR097) += board-rk3168-LR097.o
diff --git a/arch/arm/plat-rk/include/plat/cpu.h b/arch/arm/plat-rk/include/plat/cpu.h
index 2db2016cbf33..d7dfec223f37 100644
--- a/arch/arm/plat-rk/include/plat/cpu.h
+++ b/arch/arm/plat-rk/include/plat/cpu.h
@@ -74,9 +74,15 @@ static inline bool soc_is_rk3108(void)
 {
 	return (((readl_relaxed(RK30_GPIO1_BASE + GPIO_EXT_PORT) >> 22) & 3) == 1);
 }
+
+static inline bool soc_is_rk3168m(void)
+{
+	return (((readl_relaxed(RK30_GPIO1_BASE + GPIO_EXT_PORT) >> 22) & 3) == 3);
+}
 #else
 static inline bool soc_is_rk3066b(void) { return false; }
 static inline bool soc_is_rk3108(void) { return false; }
+static inline bool soc_is_rk3168m(void) { return false; }
 #endif
 static inline bool soc_is_rk3168(void) { return soc_is_rk3108(); }