Ticket #13213: dir-300b5.patch

File dir-300b5.patch, 18.0 KB (added by mikael@…, 5 years ago)
  • target/linux/ramips/files/arch/mips/ralink/rt305x/Makefile

     
    2222obj-$(CONFIG_RT305X_MACH_BROADWAY)      += mach-broadway.o 
    2323obj-$(CONFIG_RT305X_MACH_CARAMBOLA)     += mach-carambola.o 
    2424obj-$(CONFIG_RT305X_MACH_DIR_300_REVB)  += mach-dir-300-revb.o 
     25obj-$(CONFIG_RT305X_MACH_DIR_300_REVB5) += mach-dir-300-revb5.o 
    2526obj-$(CONFIG_RT305X_MACH_DIR_615_H1)    += mach-dir-615-h1.o 
    2627obj-$(CONFIG_RT305X_MACH_DAP_1350)      += mach-dap-1350.o 
    2728obj-$(CONFIG_RT305X_MACH_ESR_9753)      += mach-esr-9753.o 
     
    3132obj-$(CONFIG_RT305X_MACH_FREESTATION5)  += mach-freestation5.o 
    3233obj-$(CONFIG_RT305X_MACH_HW550_3G)      += mach-hw550-3g.o 
    3334obj-$(CONFIG_RT305X_MACH_MOFI3500_3GN)  += mach-mofi3500-3gn.o 
     35obj-$(CONFIG_RT305X_MACH_MPR_A1)        += mach-mpr-a1.o 
    3436obj-$(CONFIG_RT305X_MACH_NBG_419N)      += mach-nbg-419n.o 
    3537obj-$(CONFIG_RT305X_MACH_NW718)         += mach-nw718.o 
    3638obj-$(CONFIG_RT305X_MACH_OMNI_EMB)      += mach-omni-emb.o 
  • target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig

     
    9191        select RALINK_DEV_GPIO_BUTTONS 
    9292        select RALINK_DEV_GPIO_LEDS 
    9393 
     94config RT305X_MACH_DIR_300_REVB5 
     95        bool "D-Link DIR-300 revB5 board support" 
     96        select RALINK_DEV_GPIO_BUTTONS 
     97        select RALINK_DEV_GPIO_LEDS 
     98 
    9499config RT305X_MACH_DIR_615_H1 
    95100        bool "D-Link DIR-615 H1 board support" 
    96101        select RALINK_DEV_GPIO_BUTTONS 
     
    129134        select RALINK_DEV_GPIO_BUTTONS 
    130135        select RALINK_DEV_GPIO_LEDS 
    131136 
     137config RT305X_MACH_MPR_A1 
     138        bool "HAME MPR-A1 board support" 
     139        select RALINK_DEV_GPIO_BUTTONS 
     140        select RALINK_DEV_GPIO_LEDS 
     141 
    132142config RT305X_MACH_WR512_3GN 
    133143        bool "SH-WR512NU/WS-WR512N1-like 3GN router" 
    134144        select RALINK_DEV_GPIO_BUTTONS 
  • target/linux/ramips/files/arch/mips/ralink/rt305x/mach-dir-300-revb5.c

     
     1/* 
     2 *  HAME MPR-A1 board support by Michel Stempin <michel.stempin@wanadoo.fr> 
     3 *  Based on previous work by arpunk, arteq, Heffer & p1vo from OpenWrt forum. 
     4 *  
     5 * 
     6 *  This program is free software; you can redistribute it and/or modify it 
     7 *  under the terms of the GNU General Public License version 2 as published 
     8 *  by the Free Software Foundation. 
     9 */ 
     10 
     11#include <linux/init.h> 
     12#include <linux/platform_device.h> 
     13#include <linux/spi/spi.h> 
     14#include <linux/spi/flash.h> 
     15#include <linux/gpio.h> 
     16 
     17#include <asm/mach-ralink/machine.h> 
     18#include <asm/mach-ralink/dev-gpio-buttons.h> 
     19#include <asm/mach-ralink/dev-gpio-leds.h>*/ 
     20#include <asm/mach-ralink/rt305x.h> 
     21#include <asm/mach-ralink/rt305x_regs.h> 
     22 
     23#include "devices.h" 
     24 
     25#define MPR_A1_GPIO_BUTTON_RESET        0 
     26#define MPR_A1_GPIO_USB_POWER           7 
     27#define MPR_A1_GPIO_ROOT_HUB_POWER      12 
     28#define MPR_A1_GPIO_LED_POWER           17 
     29#define MPR_A1_GPIO_LED_SYSTEM          20 
     30 
     31#define MPR_A1_KEYS_POLL_INTERVAL       20 
     32#define MPR_A1_KEYS_DEBOUNCE_INTERVAL   (3 * MPR_A1_KEYS_POLL_INTERVAL) 
     33 
     34const struct flash_platform_data dir_300b5_flash = { 
     35        .type           = "w25q32bv", 
     36}; 
     37 
     38struct spi_board_info dir_300b5_spi_slave_info[] __initdata = { 
     39        { 
     40                .modalias       = "m25p80", 
     41                .platform_data  = &dir_300b5_flash, 
     42                .irq            = -1, 
     43                .max_speed_hz   = 10000000, 
     44                .bus_num        = 0, 
     45                .chip_select    = 0, 
     46        } 
     47}; 
     48static void __init dir_300b5_init(void) 
     49{ 
     50        // JTAG is required for LED control 
     51        rt305x_gpio_init((RT305X_GPIO_MODE_GPIO << 
     52                          RT305X_GPIO_MODE_UART0_SHIFT) | 
     53                         RT305X_GPIO_MODE_JTAG); 
     54 
     55        rt305x_register_spi(dir_300b5_spi_slave_info, 
     56                            ARRAY_SIZE(dir_300b5_spi_slave_info)); 
     57/* 
     58        ramips_register_gpio_leds(-1, ARRAY_SIZE(mpr_a1_leds_gpio), 
     59                                  mpr_a1_leds_gpio); 
     60 
     61        ramips_register_gpio_buttons(-1, MPR_A1_KEYS_POLL_INTERVAL, 
     62                                     ARRAY_SIZE(mpr_a1_gpio_buttons), 
     63                                     mpr_a1_gpio_buttons); 
     64*/ 
     65        rt305x_esw_data.vlan_config = RT305X_ESW_VLAN_CONFIG_LLLLW; 
     66        rt305x_register_ethernet(); 
     67 
     68        rt305x_register_wifi(); 
     69 
     70        rt305x_register_wdt(); 
     71 
     72        gpio_request_one(MPR_A1_GPIO_USB_POWER, 
     73                         GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED, 
     74                         "USB power"); 
     75        gpio_request_one(MPR_A1_GPIO_ROOT_HUB_POWER, 
     76                         GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED, 
     77                         "USB root hub power"); 
     78        rt305x_register_usb(); 
     79} 
     80 
     81MIPS_MACHINE(RAMIPS_MACH_DIR_300_B5, "DIR-300-B5", "D-Link DIR-300 B5", 
     82             dir_300b5_init); 
  • target/linux/ramips/files/arch/mips/ralink/rt305x/mach-mpr-a1.c

     
     1/* 
     2 *  HAME MPR-A1 board support by Michel Stempin <michel.stempin@wanadoo.fr> 
     3 *  Based on previous work by arpunk, arteq, Heffer & p1vo from OpenWrt forum. 
     4 *  
     5 * 
     6 *  This program is free software; you can redistribute it and/or modify it 
     7 *  under the terms of the GNU General Public License version 2 as published 
     8 *  by the Free Software Foundation. 
     9 */ 
     10 
     11#include <linux/init.h> 
     12#include <linux/platform_device.h> 
     13#include <linux/spi/spi.h> 
     14#include <linux/spi/flash.h> 
     15#include <linux/gpio.h> 
     16 
     17#include <asm/mach-ralink/machine.h> 
     18#include <asm/mach-ralink/dev-gpio-buttons.h> 
     19#include <asm/mach-ralink/dev-gpio-leds.h>*/ 
     20#include <asm/mach-ralink/rt305x.h> 
     21#include <asm/mach-ralink/rt305x_regs.h> 
     22 
     23#include "devices.h" 
     24 
     25#define MPR_A1_GPIO_BUTTON_RESET        0 
     26#define MPR_A1_GPIO_USB_POWER           7 
     27#define MPR_A1_GPIO_ROOT_HUB_POWER      12 
     28#define MPR_A1_GPIO_LED_POWER           17 
     29#define MPR_A1_GPIO_LED_SYSTEM          20 
     30 
     31#define MPR_A1_KEYS_POLL_INTERVAL       20 
     32#define MPR_A1_KEYS_DEBOUNCE_INTERVAL   (3 * MPR_A1_KEYS_POLL_INTERVAL) 
     33 
     34const struct flash_platform_data mpr_a1_flash = { 
     35        .type           = "pm25lq032", 
     36}; 
     37 
     38struct spi_board_info mpr_a1_spi_slave_info[] __initdata = { 
     39        { 
     40                .modalias       = "m25p80", 
     41                .platform_data  = &mpr_a1_flash, 
     42                .irq            = -1, 
     43                .max_speed_hz   = 10000000, 
     44                .bus_num        = 0, 
     45                .chip_select    = 0, 
     46        } 
     47}; 
     48 
     49static struct gpio_led mpr_a1_leds_gpio[] __initdata = { 
     50        { 
     51                .name           = "mpr-a1:blue:system", 
     52                .gpio           = MPR_A1_GPIO_LED_SYSTEM, 
     53                .active_low     = 1, 
     54        }, 
     55        { 
     56                .name           = "mpr-a1:red:power", 
     57                .gpio           = MPR_A1_GPIO_LED_POWER, 
     58                .active_low     = 1, 
     59                .default_state  = LEDS_GPIO_DEFSTATE_ON, 
     60        } 
     61}; 
     62 
     63static struct gpio_keys_button mpr_a1_gpio_buttons[] __initdata = { 
     64        { 
     65                .desc           = "reset", 
     66                .type           = EV_KEY, 
     67                .code           = KEY_RESTART, 
     68                .debounce_interval = MPR_A1_KEYS_DEBOUNCE_INTERVAL, 
     69                .gpio           = MPR_A1_GPIO_BUTTON_RESET, 
     70                .active_low     = 1, 
     71        } 
     72}; 
     73 
     74static void __init mpr_a1_init(void) 
     75{ 
     76        // JTAG is required for LED control 
     77        rt305x_gpio_init((RT305X_GPIO_MODE_GPIO << 
     78                          RT305X_GPIO_MODE_UART0_SHIFT) | 
     79                         RT305X_GPIO_MODE_JTAG); 
     80 
     81        rt305x_register_spi(mpr_a1_spi_slave_info, 
     82                            ARRAY_SIZE(mpr_a1_spi_slave_info)); 
     83 
     84        ramips_register_gpio_leds(-1, ARRAY_SIZE(mpr_a1_leds_gpio), 
     85                                  mpr_a1_leds_gpio); 
     86 
     87        ramips_register_gpio_buttons(-1, MPR_A1_KEYS_POLL_INTERVAL, 
     88                                     ARRAY_SIZE(mpr_a1_gpio_buttons), 
     89                                     mpr_a1_gpio_buttons); 
     90 
     91        rt305x_esw_data.vlan_config = RT305X_ESW_VLAN_CONFIG_LLLLW; 
     92        rt305x_register_ethernet(); 
     93 
     94        rt305x_register_wifi(); 
     95 
     96        rt305x_register_wdt(); 
     97 
     98        gpio_request_one(MPR_A1_GPIO_USB_POWER, 
     99                         GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED, 
     100                         "USB power"); 
     101        gpio_request_one(MPR_A1_GPIO_ROOT_HUB_POWER, 
     102                         GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED, 
     103                         "USB root hub power"); 
     104        rt305x_register_usb(); 
     105} 
     106 
     107MIPS_MACHINE(RAMIPS_MACH_MPR_A1, "MPR-A1", "HAME MPR-A1", 
     108             mpr_a1_init); 
  • target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h

     
    8585 
    8686        /* RT5350 based machines */ 
    8787        RAMIPS_MACH_AIR3GII,            /* AirLive Air3GII */ 
     88        RAMIPS_MACH_MPR_A1,             /* HAME MPR-A1 */ 
     89        RAMIPS_MACH_DIR_300_B5,         /* D-Link DIR-300 B5 */ 
    8890}; 
  • target/linux/ramips/rt305x/config-3.7

     
    114114CONFIG_RT305X_MACH_CARAMBOLA=y 
    115115CONFIG_RT305X_MACH_DAP_1350=y 
    116116CONFIG_RT305X_MACH_DIR_300_REVB=y 
     117CONFIG_RT305X_MACH_DIR_300_REVB5=y 
    117118CONFIG_RT305X_MACH_DIR_615_H1=y 
    118119CONFIG_RT305X_MACH_ESR_9753=y 
    119120CONFIG_RT305X_MACH_F5D8235_V2=y 
     
    121122CONFIG_RT305X_MACH_FREESTATION5=y 
    122123CONFIG_RT305X_MACH_HW550_3G=y 
    123124CONFIG_RT305X_MACH_MOFI3500_3GN=y 
     125CONFIG_RT305X_MACH_MPR_A1=y 
    124126CONFIG_RT305X_MACH_MZKW300NH2=y 
    125127CONFIG_RT305X_MACH_NBG_419N=y 
    126128CONFIG_RT305X_MACH_NW718=y 
  • target/linux/ramips/base-files/lib/upgrade/platform.sh

     
    2424        broadway | \ 
    2525        carambola | \ 
    2626        dir-300-b1 | \ 
     27        dir-300-b5 | \ 
    2728        dir-600-b1 | \ 
    2829        dir-600-b2 | \ 
    2930        dir-615-h1 | \ 
     
    3637        freestation5 | \ 
    3738        hw550-3g | \ 
    3839        mofi3500-3gn | \ 
     40        mpr-a1 | \ 
    3941        mzk-w300nh2 | \ 
    4042        nbg-419n | \ 
    4143        nw718 | \ 
  • target/linux/ramips/base-files/lib/preinit/06_set_iface_mac

     
    2222        dir-620-a1 |\ 
    2323        esr-9753 |\ 
    2424        freestation5 |\ 
     25        mpr-a1 | \ 
    2526        nw718 |\ 
    2627        psr-680w |\ 
    2728        rt-n56u |\ 
     
    3637                mac=$(mtd_get_mac_binary devdata 16388) 
    3738                ifconfig eth0 hw ether $mac 2>/dev/null 
    3839                ;; 
     40        dir-300-b5) 
     41                mac=$(mtd_get_mac_ascii devdata 0 lanmac) 
     42                ifconfig eth0 hw ether $mac 2>/dev/null 
     43                ;; 
    3944        dir-645) 
    4045                mac=$(mtd_get_mac_ascii nvram lanmac) 
    4146                mac=$(macaddr_setbit_la "$mac") 
  • target/linux/ramips/base-files/lib/ramips.sh

     
    6969        *"DIR-300 B1") 
    7070                name="dir-300-b1" 
    7171                ;; 
     72        *"DIR-300 B5") 
     73                name="dir-300-b5" 
     74                ;; 
    7275        *"DIR-600 B1") 
    7376                name="dir-600-b1" 
    7477                ;; 
     
    111114        *"MoFi Network MOFI3500-3GN") 
    112115                name="mofi3500-3gn" 
    113116                ;; 
     117        *"MPR-A1") 
     118                name="mpr-a1" 
     119                ;; 
    114120        *"NBG-419N") 
    115121                name="nbg-419n" 
    116122                ;; 
  • target/linux/ramips/base-files/etc/diag.sh

     
    4949        mofi3500-3gn) 
    5050                status_led="mofi3500-3gn:green:status" 
    5151                ;; 
     52        mpr-a1) 
     53                status_led="mpr-a1:red:power" 
     54                ;; 
    5255        nbg-419n) 
    5356                status_led="nbg-419n:green:power" 
    5457                ;; 
  • target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom

     
    3636        dir-615-d) 
    3737                rt2x00_eeprom_extract "devdata" 16384 272 
    3838                ;; 
    39  
     39        dir-300-b5) #This is not a binary eeprom, but the driver loads 
     40                . /lib/functions.sh 
     41                mac=$(mtd_get_mac_ascii devdata wlanmac) 
     42                echo -n 1234 > /lib/firmware/$FIRMWARE 
     43                macaddr_2bin $mac >> /lib/firmware/$FIRMWARE 
     44                dd if=/dev/zero bs=1 count=262 >> /lib/firmware/$FIRMWARE 
     45                ;; 
    4046        dap-1350) 
    41                 rt2x00_eeprom_extract "devdata" 0 272 
    42                 ;; 
    43  
     47                rt2x00_eeprom_extract "devdata" 0 272 
     48                ;; 
    4449        rt-n10-plus | \ 
    4550        rt-g32-b1) 
    4651                rt2x00_eeprom_extract "devconf" 0 272 
     
    7176        freestation5 | \ 
    7277        hw550-3g | \ 
    7378        mofi3500-3gn | \ 
     79        mpr-a1 | \ 
    7480        pwh2004 | \ 
    7581        nbg-419n | \ 
    7682        nw718 | \ 
  • target/linux/ramips/base-files/etc/uci-defaults/01_leds

     
    4646                set_wifi_led "edimax:blue:wlan" 
    4747                ;; 
    4848        dir-300-b1|\ 
     49        dir-300-b2|\ 
    4950        dir-600-b1|\ 
    5051        dir-600-b2|\ 
    5152        dir-620-a1) 
     
    8182        mzk-w300nh2) 
    8283                set_wifi_led "mzkw300nh2:amber:wlan" 
    8384                ;; 
     85        mpr-a1) 
     86                set_wifi_led "mpr-a1:blue:system" 
     87                ;; 
    8488        nw718) 
    8589                set_usb_led "nw718:amber:usb" 
    8690                ;; 
  • target/linux/ramips/base-files/etc/uci-defaults/02_network

     
    160160        br6425 | \ 
    161161        broadway | \ 
    162162        f5d8235-v1 | \ 
     163        mpr-a1 | \ 
    163164        mzk-w300nh2 | \ 
    164165        nw718 | \ 
    165166        psr-680w | \ 
     
    187188                lan_mac=$(mtd_get_mac_binary devdata 16388) 
    188189                wan_mac=$(macaddr_add "$lan_mac" 1) 
    189190                ;; 
    190  
     191        dir-300-b5) 
     192                lan_mac=$(mtd_get_mac_ascii devdata lanmac) 
     193                wan_mac=$(mtd_get_mac_ascii devdata wanmac) 
     194                ;; 
    191195        dir-620-a1) 
    192196                lan_mac=$(mtd_get_mac_binary factory 4) 
    193197                lan_mac=$(macaddr_setbit_la "$lan_mac") 
  • target/linux/ramips/image/Makefile

     
    355355define BuildFirmware/DIR645/initramfs 
    356356        $(call BuildFirmware/Generic/initramfs,$(1),$(2),$(call mkcmdline,$(3),$(4),$(5)) $(call mkmtd/$(6),$(mtdlayout_dir645a1))) 
    357357endef 
     358mtdlayout_4M=192k(u-boot)ro,64k(u-boot-env)ro,64k(factory)ro,896k(kernel),2880k(rootfs),3776k@0x50000(firmware) 
    358359 
     360mtdlayout_dir300b5=192k(u-boot)ro,64k(devdata)ro,64k(devconf)ro,896k(kernel),2880k(rootfs),3776k@0x50000(firmware) 
     361mtd_dir300b5_kernel_part_size=917504 
     362mtd_dir300b5_rootfs_part_size=2949120 
     363define BuildFirmware/DIR300B5 
     364        $(call BuildFirmware/Generic,$(1),$(2),$(call mkcmdline,$(3),$(4),$(5)) $(call mkmtd/$(6),$(mtdlayout_dir300b5)),917504,2949120,$(7),$(8)) 
     365        mkwrgimg -s $(4) -d /dev/mtdblock/2 \ 
     366                -i $(call sysupname,$(1),$(2)) \ 
     367                -o $(call imgname,$(1),$(2))-factory.bin 
     368endef 
     369define BuildFirmware/DIR300B5/initramfs 
     370        $(call BuildFirmware/Generic/initramfs,$(1),$(2),$(call mkcmdline,$(3),ttyS1,57600) $(call mkmtd/spi,$(mtdlayout_dir300b5)),$(mtd_dir300b5_kernel_part_size),$(mtd_dir300b5_rootfs_part_size)) 
     371endef 
     372 
    359373define BuildFirmware/UMedia 
    360374        $(call BuildFirmware/GENERIC_8M,$(1),$(2),$(3),ttyS1,57600,phys) 
    361375        if [ -e "$(call sysupname,$(1),$(2))" ]; then \ 
     
    518532        $(call Image/Build/Template/$(fs_squash)/$(1),DIR300B1,dir-615-d,DIR-615-D,wrgn23_dlwbr_dir615d) 
    519533        $(call Image/Build/Template/$(fs_squash)/$(1),DIR620A1,dir-620-a1,DIR-620-A1) 
    520534endef 
     535define Image/Build/Profile/DIR300B5 
     536        $(call Image/Build/Template/$(fs_squash)/$(1),DIR300B5,dir-300-b5,DIR-300-B5,ttyS1,57600,spi) 
     537endef 
    521538 
    522539define Image/Build/Profile/DIR615H1 
    523540        $(call Image/Build/Template/$(fs_squash)/$(1),DIR615H1,dir-615-h1,DIR-615-H1,ttyS1,57600,spi) 
     
    555572        $(call Image/Build/Template/$(fs_squash)/$(1),GENERIC_8M,mofi3500-3gn,MOFI3500-3GN,ttyS1,57600,phys) 
    556573endef 
    557574 
     575define Image/Build/Profile/MPR_A1 
     576        $(call Image/Build/Template/$(fs_squash)/$(1),GENERIC_4M,mpr-a1,MPR-A1,ttyS1,57600,spi) 
     577endef 
     578 
    558579define Image/Build/Profile/NBG419N 
    559580        $(call Image/Build/Template/$(fs_squash)/$(1),GENERIC_4M,nbg-419n,NBG-419N,ttyS1,57600,phys) 
    560581endef 
     
    662683        $(call Image/Build/Profile/BROADWAY,$(1)) 
    663684        $(call Image/Build/Profile/CARAMBOLA,$(1)) 
    664685        $(call Image/Build/Profile/DIR300B1,$(1)) 
     686        $(call Image/Build/Profile/DIR300B5,$(1))        
    665687        $(call Image/Build/Profile/DIR615H1,$(1)) 
    666688        $(call Image/Build/Profile/DAP1350,$(1)) 
    667689        $(call Image/Build/Profile/ESR9753,$(1)) 
     
    672694        $(call Image/Build/Profile/FREESTATION5,$(1)) 
    673695        $(call Image/Build/Profile/HW5503G,$(1)) 
    674696        $(call Image/Build/Profile/MOFI35003GN,$(1)) 
     697        $(call Image/Build/Profile/MPR_A1,$(1)) 
    675698        $(call Image/Build/Profile/MZKW3000NH2,$(1)) 
    676699        $(call Image/Build/Profile/NBG419N,$(1)) 
    677700        $(call Image/Build/Profile/NW718,$(1))