2010.06.18. 0:51 keltezéssel, Daniel Golle írta:
> This patch adds support for Senao EAP7660D board to backfire. The board
> can be found in Senao and EnGenius products.
> The previous patch I attached to ticket #7478 is obsoleted by this one,
> which now supports buttons and LEDs and is cleaned up according to
> Gabor's suggestions.
> Another patch against trunk will follow as soon as I finished testing.
> 
> Signed-off-by: Daniel Golle<daniel.go...@gmail.com>
> 
> ---
>
>Index: target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig
>===================================================================
>--- target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig (revision 21809)
>+++ target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig (working copy)
>@@ -215,6 +215,14 @@
>       select AR71XX_DEV_USB
>       default n
>
>+config AR71XX_MACH_EAP7660D
>+      bool "Senao EAP7660D support"
>+      select AR71XX_DEV_M25P80
>+      select AR71XX_DEV_PB42_PCI if PCI
>+      select AR71XX_DEV_GPIO_BUTTONS
>+      select AR71XX_DEV_LEDS_GPIO
>+      default n
>+
>  endmenu
>
>  config AR71XX_DEV_M25P80
>Index: target/linux/ar71xx/files/arch/mips/ar71xx/mach-eap7660d.c
>===================================================================
>--- target/linux/ar71xx/files/arch/mips/ar71xx/mach-eap7660d.c (revision 0)
>+++ target/linux/ar71xx/files/arch/mips/ar71xx/mach-eap7660d.c (revision 0)
>@@ -0,0 +1,97 @@
>+/*
>+ *  Senao EAP7660D board support
>+ *
>+ *  Copyright (C) 2010 Daniel Golle<daniel.go...@gmail.com>
>+ *  Copyright (C) 2008 Gabor Juhos<juh...@openwrt.org>
>+ *  Copyright (C) 2008 Imre Kaloz<ka...@openwrt.org>
>+ *
>+ *  This program is free software; you can redistribute it and/or modify it
>+ *  under the terms of the GNU General Public License version 2 as published
>+ *  by the Free Software Foundation.
>+ */
>+
>+#include<asm/mach-ar71xx/ar71xx.h>
>+
>+#include "machtype.h"
>+#include "devices.h"
>+#include "dev-gpio-buttons.h"
>+#include "dev-leds-gpio.h"
>+#include "dev-pb42-pci.h"
>+#include "dev-m25p80.h"
>+
>+#define EAP7660D_BUTTONS_POLL_INTERVAL        20
>+#define EAP7660D_GPIO_DS4             7
>+#define EAP7660D_GPIO_DS5             2
>+#define EAP7660D_GPIO_DS7             0
>+#define EAP7660D_GPIO_DS8             4
>+#define EAP7660D_GPIO_SW1             3
>+#define EAP7660D_GPIO_SW3             8
>+#define EAP7660D_PHYMASK              BIT(20)
>+
>+/* LEDs (in order)
>+ * DS3 Power
>+ * DS6 LAN
>+ * DS8 GPIO 0
>+ * DS5 GPIO 2
>+ * DS7 GPIO 4
>+ * DS4 GPIO 7
>+ */

The GPIO numbers for the DS[4578] are obvious from the above definitions, so you
don't have to put them again in a comment. Additionally, the values in the
comment don't match with the definitions.

