Ticket #7478: eap7660d-backfire.patch

File eap7660d-backfire.patch, 7.2 KB (added by daniel.golle@…, 8 years ago)
  • target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig

     
    215215        select AR71XX_DEV_USB 
    216216        default n 
    217217 
     218config AR71XX_MACH_EAP7660D 
     219        bool "Senao EAP7660D support" 
     220        select AR71XX_DEV_M25P80 
     221        select AR71XX_DEV_AP91_ETH 
     222        select AR71XX_DEV_AP91_PCI if PCI 
     223        select AR71XX_DEV_GPIO_BUTTONS 
     224        select AR71XX_DEV_LEDS_GPIO 
     225        default n 
     226 
    218227endmenu 
    219228 
    220229config AR71XX_DEV_M25P80 
  • target/linux/ar71xx/files/arch/mips/ar71xx/mach-eap7660d.c

     
     1/* 
     2 *  Senao EAP7660D board support 
     3 * 
     4 *  Copyright (C) 2010 Daniel Golle <daniel.golle@gmail.com> 
     5 *  partly based on mach-ap83.c 
     6 *  Copyright (C) 2008 Gabor Juhos <juhosg@openwrt.org> 
     7 *  Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org> 
     8 * 
     9 *  This program is free software; you can redistribute it and/or modify it 
     10 *  under the terms of the GNU General Public License version 2 as published 
     11 *  by the Free Software Foundation. 
     12 */ 
     13 
     14#include <linux/platform_device.h> 
     15#include <linux/irq.h> 
     16#include <linux/mmc/host.h> 
     17#include <linux/spi/spi.h> 
     18#include <linux/spi/flash.h> 
     19#include <linux/spi/mmc_spi.h> 
     20#include "dev-m25p80.h" 
     21 
     22#include <asm/mach-ar71xx/ar71xx.h> 
     23 
     24#include <asm/mach-ar71xx/pci.h> 
     25 
     26#include "machtype.h" 
     27#include "devices.h" 
     28#include "dev-gpio-buttons.h" 
     29#include "dev-leds-gpio.h" 
     30 
     31#define EAP7660D_PHYMASK        BIT(20) 
     32 
     33#if 0  
     34/* buttons and leds are hidden inside an outdoor case, so i don't worry bout them for now */ 
     35#define EAP7660D_GPIO_USER_LED  4 
     36#define EAP7660D_GPIO_RESET_BTN 7 
     37#define EAP7660D_GPIO_WPS_BTN   8 
     38#define EAP7660D_BUTTONS_POLL_INTERVAL  20 
     39 
     40static struct gpio_led eap7660d_leds_gpio[] __initdata = { 
     41        { 
     42                .name           = "eap7660d:yellow:user", 
     43                .gpio           = EAP7660D_GPIO_USER_LED, 
     44                .active_low     = 0, 
     45        }, 
     46}; 
     47 
     48static struct gpio_button eap7660d_gpio_buttons[] __initdata = { 
     49        { 
     50                .desc           = "reset", 
     51                .type           = EV_KEY, 
     52                .code           = BTN_0, 
     53                .threshold      = 3, 
     54                .gpio           = EAP7660D_GPIO_RESET_BTN, 
     55                .active_low     = 1, 
     56        }, 
     57        { 
     58                .desc           = "wps", 
     59                .type           = EV_KEY, 
     60                .code           = BTN_1, 
     61                .threshold      = 3, 
     62                .gpio           = EAP7660D_GPIO_WDS_BTN, 
     63                .active_low     = 1, 
     64        } 
     65 
     66}; 
     67#endif 
     68 
     69static struct ar71xx_pci_irq eap7660d_pci_irqs[] __initdata = { 
     70        { 
     71                .slot   = 0, 
     72                .pin    = 1, 
     73                .irq    = AR71XX_PCI_IRQ_DEV0, 
     74        }, { 
     75                .slot   = 1, 
     76                .pin    = 1, 
     77                .irq    = AR71XX_PCI_IRQ_DEV1, 
     78        } 
     79}; 
     80 
     81 
     82 
     83static void __init eap7660d_setup(void) 
     84{ 
     85        ar71xx_add_device_mdio(~EAP7660D_PHYMASK); 
     86        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII; 
     87        ar71xx_eth0_data.phy_mask = EAP7660D_PHYMASK; 
     88        ar71xx_add_device_eth(0); 
     89        ar71xx_add_device_m25p80(NULL); 
     90#if 0 
     91        ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(eap7660d_leds_gpio), 
     92                                        eap7660d_leds_gpio); 
     93 
     94        ar71xx_add_device_gpio_buttons(-1, EAP7660D_BUTTONS_POLL_INTERVAL, 
     95                                        ARRAY_SIZE(eap7660d_gpio_buttons), 
     96                                        eap7660d_gpio_buttons); 
     97#endif 
     98        ar71xx_pci_init(ARRAY_SIZE(eap7660d_pci_irqs), eap7660d_pci_irqs); 
     99} 
     100 
     101MIPS_MACHINE(AR71XX_MACH_EAP7660D, "EAP7660D", "Senao EAP7660D", 
     102             eap7660d_setup); 
  • target/linux/ar71xx/files/arch/mips/ar71xx/Makefile

     
    3333obj-$(CONFIG_AR71XX_MACH_DIR_600_A1)    += mach-dir-600-a1.o 
    3434obj-$(CONFIG_AR71XX_MACH_DIR_615_C1)    += mach-dir-615-c1.o 
    3535obj-$(CONFIG_AR71XX_MACH_DIR_825_B1)    += mach-dir-825-b1.o 
     36obj-$(CONFIG_AR71XX_MACH_EAP7660D)      += mach-eap7660d.o 
    3637obj-$(CONFIG_AR71XX_MACH_MZK_W04NU)     += mach-mzk-w04nu.o 
    3738obj-$(CONFIG_AR71XX_MACH_MZK_W300NH)    += mach-mzk-w300nh.o 
    3839obj-$(CONFIG_AR71XX_MACH_PB42)          += mach-pb42.o 
  • target/linux/ar71xx/files/arch/mips/ar71xx/machtype.h

     
    5454        AR71XX_MACH_WRT160NL,   /* Linksys WRT160NL */ 
    5555        AR71XX_MACH_WRT400N,    /* Linksys WRT400N */ 
    5656        AR71XX_MACH_WZR_HP_G300NH, /* Buffalo WZR-HP-G300NH */ 
     57        AR71XX_MACH_EAP7660D,   /* Senao EAP7660D */ 
    5758}; 
    5859 
    5960#endif /* _AR71XX_MACHTYPE_H */ 
  • target/linux/ar71xx/image/Makefile

     
    425425        $(call Image/Build/Template/$(fs_64k)/$(1),Cameo7240,dir-600-a1,board=DIR-600-A1,"AP91-AR7240-RT-090223-00") 
    426426endef 
    427427 
     428define Image/Build/Profile/EAP7660D 
     429        $(call Image/Build/Template/$(fs_128k)/$(1),PB4X,eap7660d,board=EAP7660D) 
     430endef 
     431 
    428432define Image/Build/Profile/FR54RTR 
    429433        $(call Image/Build/Template/$(fs_64k)/$(1),Cameo7240,fr-54rtr,board=DIR-600-A1,"AP91-AR7240-RT-090223-01") 
    430434endef 
     
    545549        $(call Image/Build/Profile/DIR600A1,$(1)) 
    546550        $(call Image/Build/Profile/DIR615C1,$(1)) 
    547551        $(call Image/Build/Profile/DIR825B1,$(1)) 
     552        $(call Image/Build/Profile/EAP7660D,$(1)) 
    548553        $(call Image/Build/Profile/FR54RTR,$(1)) 
    549554        $(call Image/Build/Profile/MZKW04NU,$(1)) 
    550555        $(call Image/Build/Profile/MZKW300NH,$(1)) 
  • target/linux/ar71xx/base-files/lib/ar71xx.sh

     
    1616        *AP83) 
    1717                name="ap83" 
    1818                ;; 
     19        *EAP7660D) 
     20                name="eap7660d" 
     21                ;; 
    1922        *AW-NR580) 
    2023                name="aw-nr580" 
    2124                ;; 
  • target/linux/ar71xx/base-files/etc/defconfig/eap7660d/network

     
     1config interface loopback 
     2        option ifname   lo 
     3        option proto    static 
     4        option ipaddr   127.0.0.1 
     5        option netmask  255.0.0.0 
     6 
     7config interface lan 
     8        option ifname   eth0 
     9        option type     bridge 
     10        option proto    static 
     11        option ipaddr   192.168.1.1 
     12        option netmask  255.255.255.0 
  • target/linux/ar71xx/config-2.6.32

     
    2323CONFIG_AR71XX_MACH_DIR_600_A1=y 
    2424CONFIG_AR71XX_MACH_DIR_615_C1=y 
    2525CONFIG_AR71XX_MACH_DIR_825_B1=y 
     26CONFIG_AR71XX_MACH_EAP7660D=y 
    2627CONFIG_AR71XX_MACH_MZK_W04NU=y 
    2728CONFIG_AR71XX_MACH_MZK_W300NH=y 
    2829CONFIG_AR71XX_MACH_PB42=y 
     
    190191CONFIG_PCI_DISABLE_COMMON_QUIRKS=y 
    191192CONFIG_PCI_DOMAINS=y 
    192193CONFIG_PHYLIB=y 
     194CONFIG_MARVELL_PHY=y 
    193195# CONFIG_PMC_MSP is not set 
    194196# CONFIG_PMC_YOSEMITE is not set 
    195197# CONFIG_PNX8550_JBS is not set