summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-05-31 22:53:26 +0000
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-05-31 22:53:26 +0000
commita5e8c5446f44f938399efd4d674e35cb52d82191 (patch)
treea3e9ee03776f0ce4ce5bf9c796ec2ab340e12bfc
parent68169c24f2bd2c1e045f43e25b637338dcd41c49 (diff)
ar71xx: add preliminary support for the Atheros AR933x SoCs
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27054 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--target/linux/ar71xx/config-2.6.371
-rw-r--r--target/linux/ar71xx/config-2.6.381
-rw-r--r--target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig4
-rw-r--r--target/linux/ar71xx/files/arch/mips/ar71xx/setup.c14
-rw-r--r--target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h6
5 files changed, 22 insertions, 4 deletions
diff --git a/target/linux/ar71xx/config-2.6.37 b/target/linux/ar71xx/config-2.6.37
index c9dfcffc7..2aaaaf097 100644
--- a/target/linux/ar71xx/config-2.6.37
+++ b/target/linux/ar71xx/config-2.6.37
@@ -178,6 +178,7 @@ CONFIG_SLUB=y
CONFIG_SOC_AR71XX=y
CONFIG_SOC_AR724X=y
CONFIG_SOC_AR913X=y
+# CONFIG_SOC_AR933X is not set
CONFIG_SOC_AR934X=y
CONFIG_SPI=y
CONFIG_SPI_AP83=y
diff --git a/target/linux/ar71xx/config-2.6.38 b/target/linux/ar71xx/config-2.6.38
index 1e4a9ff1e..876582682 100644
--- a/target/linux/ar71xx/config-2.6.38
+++ b/target/linux/ar71xx/config-2.6.38
@@ -178,6 +178,7 @@ CONFIG_SLUB=y
CONFIG_SOC_AR71XX=y
CONFIG_SOC_AR724X=y
CONFIG_SOC_AR913X=y
+# CONFIG_SOC_AR933X is not set
CONFIG_SOC_AR934X=y
CONFIG_SPI=y
CONFIG_SPI_AP83=y
diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig b/target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig
index abc8346ff..d2ee303e3 100644
--- a/target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig
+++ b/target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig
@@ -393,4 +393,8 @@ config AR71XX_NVRAM
config AR71XX_PCI_ATH9K_FIXUP
def_bool n
+config SOC_AR933X
+ bool
+ select USB_ARCH_HAS_EHCI
+
endif
diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/setup.c b/target/linux/ar71xx/files/arch/mips/ar71xx/setup.c
index 7fd730c15..d70347041 100644
--- a/target/linux/ar71xx/files/arch/mips/ar71xx/setup.c
+++ b/target/linux/ar71xx/files/arch/mips/ar71xx/setup.c
@@ -143,10 +143,16 @@ static void __init ar71xx_detect_sys_type(void)
}
break;
- case REV_ID_MAJOR_AR9341:
- ar71xx_soc = AR71XX_SOC_AR9341;
- chip = "9341";
- rev = id & AR934X_REV_ID_REVISION_MASK;
+ case REV_ID_MAJOR_AR9330:
+ ar71xx_soc = AR71XX_SOC_AR9330;
+ chip = "9330";
+ rev = id & AR933X_REV_ID_REVISION_MASK;
+ break;
+
+ case REV_ID_MAJOR_AR9331:
+ ar71xx_soc = AR71XX_SOC_AR9331;
+ chip = "9331";
+ rev = id & AR933X_REV_ID_REVISION_MASK;
break;
case REV_ID_MAJOR_AR9342:
diff --git a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h
index 48c4a739d..9dc15fea3 100644
--- a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h
+++ b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h
@@ -127,6 +127,8 @@ enum ar71xx_soc_type {
AR71XX_SOC_AR7242,
AR71XX_SOC_AR9130,
AR71XX_SOC_AR9132,
+ AR71XX_SOC_AR9330,
+ AR71XX_SOC_AR9331,
AR71XX_SOC_AR9341,
AR71XX_SOC_AR9342,
AR71XX_SOC_AR9344,
@@ -641,6 +643,8 @@ void ar71xx_ddr_flush(u32 reg);
#define REV_ID_MAJOR_AR7240 0x00c0
#define REV_ID_MAJOR_AR7241 0x0100
#define REV_ID_MAJOR_AR7242 0x1100
+#define REV_ID_MAJOR_AR9330 0x0110
+#define REV_ID_MAJOR_AR9331 0x1110
#define REV_ID_MAJOR_AR9341 0x0120
#define REV_ID_MAJOR_AR9342 0x1120
#define REV_ID_MAJOR_AR9344 0x2120
@@ -660,6 +664,8 @@ void ar71xx_ddr_flush(u32 reg);
#define AR724X_REV_ID_REVISION_MASK 0x3
+#define AR933X_REV_ID_REVISION_MASK 0xf
+
#define AR934X_REV_ID_REVISION_MASK 0xf
extern void __iomem *ar71xx_reset_base;