>+static struct gpio_led eap7660d_leds_gpio[] __initdata = {
>+      {
>+              .name           = "eap7660d:green:ds8",
>+              .gpio           = EAP7660D_GPIO_DS8,
>+              .active_low     = 0,
>+      },
>+      {
>+              .name           = "eap7660d:green:ds5",
>+              .gpio           = EAP7660D_GPIO_DS5,
>+              .active_low     = 0,
>+      },
>+      {
>+              .name           = "eap7660d:green:ds7",
>+              .gpio           = EAP7660D_GPIO_DS7,
>+              .active_low     = 0,
>+      },
>+      {
>+              .name           = "eap7660d:green:ds4",
>+              .gpio           = EAP7660D_GPIO_DS4,
>+              .active_low     = 0,
>+      }
>+};
>+
>+static struct gpio_button eap7660d_gpio_buttons[] __initdata = {
>+      {
>+              .desc           = "sw1",
>+              .type           = EV_KEY,
>+              .code           = BTN_0,
>+              .threshold      = 3,
>+              .gpio           = EAP7660D_GPIO_SW1,
>+              .active_low     = 1,
>+      },
>+      {
>+              .desc           = "sw3",
>+              .type           = EV_KEY,
>+              .code           = BTN_2,
>+              .threshold      = 3,
>+              .gpio           = EAP7660D_GPIO_SW3,
>+              .active_low     = 1,
>+      }
>+};
>+
>+static void __init eap7660d_setup(void)
>+{
>+      ar71xx_add_device_mdio(~EAP7660D_PHYMASK);
>+      ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
>+      ar71xx_eth0_data.phy_mask = EAP7660D_PHYMASK;
>+      ar71xx_add_device_eth(0);
>+      ar71xx_add_device_m25p80(NULL);
>+      ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(eap7660d_leds_gpio),
>+                                      eap7660d_leds_gpio);
>+      ar71xx_add_device_gpio_buttons(-1, EAP7660D_BUTTONS_POLL_INTERVAL,
>+                                      ARRAY_SIZE(eap7660d_gpio_buttons),
>+                                      eap7660d_gpio_buttons);
>+      pb42_pci_init();
>+};
>+
>+MIPS_MACHINE(AR71XX_MACH_EAP7660D, "EAP7660D", "Senao EAP7660D",
>+           eap7660d_setup);
>Index: target/linux/ar71xx/files/arch/mips/ar71xx/Makefile
>===================================================================
>--- target/linux/ar71xx/files/arch/mips/ar71xx/Makefile        (revision 21809)
>+++ target/linux/ar71xx/files/arch/mips/ar71xx/Makefile        (working copy)
>@@ -33,6 +33,7 @@
>  obj-$(CONFIG_AR71XX_MACH_DIR_600_A1) += mach-dir-600-a1.o
>  obj-$(CONFIG_AR71XX_MACH_DIR_615_C1) += mach-dir-615-c1.o
>  obj-$(CONFIG_AR71XX_MACH_DIR_825_B1) += mach-dir-825-b1.o
>+obj-$(CONFIG_AR71XX_MACH_EAP7660D)    += mach-eap7660d.o
>  obj-$(CONFIG_AR71XX_MACH_MZK_W04NU)  += mach-mzk-w04nu.o
>  obj-$(CONFIG_AR71XX_MACH_MZK_W300NH) += mach-mzk-w300nh.o
>  obj-$(CONFIG_AR71XX_MACH_PB42)               += mach-pb42.o

This hunk contains superfluous spaces at the beginning of each original lines.

>Index: target/linux/ar71xx/files/arch/mips/ar71xx/machtype.h
>===================================================================
>--- target/linux/ar71xx/files/arch/mips/ar71xx/machtype.h      (revision 21809)
>+++ target/linux/ar71xx/files/arch/mips/ar71xx/machtype.h      (working copy)
>@@ -54,6 +54,7 @@
>       AR71XX_MACH_WRT160NL,   /* Linksys WRT160NL */
>       AR71XX_MACH_WRT400N,    /* Linksys WRT400N */
>       AR71XX_MACH_WZR_HP_G300NH, /* Buffalo WZR-HP-G300NH */
>+      AR71XX_MACH_EAP7660D,   /* Senao EAP7660D */
>  };
>
>  #endif /* _AR71XX_MACHTYPE_H */

This one too.

