Changeset 47847


Ignore:
Timestamp:
2015-12-11T16:04:47+01:00 (2 years ago)
Author:
blogic
Message:

ar71xx: Add support for Wallys DR344

This patch is for Wallys DR344 support under OpenWRT

Signed-off-by: Philippe Duchein <wireless-dev@…>

Location:
trunk/target/linux/ar71xx
Files:
1 added
6 edited
2 copied

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/ar71xx/base-files/etc/board.d/02_network

    r47799 r47847  
    1616all0315n |\ 
    1717all0258n |\ 
     18dr344 |\ 
    1819ja76pf2|\ 
    1920rocket-m-ti |\ 
  • trunk/target/linux/ar71xx/base-files/etc/diag.sh

    r47554 r47847  
    9595        dlan-pro-1200-ac) 
    9696                status_led="devolo:status:wlan" 
     97                ;; 
     98        dr344) 
     99                status_led="dr344:green:status" 
    97100                ;; 
    98101        dragino2) 
  • trunk/target/linux/ar71xx/base-files/lib/ar71xx.sh

    r47622 r47847  
    464464                name="dlan-pro-1200-ac" 
    465465                ;; 
     466        *DR344) 
     467                name="dr344" 
     468                ;; 
    466469        *"Dragino v2") 
    467470                name="dragino2" 
  • trunk/target/linux/ar71xx/base-files/lib/upgrade/platform.sh

    r47622 r47847  
    185185        bxu2000n-2-a1 | \ 
    186186        db120 | \ 
     187        dr344 | \ 
    187188        f9k1115v2 |\ 
    188189        hornet-ub | \ 
  • trunk/target/linux/ar71xx/config-4.1

    r47622 r47847  
    6767CONFIG_ATH79_MACH_DLAN_PRO_1200_AC=y 
    6868CONFIG_ATH79_MACH_DLAN_PRO_500_WP=y 
     69CONFIG_ATH79_MACH_DR344=y 
    6970CONFIG_ATH79_MACH_GL_DOMINO=y 
    7071CONFIG_ATH79_MACH_DRAGINO2=y 
  • trunk/target/linux/ar71xx/files/arch/mips/ath79/mach-dr344.c

    r47846 r47847  
    11/* 
    2  * Compex WPJ344 board support 
     2 * Wallys DR344 board support 
    33 * 
    44 * Copyright (c) 2011 Qualcomm Atheros 
    55 * Copyright (c) 2011-2012 Gabor Juhos <juhosg@openwrt.org> 
     6 * Copyright (c) 2015 Philippe Duchein <wireless-dev@duchein.net> 
    67 * 
    78 * Permission to use, copy, modify, and/or distribute this software for any 
     
    3839#include "machtypes.h" 
    3940 
    40 #define WPJ344_GPIO_LED_SIG1    15 
    41 #define WPJ344_GPIO_LED_SIG2    20 
    42 #define WPJ344_GPIO_LED_SIG3    21 
    43 #define WPJ344_GPIO_LED_SIG4    22 
    44 #define WPJ344_GPIO_LED_STATUS  14 
     41#define DR344_GPIO_LED_SIG1     15 
     42#define DR344_GPIO_LED_SIG2     11 
     43#define DR344_GPIO_LED_SIG3     12 
     44#define DR344_GPIO_LED_SIG4     13 
     45#define DR344_GPIO_EXTERNAL_LNA0       18 
     46#define DR344_GPIO_EXTERNAL_LNA1       19 
     47#define DR344_GPIO_LED_STATUS   14 
    4548 
    46 #define WPJ344_GPIO_BTN_RESET   12 
     49#define DR344_GPIO_BTN_RESET    12 
    4750 
    48 #define WPJ344_KEYS_POLL_INTERVAL       20      /* msecs */ 
    49 #define WPJ344_KEYS_DEBOUNCE_INTERVAL   (3 * WPJ344_KEYS_POLL_INTERVAL) 
     51#define DR344_KEYS_POLL_INTERVAL        20      /* msecs */ 
     52#define DR344_KEYS_DEBOUNCE_INTERVAL    (3 * DR344_KEYS_POLL_INTERVAL) 
    5053 
    51 #define WPJ344_MAC0_OFFSET              0 
    52 #define WPJ344_MAC1_OFFSET              6 
    53 #define WPJ344_WMAC_CALDATA_OFFSET      0x1000 
    54 #define WPJ344_PCIE_CALDATA_OFFSET      0x5000 
     54#define DR344_MAC0_OFFSET               0 
     55#define DR344_MAC1_OFFSET               8 
     56#define DR344_WMAC_CALDATA_OFFSET       0x1000 
     57#define DR344_PCIE_CALDATA_OFFSET       0x5000 
    5558 
    56 static struct gpio_led wpj344_leds_gpio[] __initdata = { 
     59static struct gpio_led dr344_leds_gpio[] __initdata = { 
    5760        { 
    58                 .name           = "wpj344:green:status", 
    59                 .gpio           = WPJ344_GPIO_LED_STATUS, 
     61                .name           = "dr344:green:status", 
     62                .gpio           = DR344_GPIO_LED_STATUS, 
    6063                .active_low     = 1, 
    6164        }, 
    6265        { 
    63                 .name           = "wpj344:red:sig1", 
    64                 .gpio           = WPJ344_GPIO_LED_SIG1, 
     66                .name           = "dr344:red:sig1", 
     67                .gpio           = DR344_GPIO_LED_SIG1, 
    6568                .active_low     = 1, 
    6669        }, 
    6770        { 
    68                 .name           = "wpj344:yellow:sig2", 
    69                 .gpio           = WPJ344_GPIO_LED_SIG2, 
     71                .name           = "dr344:yellow:sig2", 
     72                .gpio           = DR344_GPIO_LED_SIG2, 
    7073                .active_low     = 1, 
    7174        }, 
    7275        { 
    73                 .name           = "wpj344:green:sig3", 
    74                 .gpio           = WPJ344_GPIO_LED_SIG3, 
     76                .name           = "dr344:green:sig3", 
     77                .gpio           = DR344_GPIO_LED_SIG3, 
    7578                .active_low     = 1, 
    7679        }, 
    7780        { 
    78                 .name           = "wpj344:green:sig4", 
    79                 .gpio           = WPJ344_GPIO_LED_SIG4, 
     81                .name           = "dr344:green:sig4", 
     82                .gpio           = DR344_GPIO_LED_SIG4, 
    8083                .active_low     = 1, 
    8184        } 
    8285}; 
    8386 
    84 static struct gpio_keys_button wpj344_gpio_keys[] __initdata = { 
     87static struct gpio_keys_button dr344_gpio_keys[] __initdata = { 
    8588        { 
    8689                .desc           = "reset", 
    8790                .type           = EV_KEY, 
    8891                .code           = KEY_RESTART, 
    89                 .debounce_interval = WPJ344_KEYS_DEBOUNCE_INTERVAL, 
    90                 .gpio           = WPJ344_GPIO_BTN_RESET, 
     92                .debounce_interval = DR344_KEYS_DEBOUNCE_INTERVAL, 
     93                .gpio           = DR344_GPIO_BTN_RESET, 
    9194                .active_low     = 1, 
    9295        }, 
    9396}; 
    9497 
    95 static struct ar8327_pad_cfg wpj344_ar8327_pad0_cfg = { 
     98static struct ar8327_pad_cfg dr344_ar8327_pad0_cfg = { 
    9699        .mode = AR8327_PAD_MAC_RGMII, 
    97100        .txclk_delay_en = true, 
     
    101104}; 
    102105 
    103 static struct ar8327_led_cfg wpj344_ar8327_led_cfg = { 
     106static struct ar8327_led_cfg dr344_ar8327_led_cfg = { 
    104107        .led_ctrl0 = 0x00000000, 
    105108        .led_ctrl1 = 0xc737c737, 
     
    109112}; 
    110113 
    111 static struct ar8327_platform_data wpj344_ar8327_data = { 
    112         .pad0_cfg = &wpj344_ar8327_pad0_cfg, 
     114static struct ar8327_platform_data dr344_ar8327_data = { 
     115        .pad0_cfg = &dr344_ar8327_pad0_cfg, 
    113116        .port0_cfg = { 
    114117                .force_link = 1, 
     
    118121                .rxpause = 1, 
    119122        }, 
    120         .led_cfg = &wpj344_ar8327_led_cfg, 
     123        .led_cfg = &dr344_ar8327_led_cfg, 
    121124}; 
    122125 
    123 static struct mdio_board_info wpj344_mdio0_info[] = { 
     126static struct mdio_board_info dr344_mdio0_info[] = { 
    124127        { 
    125128                .bus_id = "ag71xx-mdio.0", 
    126129                .phy_addr = 0, 
    127                 .platform_data = &wpj344_ar8327_data, 
     130                .platform_data = &dr344_ar8327_data, 
    128131        }, 
    129132}; 
    130133 
    131 static void __init wpj344_setup(void) 
     134static void __init dr344_setup(void) 
    132135{ 
    133136        u8 *art = (u8 *) KSEG1ADDR(0x1fff0000); 
    134137 
    135138        ath79_register_m25p80(NULL); 
    136         ath79_register_leds_gpio(-1, ARRAY_SIZE(wpj344_leds_gpio), 
    137                                  wpj344_leds_gpio); 
    138         ath79_register_gpio_keys_polled(-1, WPJ344_KEYS_POLL_INTERVAL, 
    139                                         ARRAY_SIZE(wpj344_gpio_keys), 
    140                                         wpj344_gpio_keys); 
     139        ath79_register_leds_gpio(-1, ARRAY_SIZE(dr344_leds_gpio), 
     140                                 dr344_leds_gpio); 
     141        ath79_register_gpio_keys_polled(-1, DR344_KEYS_POLL_INTERVAL, 
     142                                        ARRAY_SIZE(dr344_gpio_keys), 
     143                                        dr344_gpio_keys); 
    141144 
    142145        ath79_register_usb(); 
    143146 
    144         ath79_register_wmac(art + WPJ344_WMAC_CALDATA_OFFSET, NULL); 
     147        ath79_wmac_set_ext_lna_gpio(0, DR344_GPIO_EXTERNAL_LNA0); 
     148 
     149        ath79_wmac_set_ext_lna_gpio(1, DR344_GPIO_EXTERNAL_LNA1); 
     150 
     151        ath79_register_wmac(art + DR344_WMAC_CALDATA_OFFSET, NULL); 
    145152 
    146153        ath79_register_pci(); 
    147154 
    148         mdiobus_register_board_info(wpj344_mdio0_info, 
    149                                         ARRAY_SIZE(wpj344_mdio0_info)); 
     155        mdiobus_register_board_info(dr344_mdio0_info, 
     156                                        ARRAY_SIZE(dr344_mdio0_info)); 
    150157 
    151158        ath79_register_mdio(1, 0x0); 
    152159        ath79_register_mdio(0, 0x0); 
    153160 
    154         ath79_init_mac(ath79_eth0_data.mac_addr, art + WPJ344_MAC0_OFFSET, 0); 
    155         ath79_init_mac(ath79_eth1_data.mac_addr, art + WPJ344_MAC1_OFFSET, 0); 
     161        ath79_init_mac(ath79_eth0_data.mac_addr, art + DR344_MAC0_OFFSET, 0); 
     162       ath79_init_mac(ath79_eth1_data.mac_addr, art + DR344_MAC1_OFFSET, 0); 
    156163 
    157164        ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 | 
     
    162169        ath79_eth0_data.phy_mask = BIT(0); 
    163170        ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev; 
    164         ath79_eth0_pll_data.pll_1000 = 0x06000000; 
     171        ath79_eth0_pll_data.pll_1000 = 0x0e000000; 
     172        ath79_eth0_pll_data.pll_100 = 0x0101; 
     173        ath79_eth0_pll_data.pll_10 = 0x1313; 
    165174 
    166175        /* GMAC1 is connected to the internal switch */ 
     
    173182} 
    174183 
    175 MIPS_MACHINE(ATH79_MACH_WPJ344, "WPJ344", "Compex WPJ344", wpj344_setup); 
     184MIPS_MACHINE(ATH79_MACH_DR344, "DR344", "Wallys DR344", dr344_setup); 
  • trunk/target/linux/ar71xx/generic/profiles/wallys.mk

    r47846 r47847  
    11# 
     2# Copyright (C) 2015 Philippe DUCHEIN <pduchein@gmail.com> 
    23# Copyright (C) 2009 OpenWrt.org 
    3 # 
    44# This is free software, licensed under the GNU General Public License v2. 
    55# See /LICENSE for more information. 
    66# 
    77 
    8 define Profile/Minimal 
    9         NAME:=Minimal Profile (no drivers) 
    10         PACKAGES:=-kmod-ath9k -wpad-mini 
     8define Profile/DR344 
     9        NAME:=Wallys DR344 
    1110endef 
    1211 
    13 define Profile/Minimal/Description 
    14         Minimal package set compatible with most boards. 
     12define Profile/DR344/Description 
     13        Package set optimized for the Wallys DR344 board. 
    1514endef 
    16 $(eval $(call Profile,Minimal)) 
     15 
     16$(eval $(call Profile,DR344)) 
     17 
  • trunk/target/linux/ar71xx/image/Makefile

    r47846 r47847  
    15041504wlr8100_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(u-boot-env)ro,1408k(kernel),14080k(rootfs),192k(unknown)ro,64k(art)ro,384k(unknown2)ro,15488k@0x40000(firmware) 
    15051505wpj344_mtdlayout_16M=mtdparts=spi0.0:192k(u-boot)ro,16128k(firmware),64k(art)ro 
     1506dr344_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,6336k(rootfs),1408k(kernel),64k(nvram),64k(art)ro,7744k@0x50000(firmware) 
    15061507wpj531_mtdlayout_16M=mtdparts=spi0.0:192k(u-boot)ro,16128k(firmware),64k(art)ro 
    15071508wpj558_mtdlayout_16M=mtdparts=spi0.0:192k(u-boot)ro,16128k(firmware),64k(art)ro 
     
    22782279$(eval $(call SingleProfile,AthLzma,64k,WLR8100,wlr8100,WLR8100,ttyS0,115200,$$(wlr8100_mtdlayout),KRuImage)) 
    22792280$(eval $(call SingleProfile,AthLzma,64k,WPJ344_16M,wpj344-16M,WPJ344,ttyS0,115200,$$(wpj344_mtdlayout_16M),KRuImage,65536)) 
     2281$(eval $(call SingleProfile,AthLzma,64k,DR344,dr344,DR344,ttyS0,115200,$$(dr344_mtdlayout),RKuImage)) 
    22802282$(eval $(call SingleProfile,AthLzma,64k,WPJ531_16M,wpj531-16M,WPJ531,ttyS0,115200,$$(wpj531_mtdlayout_16M),KRuImage,65536)) 
    22812283$(eval $(call SingleProfile,AthLzma,64k,WPJ558_16M,wpj558-16M,WPJ558,ttyS0,115200,$$(wpj558_mtdlayout_16M),KRuImage,65536)) 
Note: See TracChangeset for help on using the changeset viewer.