Ticket #9461: ralink_asus_rtg32b1.patch

File ralink_asus_rtg32b1.patch, 9.6 KB (added by Sergiy <piratfm@…>, 6 years ago)

Asus RT-G32 b1 device support

  • target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig

     
    2020        select RALINK_DEV_GPIO_BUTTONS 
    2121        select RALINK_DEV_GPIO_LEDS 
    2222 
     23config RT305X_MACH_RT_G32_REVB 
     24        bool "Asus RT-G32 revB board support" 
     25        default y 
     26        select RALINK_DEV_GPIO_BUTTONS 
     27        select RALINK_DEV_GPIO_LEDS 
     28 
    2329config RT305X_MACH_V22RW_2X2 
    2430        bool "Ralink AP-RT3052-V22RW-2X2 board support" 
    2531        default y 
  • target/linux/ramips/files/arch/mips/ralink/rt305x/mach-rt-g32-revb.c

     
     1/* 
     2 *  Asus RT-G32 rev B board support 
     3 * 
     4 *  Copyright (C) 2011 Sergiy <piratfm@gmail.com> 
     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/mtd/mtd.h> 
     16#include <linux/mtd/partitions.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 RT_G32B_GPIO_LED_STATUS_AMBER   8 
     27#define RT_G32B_GPIO_LED_STATUS_GREEN   9 
     28#define RT_G32B_GPIO_LED_WPS            13 
     29 
     30#define RT_G32B_GPIO_BUTTON_WPS 0       /* active low */ 
     31#define RT_G32B_GPIO_BUTTON_RESET       10      /* active low */ 
     32 
     33#define RT_G32B_BUTTONS_POLL_INTERVAL   20 
     34 
     35#ifdef CONFIG_MTD_PARTITIONS 
     36static struct mtd_partition rt_g32b_partitions[] = { 
     37        { 
     38                .name   = "u-boot", 
     39                .offset = 0, 
     40                .size   = 0x030000, 
     41                .mask_flags = MTD_WRITEABLE, 
     42        }, { 
     43                .name   = "devdata", 
     44                .offset = 0x030000, 
     45                .size   = 0x010000, 
     46                .mask_flags = MTD_WRITEABLE, 
     47        }, { 
     48                .name   = "devconf", 
     49                .offset = 0x040000, 
     50                .size   = 0x010000, 
     51                .mask_flags = MTD_WRITEABLE, 
     52        }, { 
     53                .name   = "kernel", 
     54                .offset = 0x050000, 
     55                .size   = 0x0d0000, 
     56        }, { 
     57                .name   = "rootfs", 
     58                .offset = 0x120000, 
     59                .size   = 0x2e0000, 
     60        }, { 
     61                .name   = "openwrt", 
     62                .offset = 0x050000, 
     63                .size   = 0x3b0000, 
     64        } 
     65}; 
     66#endif /* CONFIG_MTD_PARTITIONS */ 
     67 
     68const struct flash_platform_data rt_g32b_flash = { 
     69        .type           = "mx25l3205d", 
     70        .name           = "spi-flash", 
     71#ifdef CONFIG_MTD_PARTITIONS 
     72        .parts          = rt_g32b_partitions, 
     73        .nr_parts       = ARRAY_SIZE(rt_g32b_partitions), 
     74#endif 
     75}; 
     76 
     77struct spi_board_info __initdata rt_g32b_spi_slave_info[] = { 
     78        { 
     79                .modalias       = "m25p80", 
     80                .platform_data  = &rt_g32b_flash, 
     81                .irq            = -1, 
     82                .max_speed_hz   = 10000000, 
     83                .bus_num        = 0, 
     84                .chip_select    = 0, 
     85        }, 
     86}; 
     87 
     88static struct gpio_led rt_g32b_leds_gpio[] __initdata = { 
     89        { 
     90                .name           = "rt-g32b:amber:status", 
     91                .gpio           = RT_G32B_GPIO_LED_STATUS_AMBER, 
     92                .active_low     = 1, 
     93        }, { 
     94                .name           = "rt-g32b:green:status", 
     95                .gpio           = RT_G32B_GPIO_LED_STATUS_GREEN, 
     96                .active_low     = 1, 
     97        }, { 
     98                .name           = "rt-g32b:blue:wps", 
     99                .gpio           = RT_G32B_GPIO_LED_WPS, 
     100                .active_low     = 1, 
     101        } 
     102}; 
     103 
     104static struct gpio_button rt_g32b_gpio_buttons[] __initdata = { 
     105        { 
     106                .desc           = "reset", 
     107                .type           = EV_KEY, 
     108                .code           = KEY_RESTART, 
     109                .threshold      = 3, 
     110                .gpio           = RT_G32B_GPIO_BUTTON_RESET, 
     111                .active_low     = 1, 
     112        }, { 
     113                .desc           = "wps", 
     114                .type           = EV_KEY, 
     115                .code           = KEY_WPS_BUTTON, 
     116                .threshold      = 3, 
     117                .gpio           = RT_G32B_GPIO_BUTTON_WPS, 
     118                .active_low     = 1, 
     119        } 
     120}; 
     121 
     122static void __init rt_g32b_init(void) 
     123{ 
     124        rt305x_gpio_init((RT305X_GPIO_MODE_GPIO << RT305X_GPIO_MODE_UART0_SHIFT) | RT305X_GPIO_MODE_SPI); 
     125 
     126        spi_register_board_info(rt_g32b_spi_slave_info, ARRAY_SIZE(rt_g32b_spi_slave_info)); 
     127        rt305x_register_spi(); 
     128 
     129        rt305x_register_ethernet(); 
     130//      ramips_register_gpio_leds(-1, ARRAY_SIZE(rt_g32b_leds_gpio), 
     131//                                rt_g32b_leds_gpio); 
     132//      ramips_register_gpio_buttons(-1, RT_G32B_BUTTONS_POLL_INTERVAL, 
     133//                                   ARRAY_SIZE(rt_g32b_gpio_buttons), 
     134//                                   rt_g32b_gpio_buttons); 
     135        rt305x_register_wifi(); 
     136        rt305x_register_wdt(); 
     137} 
     138 
     139MIPS_MACHINE(RAMIPS_MACH_RT_G32_REVB, "RT-G32-revB", "Asus RT-G32 revB", 
     140             rt_g32b_init); 
  • target/linux/ramips/files/arch/mips/ralink/rt305x/Makefile

     
    1313 
    1414obj-$(CONFIG_RT305X_MACH_F5D8235_V2)    += mach-f5d8235-v2.o 
    1515obj-$(CONFIG_RT305X_MACH_DIR_300_REVB)  += mach-dir-300-revb.o 
     16obj-$(CONFIG_RT305X_MACH_RT_G32_REVB)   += mach-rt-g32-revb.o 
    1617obj-$(CONFIG_RT305X_MACH_V22RW_2X2)     += mach-v22rw-2x2.o 
    1718obj-$(CONFIG_RT305X_MACH_WCR150GN)      += mach-wcr150gn.o 
    1819obj-$(CONFIG_RT305X_MACH_WHR_G300N)     += mach-whr-g300n.o 
  • target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h

     
    1919 
    2020        /* RT3050 based machines */ 
    2121        RAMIPS_MACH_DIR_300_REVB,       /* D-Link DIR-300 rev B */ 
     22        RAMIPS_MACH_RT_G32_REVB,        /* Asus RT-G32 rev B */ 
    2223 
    2324        /* RT3052 based machines */ 
    2425        RAMIPS_MACH_F5D8235_V2,         /* Belkin F5D8235 v2 */ 
  • target/linux/ramips/image/Makefile

     
    8484        $(call Image/Build/Template/GENERIC_4M,$(1),dir-300-b1,DIR-300-revB) 
    8585endef 
    8686 
     87mtdlayout_rtg32b1=mtdparts=spi-flash.0:192k(u-boot)ro,64k(u-boot-env)ro,64k(factory)ro,832k(kernel),2944k(rootfs),3776k@0x50000(firmware) 
     88mtd_rtg32b1_kernel_part_size=851968 
     89mtd_rtg32b1_rootfs_part_size=3014656 
     90define Image/Build/Template/RTG32B1 
     91        $(call BuildFirmware/Generic,$(1),$(2),board=$(3),mtdlayout_rtg32b1,$(mtd_rtg32b1_kernel_part_size),$(mtd_rtg32b1_rootfs_part_size)) 
     92endef 
     93 
     94define Image/Build/Profile/RTG32B1 
     95        $(call Image/Build/Template/RTG32B1,$(1),rt-g32-b1,RT-G32-revB) 
     96endef 
     97 
    8798define Image/Build/Profile/FONERA20N 
    8899        $(call Image/Build/Template/GENERIC_8M,$(1),fonera20n,FONERA20N) 
    89100endef 
     
    135146ifeq ($(CONFIG_RALINK_RT305X),y) 
    136147define Image/Build/Profile/Default 
    137148        $(call Image/Build/Profile/DIR300B1,$(1)) 
     149        $(call Image/Build/Profile/RTG32B1,$(1)) 
    138150        $(call Image/Build/Profile/FONERA20N,$(1)) 
    139151        $(call Image/Build/Profile/V22RW2X2,$(1)) 
    140152        $(call Image/Build/Profile/PWH2004,$(1)) 
  • target/linux/ramips/rt305x/config-2.6.37

     
    6868# CONFIG_IRQ_PER_CPU is not set 
    6969# CONFIG_LEDS_GPIO is not set 
    7070CONFIG_LOONGSON_UART_BASE=y 
     71CONFIG_M25PXX_USE_FAST_READ=y 
    7172CONFIG_MACH_NO_WESTBRIDGE=y 
    7273# CONFIG_MII is not set 
    7374CONFIG_MIPS=y 
     
    7879CONFIG_MIPS_RAMIPS_NET=y 
    7980# CONFIG_MTD_CFI_INTELEXT is not set 
    8081CONFIG_MTD_CMDLINE_PARTS=y 
     82CONFIG_MTD_M25P80=y 
    8183CONFIG_MTD_PHYSMAP=y 
    8284CONFIG_NEED_DMA_MAP_STATE=y 
    8385CONFIG_NEED_PER_CPU_KM=y 
     
    9799CONFIG_RT305X_MACH_HW550_3G=y 
    98100CONFIG_RT305X_MACH_MOFI3500_3GN=y 
    99101CONFIG_RT305X_MACH_PWH2004=y 
     102CONFIG_RT305X_MACH_RT_G32_REVB=y 
    100103CONFIG_RT305X_MACH_V22RW_2X2=y 
    101104CONFIG_RT305X_MACH_WCR150GN=y 
    102105CONFIG_RT305X_MACH_WHR_G300N=y 
  • target/linux/ramips/base-files/lib/ramips.sh

     
    1313        *"DIR-300 revB") 
    1414                name="dir-300-b1" 
    1515                ;; 
     16        *"RT-G32 revB") 
     17                name="rt-g32-b1" 
     18                ;; 
    1619        *"La Fonera 2.0N") 
    1720                name="fonera20n" 
    1821                ;; 
  • target/linux/ramips/base-files/lib/upgrade/platform.sh

     
    1414        [ "$ARGC" -gt 1 ] && return 1 
    1515 
    1616        case "$board" in 
    17         dir-300-b1 | fonera20n | v22rw-2x2 | whr-g300n | hw550-3g | mofi3500-3gn) 
     17        dir-300-b1 | rt-g32-b1 | fonera20n | v22rw-2x2 | whr-g300n | hw550-3g | mofi3500-3gn) 
    1818                [ "$magic" != "2705" ] && { 
    1919                        echo "Invalid image type." 
    2020                        return 1 
  • target/linux/ramips/base-files/etc/uci-defaults/network

     
    11#!/bin/sh 
    2 RT305X=`cat /proc/cpuinfo | grep RT305` 
    3 [ -z "${RT305X}" ] || { 
     2RT3X5X=`cat /proc/cpuinfo | grep RT3.5` 
     3[ -z "${RT3X5X}" ] || { 
    44        uci batch <<EOF 
    55set network.lan.ifname=eth0.1 
    66set network.wan=interface 
  • target/linux/ramips/base-files/etc/diag.sh

     
    3333        dir-300-b1) 
    3434                status_led="dir-300b:green:status" 
    3535                ;; 
     36        rt-g32-b1) 
     37                status_led="rt-g32b:green:status" 
     38                ;; 
    3639        fonera20n) 
    3740                status_led="fonera20n:green:power" 
    3841                ;;