>Index: target/linux/ar71xx/image/Makefile
>===================================================================
>--- target/linux/ar71xx/image/Makefile (revision 21809)
>+++ target/linux/ar71xx/image/Makefile (working copy)
>@@ -425,6 +425,10 @@
>       $(call 
> Image/Build/Template/$(fs_64k)/$(1),Cameo7240,dir-600-a1,board=DIR-600-A1,"AP91-AR7240-RT-090223-00")
>  endef
>
>+define Image/Build/Profile/EAP7660D
>+      $(call 
>Image/Build/Template/$(fs_128k)/$(1),PB4X,eap7660d,board=EAP7660D)
>+endef
>+
>  define Image/Build/Profile/FR54RTR
>       $(call 
> Image/Build/Template/$(fs_64k)/$(1),Cameo7240,fr-54rtr,board=DIR-600-A1,"AP91-AR7240-RT-090223-01")
>  endef
>@@ -545,6 +549,7 @@
>       $(call Image/Build/Profile/DIR600A1,$(1))
>       $(call Image/Build/Profile/DIR615C1,$(1))
>       $(call Image/Build/Profile/DIR825B1,$(1))
>+      $(call Image/Build/Profile/EAP7660D,$(1))
>       $(call Image/Build/Profile/FR54RTR,$(1))
>       $(call Image/Build/Profile/MZKW04NU,$(1))
>       $(call Image/Build/Profile/MZKW300NH,$(1))

Same here...

>Index: target/linux/ar71xx/base-files/lib/ar71xx.sh
>===================================================================
>--- target/linux/ar71xx/base-files/lib/ar71xx.sh       (revision 21809)
>+++ target/linux/ar71xx/base-files/lib/ar71xx.sh       (working copy)
>@@ -25,6 +25,9 @@
>       *"DIR-825 rev. B1")
>               name="dir-825-b1"
>               ;;
>+      *EAP7660D)
>+              name="eap7660d"
>+              ;;
>       *"Bullet M")
>               name="bullet-m"
>               ;;

... and here.

>Index: target/linux/ar71xx/base-files/etc/defconfig/eap7660d/network
>===================================================================
>--- target/linux/ar71xx/base-files/etc/defconfig/eap7660d/network      
>(revision 0)
>+++ target/linux/ar71xx/base-files/etc/defconfig/eap7660d/network      
>(revision 0)
>@@ -0,0 +1,12 @@
>+config interface loopback
>+      option ifname   lo
>+      option proto    static
>+      option ipaddr   127.0.0.1
>+      option netmask  255.0.0.0
>+
>+config interface lan
>+      option ifname   eth0
>+      option type     bridge
>+      option proto    static
>+      option ipaddr   192.168.1.1
>+      option netmask  255.255.255.0
>Index: target/linux/ar71xx/config-2.6.32
>===================================================================
>--- target/linux/ar71xx/config-2.6.32  (revision 21809)
>+++ target/linux/ar71xx/config-2.6.32  (working copy)
>@@ -23,6 +23,7 @@
>  CONFIG_AR71XX_MACH_DIR_600_A1=y
>  CONFIG_AR71XX_MACH_DIR_615_C1=y
>  CONFIG_AR71XX_MACH_DIR_825_B1=y
>+CONFIG_AR71XX_MACH_EAP7660D=y
>  CONFIG_AR71XX_MACH_MZK_W04NU=y
>  CONFIG_AR71XX_MACH_MZK_W300NH=y
>  CONFIG_AR71XX_MACH_PB42=y
>@@ -190,6 +191,7 @@
>  CONFIG_PCI_DISABLE_COMMON_QUIRKS=y
>  CONFIG_PCI_DOMAINS=y
>  CONFIG_PHYLIB=y
>+CONFIG_MARVELL_PHY=y
>  # CONFIG_PMC_MSP is not set
>  # CONFIG_PMC_YOSEMITE is not set
>  # CONFIG_PNX8550_JBS is not set

Ditto.
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to