Changeset 31012


Ignore:
Timestamp:
2012-03-18T23:06:58+01:00 (6 years ago)
Author:
juhosg
Message:

ar71xx: use AR8327 on the DB120 board

Location:
trunk/target/linux/ar71xx
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/ar71xx/base-files/etc/uci-defaults/network

    r30957 r31012  
    2222 
    2323db120) 
    24         ucidef_set_interfaces_lan_wan "eth1" "eth0" 
    25         ucidef_add_switch "switch0" "1" "1" 
    26         ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 4" 
     24        ucidef_set_interfaces_lan_wan "eth0.1 eth1" "eth0.2" 
     25        ucidef_add_switch "eth0" "1" "1" 
     26        ucidef_add_switch_vlan "eth0" "1" "0t 2 3 4 5" 
     27        ucidef_add_switch_vlan "eth0" "2" "0t 1" 
     28        ucidef_add_switch "eth1" "1" "1" 
     29        ucidef_add_switch_vlan "eth1" "1" "0 1 2 3 4 5" 
    2730        ;; 
    2831 
  • trunk/target/linux/ar71xx/patches-3.2/605-MIPS-ath79-db120-fixes.patch

    r29868 r31012  
    11--- a/arch/mips/ath79/mach-db120.c 
    22+++ b/arch/mips/ath79/mach-db120.c 
    3 @@ -37,17 +37,26 @@ 
     3@@ -2,7 +2,7 @@ 
     4  * Atheros DB120 reference board support 
     5  * 
     6  * Copyright (c) 2011 Qualcomm Atheros 
     7- * Copyright (c) 2011 Gabor Juhos <juhosg@openwrt.org> 
     8+ * Copyright (c) 2011-2012 Gabor Juhos <juhosg@openwrt.org> 
     9  * 
     10  * All rights reserved. 
     11  * 
     12@@ -37,17 +37,28 @@ 
    413  * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
    514  */ 
     
    817+#include <linux/mtd/partitions.h> 
    918 #include <linux/pci.h> 
     19+#include <linux/phy.h> 
    1020+#include <linux/platform_device.h> 
    1121 #include <linux/ath9k_platform.h> 
     22+#include <linux/ar8216_platform.h> 
    1223  
    1324-#include "machtypes.h" 
     
    3041 #define DB120_GPIO_LED_WLAN_2G         13 
    3142 #define DB120_GPIO_LED_STATUS          14 
    32 @@ -58,8 +67,50 @@ 
     43@@ -58,8 +69,50 @@ 
    3344 #define DB120_KEYS_POLL_INTERVAL       20      /* msecs */ 
    3445 #define DB120_KEYS_DEBOUNCE_INTERVAL   (3 * DB120_KEYS_POLL_INTERVAL) 
     
    8394 static struct gpio_led db120_leds_gpio[] __initdata = { 
    8495        { 
    85 @@ -82,6 +133,11 @@ static struct gpio_led db120_leds_gpio[] 
     96@@ -82,6 +135,11 @@ static struct gpio_led db120_leds_gpio[] 
    8697                .gpio           = DB120_GPIO_LED_WLAN_2G, 
    8798                .active_low     = 1, 
     
    95106  
    96107 static struct gpio_keys_button db120_gpio_keys[] __initdata = { 
    97 @@ -95,66 +151,65 @@ static struct gpio_keys_button db120_gpi 
     108@@ -95,66 +153,89 @@ static struct gpio_keys_button db120_gpi 
    98109        }, 
    99110 }; 
     
    102113-       .cs_type = ATH79_SPI_CS_TYPE_INTERNAL, 
    103114-       .cs_line = 0, 
    104 -}; 
    105 - 
     115+static struct ar8327_pad_cfg db120_ar8327_pad0_cfg = { 
     116+       .mode = AR8327_PAD_MAC_RGMII, 
     117+       .txclk_delay_en = true, 
     118+       .rxclk_delay_en = true, 
     119+       .txclk_delay_sel = AR8327_CLK_DELAY_SEL1, 
     120+       .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2, 
     121 }; 
     122  
    106123-static struct spi_board_info db120_spi_info[] = { 
    107124-       { 
     
    111128-               .modalias       = "s25sl064a", 
    112129-               .controller_data = &db120_spi0_data, 
    113 -       } 
    114 -}; 
    115 - 
     130+static struct ar8327_platform_data db120_ar8327_data = { 
     131+       .pad0_cfg = &db120_ar8327_pad0_cfg, 
     132+       .cpuport_cfg = { 
     133+               .force_link = 1, 
     134+               .speed = AR8327_PORT_SPEED_1000, 
     135+               .duplex = 1, 
     136+               .txpause = 1, 
     137+               .rxpause = 1, 
     138        } 
     139 }; 
     140  
    116141-static struct ath79_spi_platform_data db120_spi_data = { 
    117142-       .bus_num        = 0, 
    118143-       .num_chipselect = 1, 
    119 -}; 
    120 - 
     144+static struct mdio_board_info db120_mdio0_info[] = { 
     145+       { 
     146+               .bus_id = "ag71xx-mdio.0", 
     147+               .phy_addr = 0, 
     148+               .platform_data = &db120_ar8327_data, 
     149+       }, 
     150 }; 
     151  
    121152-#ifdef CONFIG_PCI 
    122153-static struct ath9k_platform_data db120_ath9k_data; 
     
    144175+       t &= ~(AR934X_ETH_CFG_RGMII_GMAC0 | AR934X_ETH_CFG_MII_GMAC0 | 
    145176+              AR934X_ETH_CFG_MII_GMAC0 | AR934X_ETH_CFG_SW_ONLY_MODE); 
     177+       t |= AR934X_ETH_CFG_RGMII_GMAC0 | AR934X_ETH_CFG_SW_ONLY_MODE; 
     178+ 
    146179+       __raw_writel(t, base + AR934X_GMAC_REG_ETH_CFG); 
    147180  
     
    175208+       db120_gmac_setup(); 
    176209+ 
     210+       ath79_register_mdio(1, 0x0); 
    177211+       ath79_register_mdio(0, 0x0); 
    178 +       ath79_register_mdio(1, 0x0); 
    179212+ 
    180213+       ath79_init_mac(ath79_eth0_data.mac_addr, art + DB120_MAC0_OFFSET, 0); 
    181 +#if 0 
     214+ 
     215+       mdiobus_register_board_info(db120_mdio0_info, 
     216+                                   ARRAY_SIZE(db120_mdio0_info)); 
     217+ 
    182218+       /* GMAC0 is connected to an AR8327 switch */ 
    183219+       ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII; 
    184 +       ath79_eth0_data.speed = SPEED_1000; 
    185 +       ath79_eth0_data.duplex = DUPLEX_FULL; 
    186 +#else 
    187 +       /* GMAC0 is connected to PHY4 of the internal switch */ 
    188 +       ath79_switch_data.phy4_mii_en = 1; 
    189 + 
    190 +       ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII; 
    191 +       ath79_eth0_data.phy_mask = BIT(4); 
    192 +       ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev; 
    193 +#endif 
     220+       ath79_eth0_data.phy_mask = BIT(0); 
     221+       ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev; 
    194222+       ath79_register_eth(0); 
    195223+ 
  • trunk/target/linux/ar71xx/patches-3.3/605-MIPS-ath79-db120-fixes.patch

    r30410 r31012  
    11--- a/arch/mips/ath79/mach-db120.c 
    22+++ b/arch/mips/ath79/mach-db120.c 
    3 @@ -37,17 +37,26 @@ 
     3@@ -2,7 +2,7 @@ 
     4  * Atheros DB120 reference board support 
     5  * 
     6  * Copyright (c) 2011 Qualcomm Atheros 
     7- * Copyright (c) 2011 Gabor Juhos <juhosg@openwrt.org> 
     8+ * Copyright (c) 2011-2012 Gabor Juhos <juhosg@openwrt.org> 
     9  * 
     10  * All rights reserved. 
     11  * 
     12@@ -37,17 +37,28 @@ 
    413  * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
    514  */ 
     
    817+#include <linux/mtd/partitions.h> 
    918 #include <linux/pci.h> 
     19+#include <linux/phy.h> 
    1020+#include <linux/platform_device.h> 
    1121 #include <linux/ath9k_platform.h> 
     22+#include <linux/ar8216_platform.h> 
    1223  
    1324-#include "machtypes.h" 
     
    3041 #define DB120_GPIO_LED_WLAN_2G         13 
    3142 #define DB120_GPIO_LED_STATUS          14 
    32 @@ -58,8 +67,50 @@ 
     43@@ -58,8 +69,50 @@ 
    3344 #define DB120_KEYS_POLL_INTERVAL       20      /* msecs */ 
    3445 #define DB120_KEYS_DEBOUNCE_INTERVAL   (3 * DB120_KEYS_POLL_INTERVAL) 
     
    8394 static struct gpio_led db120_leds_gpio[] __initdata = { 
    8495        { 
    85 @@ -82,6 +133,11 @@ static struct gpio_led db120_leds_gpio[] 
     96@@ -82,6 +135,11 @@ static struct gpio_led db120_leds_gpio[] 
    8697                .gpio           = DB120_GPIO_LED_WLAN_2G, 
    8798                .active_low     = 1, 
     
    95106  
    96107 static struct gpio_keys_button db120_gpio_keys[] __initdata = { 
    97 @@ -95,66 +151,65 @@ static struct gpio_keys_button db120_gpi 
     108@@ -95,66 +153,89 @@ static struct gpio_keys_button db120_gpi 
    98109        }, 
    99110 }; 
     
    102113-       .cs_type = ATH79_SPI_CS_TYPE_INTERNAL, 
    103114-       .cs_line = 0, 
    104 -}; 
    105 - 
     115+static struct ar8327_pad_cfg db120_ar8327_pad0_cfg = { 
     116+       .mode = AR8327_PAD_MAC_RGMII, 
     117+       .txclk_delay_en = true, 
     118+       .rxclk_delay_en = true, 
     119+       .txclk_delay_sel = AR8327_CLK_DELAY_SEL1, 
     120+       .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2, 
     121 }; 
     122  
    106123-static struct spi_board_info db120_spi_info[] = { 
    107124-       { 
     
    111128-               .modalias       = "s25sl064a", 
    112129-               .controller_data = &db120_spi0_data, 
    113 -       } 
    114 -}; 
    115 - 
     130+static struct ar8327_platform_data db120_ar8327_data = { 
     131+       .pad0_cfg = &db120_ar8327_pad0_cfg, 
     132+       .cpuport_cfg = { 
     133+               .force_link = 1, 
     134+               .speed = AR8327_PORT_SPEED_1000, 
     135+               .duplex = 1, 
     136+               .txpause = 1, 
     137+               .rxpause = 1, 
     138        } 
     139 }; 
     140  
    116141-static struct ath79_spi_platform_data db120_spi_data = { 
    117142-       .bus_num        = 0, 
    118143-       .num_chipselect = 1, 
    119 -}; 
    120 - 
     144+static struct mdio_board_info db120_mdio0_info[] = { 
     145+       { 
     146+               .bus_id = "ag71xx-mdio.0", 
     147+               .phy_addr = 0, 
     148+               .platform_data = &db120_ar8327_data, 
     149+       }, 
     150 }; 
     151  
    121152-#ifdef CONFIG_PCI 
    122153-static struct ath9k_platform_data db120_ath9k_data; 
     
    144175+       t &= ~(AR934X_ETH_CFG_RGMII_GMAC0 | AR934X_ETH_CFG_MII_GMAC0 | 
    145176+              AR934X_ETH_CFG_MII_GMAC0 | AR934X_ETH_CFG_SW_ONLY_MODE); 
     177+       t |= AR934X_ETH_CFG_RGMII_GMAC0 | AR934X_ETH_CFG_SW_ONLY_MODE; 
     178+ 
    146179+       __raw_writel(t, base + AR934X_GMAC_REG_ETH_CFG); 
    147180  
     
    175208+       db120_gmac_setup(); 
    176209+ 
     210+       ath79_register_mdio(1, 0x0); 
    177211+       ath79_register_mdio(0, 0x0); 
    178 +       ath79_register_mdio(1, 0x0); 
    179212+ 
    180213+       ath79_init_mac(ath79_eth0_data.mac_addr, art + DB120_MAC0_OFFSET, 0); 
    181 +#if 0 
     214+ 
     215+       mdiobus_register_board_info(db120_mdio0_info, 
     216+                                   ARRAY_SIZE(db120_mdio0_info)); 
     217+ 
    182218+       /* GMAC0 is connected to an AR8327 switch */ 
    183219+       ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII; 
    184 +       ath79_eth0_data.speed = SPEED_1000; 
    185 +       ath79_eth0_data.duplex = DUPLEX_FULL; 
    186 +#else 
    187 +       /* GMAC0 is connected to PHY4 of the internal switch */ 
    188 +       ath79_switch_data.phy4_mii_en = 1; 
    189 + 
    190 +       ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII; 
    191 +       ath79_eth0_data.phy_mask = BIT(4); 
    192 +       ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev; 
    193 +#endif 
     220+       ath79_eth0_data.phy_mask = BIT(0); 
     221+       ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev; 
    194222+       ath79_register_eth(0); 
    195223+ 
Note: See TracChangeset for help on using the changeset viewer.