Ticket #13213: dir-300b5_try2.patch

File dir-300b5_try2.patch, 10.6 KB (added by mikael@…, 5 years ago)
  • 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 
  • target/linux/ramips/files/arch/mips/ralink/rt305x/mach-dir-300-revb5.c

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

     
    3636                mac=$(mtd_get_mac_binary devdata 16388) 
    3737                ifconfig eth0 hw ether $mac 2>/dev/null 
    3838                ;; 
     39        dir-300-b5) 
     40                mac=$(mtd_get_mac_ascii devdata 0 lanmac) 
     41                ifconfig eth0 hw ether $mac 2>/dev/null 
     42                ;; 
    3943        dir-645) 
    4044                mac=$(mtd_get_mac_ascii nvram lanmac) 
    4145                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                ;; 
  • 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 
  • target/linux/ramips/base-files/etc/uci-defaults/02_network

     
    187187                lan_mac=$(mtd_get_mac_binary devdata 16388) 
    188188                wan_mac=$(macaddr_add "$lan_mac" 1) 
    189189                ;; 
    190  
     190        dir-300-b5) 
     191                lan_mac=$(mtd_get_mac_ascii devdata lanmac) 
     192                wan_mac=$(mtd_get_mac_ascii devdata wanmac) 
     193                ;; 
    191194        dir-620-a1) 
    192195                lan_mac=$(mtd_get_mac_binary factory 4) 
    193196                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) 
     
    662679        $(call Image/Build/Profile/BROADWAY,$(1)) 
    663680        $(call Image/Build/Profile/CARAMBOLA,$(1)) 
    664681        $(call Image/Build/Profile/DIR300B1,$(1)) 
     682        $(call Image/Build/Profile/DIR300B5,$(1))        
    665683        $(call Image/Build/Profile/DIR615H1,$(1)) 
    666684        $(call Image/Build/Profile/DAP1350,$(1)) 
    667685        $(call Image/Build/Profile/ESR9753,$(1))