ar71xx: add WMAC initialization code for the AR933X SoCs
authorGabor Juhos <juhosg@openwrt.org>
Tue, 31 May 2011 22:53:39 +0000 (22:53 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Tue, 31 May 2011 22:53:39 +0000 (22:53 +0000)
SVN-Revision: 27064

target/linux/ar71xx/files/arch/mips/ar71xx/dev-ar9xxx-wmac.c
target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h

index ade61e4..f07d368 100644 (file)
@@ -63,6 +63,15 @@ static void ar913x_wmac_init(void)
        ar9xxx_wmac_resources[0].end = AR91XX_WMAC_BASE + AR91XX_WMAC_SIZE - 1;
 }
 
+static void ar933x_wmac_init(void)
+{
+       ar9xxx_wmac_device.name = "ar933x_wmac";
+       ar9xxx_wmac_resources[0].start = AR933X_WMAC_BASE;
+       ar9xxx_wmac_resources[0].end = AR933X_WMAC_BASE + AR933X_WMAC_SIZE - 1;
+       if (ar71xx_ref_freq == MHZ_25)
+               ar9xxx_wmac_data.is_clk_25mhz = true;
+}
+
 static void ar934x_wmac_init(void)
 {
        ar9xxx_wmac_device.name = "ar934x_wmac";
@@ -80,6 +89,11 @@ void __init ar9xxx_add_device_wmac(u8 *cal_data, u8 *mac_addr)
                ar913x_wmac_init();
                break;
 
+       case AR71XX_SOC_AR9330:
+       case AR71XX_SOC_AR9331:
+               ar933x_wmac_init();
+               break;
+
        case AR71XX_SOC_AR9341:
        case AR71XX_SOC_AR9342:
        case AR71XX_SOC_AR9344:
index 8a86a30..7c99dba 100644 (file)
@@ -72,6 +72,8 @@
 
 #define AR933X_UART_BASE       (AR71XX_APB_BASE + 0x00020000)
 #define AR933X_UART_SIZE       0x14
+#define AR933X_WMAC_BASE       (AR71XX_APB_BASE + 0x00100000)
+#define AR933X_WMAC_SIZE       0x20000
 
 #define AR934X_WMAC_BASE       (AR71XX_APB_BASE + 0x00100000)
 #define AR934X_WMAC_SIZE       0x20000