Changeset 33349


Ignore:
Timestamp:
2012-09-09T16:05:32+02:00 (4 years ago)
Author:
juhosg
Message:

ar71xx: add initial support for RB2011UAS-2HnD

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

Legend:

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

    r33344 r33349  
    2323 
    2424db120 |\ 
    25 rb-2011l) 
     25rb-2011l | \ 
     26rb-2011uas-2hnd) 
    2627        ucidef_set_interfaces_lan_wan "eth0.1 eth1" "eth0.2" 
    2728        ucidef_add_switch "eth0" "1" "1" 
  • trunk/target/linux/ar71xx/base-files/lib/ar71xx.sh

    r33344 r33349  
    295295                name="rb-2011l" 
    296296                ;; 
     297        *"RouterBOARD 2011UAS-2HnD") 
     298                name="rb-2011uas-2hnd" 
     299                ;; 
    297300        *"Rocket M") 
    298301                name="rocket-m" 
  • trunk/target/linux/ar71xx/files/arch/mips/ath79/mach-rb2011.c

    r33345 r33349  
    33 * 
    44 *  Copyright (C) 2012 Stijn Tintel <stijn@linux-ipv6.be> 
     5 *  Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org> 
    56 * 
    67 *  This program is free software; you can redistribute it and/or modify it 
     
    910 */ 
    1011 
     12#define pr_fmt(fmt) "rb2011: " fmt 
     13 
    1114#include <linux/phy.h> 
    1215#include <linux/platform_device.h> 
     16#include <linux/ath9k_platform.h> 
    1317#include <linux/ar8216_platform.h> 
    1418#include <linux/mtd/mtd.h> 
     
    1620#include <linux/spi/spi.h> 
    1721#include <linux/spi/flash.h> 
     22#include <linux/rle.h> 
     23#include <linux/routerboot.h> 
    1824 
     25#include <asm/mach-ath79/ath79.h> 
    1926#include <asm/mach-ath79/ar71xx_regs.h> 
    2027 
     
    2229#include "dev-eth.h" 
    2330#include "dev-m25p80.h" 
     31#include "dev-wmac.h" 
    2432#include "machtypes.h" 
     33#include "routerboot.h" 
    2534 
    2635#define RB_ROUTERBOOT_OFFSET    0x0000 
     
    3241#define RB_SOFT_CFG_OFFSET      0xf000 
    3342#define RB_SOFT_CFG_SIZE        0x1000 
     43 
     44#define RB_ART_SIZE             0x10000 
    3445 
    3546static struct mtd_partition rb2011_spi_partitions[] = { 
     
    105116} 
    106117 
     118static void __init rb2011_wlan_init(void) 
     119{ 
     120        u8 *hard_cfg = (u8 *) KSEG1ADDR(0x1f000000 + RB_HARD_CFG_OFFSET); 
     121        u16 tag_len; 
     122        u8 *tag; 
     123        char *art_buf; 
     124        u8 wlan_mac[ETH_ALEN]; 
     125        int err; 
     126 
     127        err = routerboot_find_tag(hard_cfg, RB_HARD_CFG_SIZE, RB_ID_WLAN_DATA, 
     128                                  &tag, &tag_len); 
     129        if (err) { 
     130                pr_err("no calibration data found\n"); 
     131                return; 
     132        } 
     133 
     134        art_buf = kmalloc(RB_ART_SIZE, GFP_KERNEL); 
     135        if (art_buf == NULL) { 
     136                pr_err("no memory for calibration data\n"); 
     137                return; 
     138        } 
     139 
     140        err = rle_decode((char *) tag, tag_len, art_buf, RB_ART_SIZE, 
     141                         NULL, NULL); 
     142        if (err) { 
     143                pr_err("unable to decode calibration data\n"); 
     144                goto free; 
     145        } 
     146 
     147        ath79_init_mac(wlan_mac, ath79_mac_base, 11); 
     148        ath79_register_wmac(art_buf + 0x1000, wlan_mac); 
     149 
     150free: 
     151        kfree(art_buf); 
     152} 
     153 
    107154static void __init rb2011_setup(void) 
    108155{ 
     
    137184MIPS_MACHINE(ATH79_MACH_RB_2011L, "2011L", "MikroTik RouterBOARD 2011L", 
    138185             rb2011_setup); 
     186 
     187static void __init rb2011g_setup(void) 
     188{ 
     189        rb2011_setup(); 
     190        rb2011_wlan_init(); 
     191} 
     192 
     193MIPS_MACHINE(ATH79_MACH_RB_2011G, "2011G", "MikroTik RouterBOARD 2011UAS-2HnD", 
     194             rb2011g_setup); 
Note: See TracChangeset for help on using the changeset viewer.