Hi.

It looks like the current ramips config only generates sysupgrade.bin version
of the image for WL-330N3G. Is there any pointer to an write-up describing
how to put this image into the real hw?

Any info would be appreciated.

Thanks in advance.

--- shinoda

On 2012/04/22, at 18:31, Frédéric Leroy wrote:

> This patch adds support for the ASUS WL-330N3G
> 
> Comparing to the WL-330N, It have 32MB ram, usb support and a bicolor led.
> 
> The bi-color led is driven by 2 gpio.
> I don't know how to handle this, so I simply made 2 leds : one red, one blue. 
> But the red light takes precedence over the blue one according to the chart 
> below.
> 
> r = led is red
> b = led is blue
> 0 = led is off
> 
> xy= x->r for red, b for blue led, y->value of brightness in 
> /sys/class/leds/x/brughtness
> 
> initial state action   led    gpio state
> 
> r0    b0      r0->r1   r      r0      b0
> r0    b0      b0->b1   b      r0      b1
> 
> r1    b0      r1->r0   0      r0      b0
> r1    b0      b0->b1   r      r1      *b1*
> 
> r1    b1      r1->r0   b      r0      b1
> r1    b1      b1->b0   r      r1      b0
> 
> r0    b1      r0->r1   r      r1      *b1*
> r0    b1      b1->b0   0      r0      r0
> 
> Signed-off-by: Frédéric Leroy <fr...@starox.org>
> ---
> target/linux/ramips/base-files/etc/diag.sh         |    2 +-
> .../etc/hotplug.d/firmware/10-rt2x00-eeprom        |    1 +
> .../ramips/base-files/lib/preinit/06_set_iface_mac |    1 +
> target/linux/ramips/base-files/lib/ramips.sh       |    3 +
> .../arch/mips/include/asm/mach-ralink/machine.h    |    1 +
> .../ramips/files/arch/mips/ralink/rt305x/Kconfig   |    5 +
> .../ramips/files/arch/mips/ralink/rt305x/Makefile  |    1 +
> .../files/arch/mips/ralink/rt305x/mach-wl-330n3g.c |  100 ++++++++++++++++++++
> target/linux/ramips/image/Makefile                 |    5 +
> target/linux/ramips/rt305x/config-3.2              |    1 +
> 10 files changed, 119 insertions(+), 1 deletions(-)
> create mode 100644 
> target/linux/ramips/files/arch/mips/ralink/rt305x/mach-wl-330n3g.c
> 
> diff --git a/target/linux/ramips/base-files/etc/diag.sh 
> b/target/linux/ramips/base-files/etc/diag.sh
> index 95f608a..aa02721 100755
> --- a/target/linux/ramips/base-files/etc/diag.sh
> +++ b/target/linux/ramips/base-files/etc/diag.sh
> @@ -69,7 +69,7 @@ get_status_led() {
>       rt-n10-plus)
>               status_led="asus:green:wps"
>               ;;
> -     rt-n56u | wl-330n )
> +     rt-n56u | wl-330n | wl-330n3g)
>               status_led="asus:blue:power"
>               ;;
>       sl-r7205)
> diff --git 
> a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom 
> b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
> index 62788cd..3a602f7 100644
> --- a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
> +++ b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
> @@ -69,6 +69,7 @@ case "$FIRMWARE" in
>       wcr-150gn | \
>       whr-g300n | \
>       wl-330n | \
> +     wl-330n3g | \
>       wl-351 | \
>       wli-tx4-ag300n | \
>       wr512-3gn | \
> diff --git a/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac 
> b/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac
> index f523d69..131c9ba 100644
> --- a/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac
> +++ b/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac
> @@ -30,6 +30,7 @@ preinit_set_mac_address() {
>       omni-emb |\
>       w502u    |\
>       wl-330n |\
> +     wl-330n3g |\
>       wr6202 |\
>       xdxrn502j)
>               mac=$(ramips_get_mac_binary factory 40)
> diff --git a/target/linux/ramips/base-files/lib/ramips.sh 
> b/target/linux/ramips/base-files/lib/ramips.sh
> index 1298ebd..801a134 100755
> --- a/target/linux/ramips/base-files/lib/ramips.sh
> +++ b/target/linux/ramips/base-files/lib/ramips.sh
> @@ -59,6 +59,9 @@ ramips_board_name() {
>       *"Asus WL-330N")
>               name="wl-330n"
>               ;;
> +     *"Asus WL-330N3G")
> +             name="wl-330n3g"
> +             ;;
>       *"Aztech HW550-3G")
>               name="hw550-3g"
>               ;;
> diff --git 
> a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h 
> b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h
> index c2ec146..46a091b 100644
> --- a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h
> +++ b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h
> @@ -30,6 +30,7 @@ enum ramips_mach_type {
>       RAMIPS_MACH_RT_N10_PLUS,        /* Asus RT-N10+ */
>       RAMIPS_MACH_NW718,              /* Netcore NW718 */
>       RAMIPS_MACH_WL_330N,            /* Asus WL-330N */
> +     RAMIPS_MACH_WL_330N3G,          /* Asus WL-330N3G */
> 
>       /* RT3052 based machines */
>       RAMIPS_MACH_ARGUS_ATP52B,       /* Argus ATP-52B */
> diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig 
> b/target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig
> index ef4ddf4..5c86de3 100644
> --- a/target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig
> +++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig
> @@ -36,6 +36,11 @@ config RT305X_MACH_WL_330N
>       select RALINK_DEV_GPIO_BUTTONS
>       select RALINK_DEV_GPIO_LEDS
> 
> +config RT305X_MACH_WL_330N3G
> +     bool "Asus WL-330N3G board support"
> +     select RALINK_DEV_GPIO_BUTTONS
> +     select RALINK_DEV_GPIO_LEDS
> +
> config RT305X_MACH_HW550_3G
>       bool "Aztech HW550-3G support"
>       select RALINK_DEV_GPIO_BUTTONS
> diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/Makefile 
> b/target/linux/ramips/files/arch/mips/ralink/rt305x/Makefile
> index 0336936..5230e95 100644
> --- a/target/linux/ramips/files/arch/mips/ralink/rt305x/Makefile
> +++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/Makefile
> @@ -34,6 +34,7 @@ obj-$(CONFIG_RT305X_MACH_WCR150GN)  += mach-wcr150gn.o
> obj-$(CONFIG_RT305X_MACH_WHR_G300N)   += mach-whr-g300n.o
> obj-$(CONFIG_RT305X_MACH_WR512_3GN)   += mach-wr512-3gn.o
> obj-$(CONFIG_RT305X_MACH_WL_330N)     += mach-wl-330n.o
> +obj-$(CONFIG_RT305X_MACH_WL_330N3G)  += mach-wl-330n3g.o
> obj-$(CONFIG_RT305X_MACH_WL341V3)     += mach-wl341v3.o
> obj-$(CONFIG_RT305X_MACH_WL351)               += mach-wl351.o
> obj-$(CONFIG_RT305X_MACH_WR6202)      += mach-wr6202.o
> diff --git 
> a/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-wl-330n3g.c 
> b/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-wl-330n3g.c
> new file mode 100644
> index 0000000..07ca5a8
> --- /dev/null
> +++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-wl-330n3g.c
> @@ -0,0 +1,100 @@
> +/*
> + *  Asus WL_330N3G board support
> + *
> + *  Copyright (C) 2012 Frederic Leroy <fr...@starox.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 <linux/init.h>
> +#include <linux/platform_device.h>
> +#include <linux/spi/spi.h>
> +#include <linux/spi/flash.h>
> +
> +#include <asm/mach-ralink/machine.h>
> +#include <asm/mach-ralink/dev-gpio-buttons.h>
> +#include <asm/mach-ralink/dev-gpio-leds.h>
> +#include <asm/mach-ralink/rt305x.h>
> +#include <asm/mach-ralink/rt305x_regs.h>
> +
> +#include "devices.h"
> +
> +#define WL_330N3G_GPIO_BUTTON_RESET 10
> +#define WL_330N3G_GPIO_BUTTON_WPS 0
> +#define WL_330N3G_GPIO_LED_3G_BLUE 9
> +#define WL_330N3G_GPIO_LED_3G_RED 13
> +#define WL_330N3G_GPIO_LED_POWER 11
> +#define WL_330N3G_KEYS_POLL_INTERVAL 20
> +#define WL_330N3G_KEYS_DEBOUNCE_INTERVAL     (3 * 
> WL_330N3G_KEYS_POLL_INTERVAL)
> +
> +const struct flash_platform_data wl_330n3g_flash = {
> +     .type           = "mx25l3205d",
> +};
> +
> +struct spi_board_info wl_330n3g_spi_slave_info[] __initdata = {
> +     {
> +             .modalias       = "m25p80",
> +             .platform_data  = &wl_330n3g_flash,
> +             .irq            = -1,
> +             .max_speed_hz   = 10000000,
> +             .bus_num        = 0,
> +             .chip_select    = 0,
> +     },
> +};
> +
> +static struct gpio_keys_button wl_330n3g_gpio_buttons[] __initdata = {
> +     {
> +             .desc           = "reset",
> +             .type           = EV_KEY,
> +             .code           = KEY_RESTART,
> +             .debounce_interval = WL_330N3G_KEYS_DEBOUNCE_INTERVAL,
> +             .gpio           = WL_330N3G_GPIO_BUTTON_RESET,
> +             .active_low     = 1,
> +     },
> +     {
> +             .desc           = "wps",
> +             .type           = EV_KEY,
> +             .code           = KEY_RESTART,
> +             .debounce_interval = WL_330N3G_KEYS_DEBOUNCE_INTERVAL,
> +             .gpio           = WL_330N3G_GPIO_BUTTON_WPS,
> +             .active_low     = 1,
> +     }
> +};
> +
> +static struct gpio_led wl_330n3g_leds_gpio[] __initdata = {
> +     {
> +             .name           = "asus:blue:3g",
> +             .gpio           = WL_330N3G_GPIO_LED_3G_BLUE,
> +             .active_low     = 1,
> +     }, {
> +             .name           = "asus:red:3g",
> +             .gpio           = WL_330N3G_GPIO_LED_3G_RED,
> +             .active_low     = 1,
> +     }, {
> +             .name           = "asus:blue:power",
> +             .gpio           = WL_330N3G_GPIO_LED_POWER,
> +             .active_low     = 1,
> +     }
> +};
> +
> +static void __init wl_330n3g_init(void)
> +{
> +     rt305x_gpio_init(RT305X_GPIO_MODE_GPIO << RT305X_GPIO_MODE_UART0_SHIFT);
> +     rt305x_register_spi(wl_330n3g_spi_slave_info,
> +                         ARRAY_SIZE(wl_330n3g_spi_slave_info));
> +     rt305x_esw_data.vlan_config = RT305X_ESW_VLAN_CONFIG_WLLLL;
> +     rt305x_register_ethernet();
> +     ramips_register_gpio_leds(-1, ARRAY_SIZE(wl_330n3g_leds_gpio),
> +                               wl_330n3g_leds_gpio);
> +     ramips_register_gpio_buttons(-1, WL_330N3G_KEYS_POLL_INTERVAL,
> +                                  ARRAY_SIZE(wl_330n3g_gpio_buttons),
> +                                  wl_330n3g_gpio_buttons);
> +     rt305x_register_wifi();
> +     rt305x_register_usb();
> +     rt305x_register_wdt();
> +}
> +
> +MIPS_MACHINE(RAMIPS_MACH_WL_330N3G, "WL_330N3G", "Asus WL-330N3G",
> +          wl_330n3g_init);
> diff --git a/target/linux/ramips/image/Makefile 
> b/target/linux/ramips/image/Makefile
> index 0c37f7e..11c08de 100644
> --- a/target/linux/ramips/image/Makefile
> +++ b/target/linux/ramips/image/Makefile
> @@ -387,6 +387,10 @@ define Image/Build/Profile/WL_330N
>       $(call 
> Image/Build/Template/$(fs_squash)/$(1),GENERIC_4M,wl-330n,WL_330N,ttyS1,57600,spi)
> endef
> 
> +define Image/Build/Profile/WL_330N3G
> +     $(call 
> Image/Build/Template/$(fs_squash)/$(1),GENERIC_4M,wl-330n3g,WL_330N3G,ttyS1,57600,spi)
> +endef
> +
> define Image/Build/Profile/WL341V3
>       $(call Image/Build/Template/$(fs_squash)/$(1),WL341V3,wl341v3,WL341V3)
> endef
> @@ -432,6 +436,7 @@ define Image/Build/Profile/Default
>       $(call Image/Build/Profile/WCR150GN,$(1))
>       $(call Image/Build/Profile/WHRG300N,$(1))
>       $(call Image/Build/Profile/WL_330N,$(1))
> +     $(call Image/Build/Profile/WL_330N3G,$(1))
>       $(call Image/Build/Profile/WL341V3,$(1))
>       $(call Image/Build/Profile/WL351,$(1))
>       $(call Image/Build/Profile/WR5123GN,$(1))
> diff --git a/target/linux/ramips/rt305x/config-3.2 
> b/target/linux/ramips/rt305x/config-3.2
> index 993cc5a..a5c9c34 100644
> --- a/target/linux/ramips/rt305x/config-3.2
> +++ b/target/linux/ramips/rt305x/config-3.2
> @@ -117,6 +117,7 @@ CONFIG_RT305X_MACH_WHR_G300N=y
> CONFIG_RT305X_MACH_WL341V3=y
> CONFIG_RT305X_MACH_WL351=y
> CONFIG_RT305X_MACH_WL_330N=y
> +CONFIG_RT305X_MACH_WL_330N3G=y
> CONFIG_RT305X_MACH_WR512_3GN=y
> CONFIG_RT305X_MACH_WR6202=y
> CONFIG_RT305X_MACH_XDX_RN502J=y
> -- 
> 1.7.3.4
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Attachment: smime.p7s
Description: S/MIME cryptographic signature

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

Reply via email to