From cf75824379547ad0e624b42c683e6483a4c0773a Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Mon, 12 Mar 2012 16:12:13 +0000 Subject: [PATCH] ramips: add RT3350 detection git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30900 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../ramips/files/arch/mips/include/asm/mach-ralink/rt305x.h | 6 ++++++ .../files/arch/mips/include/asm/mach-ralink/rt305x_regs.h | 3 +++ target/linux/ramips/files/arch/mips/ralink/rt305x/rt305x.c | 3 +++ 3 files changed, 12 insertions(+) diff --git a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt305x.h b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt305x.h index 9aab64f459..2c62a1689b 100644 --- a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt305x.h +++ b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt305x.h @@ -20,6 +20,7 @@ enum rt305x_soc_type { RT305X_SOC_UNKNOWN = 0, RT305X_SOC_RT3050, RT305X_SOC_RT3052, + RT305X_SOC_RT3350, RT305X_SOC_RT3352, }; @@ -40,6 +41,11 @@ static inline int soc_is_rt305x(void) return soc_is_rt3050() || soc_is_rt3052(); } +static inline int soc_is_rt3350(void) +{ + return rt305x_soc == RT305X_SOC_RT3350; +} + static inline int soc_is_rt3352(void) { return rt305x_soc == RT305X_SOC_RT3352; diff --git a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt305x_regs.h b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt305x_regs.h index 819f1ee606..9e1aa66429 100644 --- a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt305x_regs.h +++ b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt305x_regs.h @@ -60,6 +60,9 @@ #define RT3052_CHIP_NAME0 0x30335452 #define RT3052_CHIP_NAME1 0x20203235 +#define RT3350_CHIP_NAME0 0x33335452 +#define RT3350_CHIP_NAME1 0x20203035 + #define RT3352_CHIP_NAME0 0x33335452 #define RT3352_CHIP_NAME1 0x20203235 diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/rt305x.c b/target/linux/ramips/files/arch/mips/ralink/rt305x/rt305x.c index 863972eba0..831db84c73 100644 --- a/target/linux/ramips/files/arch/mips/ralink/rt305x/rt305x.c +++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/rt305x.c @@ -48,6 +48,9 @@ void __init ramips_soc_prom_init(void) rt305x_soc = RT305X_SOC_RT3052; name = "RT3052"; } + } else if (n0 == RT3350_CHIP_NAME0 && n1 == RT3350_CHIP_NAME1) { + rt305x_soc = RT305X_SOC_RT3350; + name = "RT3350"; } else if (n0 == RT3352_CHIP_NAME0 && n1 == RT3352_CHIP_NAME1) { rt305x_soc = RT305X_SOC_RT3352; name = "RT3352";