On Mon, Mar 7, 2011 at 1:14 AM, Layne M. Edwards <ledwa...@astrumtech.net> wrote: > This patch adds initial support for the Aztech HW550-3G (Ralink RT3052f SoC, > 8MB flash, 32MB dram). Ethernet is not working yet. Wireless appears to > work fine. USB does not work yet (as with other Ralink boards). > > Signed-off-by: Layne Edwards <ledward...@gmail.com> > > --- > > Index: target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig > =================================================================== > --- target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig (revision > 25902) > +++ target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig (working > copy) > @@ -44,6 +44,12 @@ > select RALINK_DEV_GPIO_BUTTONS > select RALINK_DEV_GPIO_LEDS > > +config RT305X_MACH_HW550_3G > + bool "Aztech HW550-3G support" > + default y > + select RALINK_DEV_GPIO_BUTTONS > + select RALINK_DEV_GPIO_LEDS > + > endmenu > > endif > Index: target/linux/ramips/files/arch/mips/ralink/rt305x/mach-hw550-3g.c > =================================================================== > --- target/linux/ramips/files/arch/mips/ralink/rt305x/mach-hw550-3g.c > (revision 0) > +++ target/linux/ramips/files/arch/mips/ralink/rt305x/mach-hw550-3g.c > (revision 0) > @@ -0,0 +1,127 @@ > +/* > + * Aztech HW550-3G board support > + * > + * Copyright (C) 2011 Layne Edwards <ledward...@gmail.com> > + * > + * 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/mtd/mtd.h> > +#include <linux/mtd/partitions.h> > +#include <linux/mtd/physmap.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 HW550_3G_GPIO_LED_USB 8 > +#define HW550_3G_GPIO_LED_3G_STAT 11 > +#define HW550_3G_GPIO_LED_3G_TOGGLE 12 > +#define HW550_3G_GPIO_LED_WPS 14 > + > +#define HW550_3G_GPIO_BUTTON_RESET 13 /* 10 ? */ > +#define HW550_3G_GPIO_BUTTON_3G 16 /* 7 ? */ > +#define HW550_3G_GPIO_BUTTON_WPS 23 /* 0 ? */ > + > +#define HW550_3G_BUTTONS_POLL_INTERVAL 20 > + > +#ifdef CONFIG_MTD_PARTITIONS > +static struct mtd_partition hw550_3g_partitions[] = { > + { > + .name = "u-boot", > + .offset = 0, > + .size = 0x030000, > + .mask_flags = MTD_WRITEABLE, > + }, { > + .name = "config", > + .offset = 0x030000, > + .size = 0x010000, > + .mask_flags = MTD_WRITEABLE, > + }, { > + .name = "factory", > + .offset = 0x040000, > + .size = 0x010000, > + .mask_flags = MTD_WRITEABLE, > + }, { > + .name = "kernel", > + .offset = 0x050000, > + .size = 0x180000, > + }, { > + .name = "rootfs", > + .offset = 0x1d0000, > + .size = 0x580000, > + }, { > + .name = "user", > + .offset = 0x750000, > + .size = 0x0b0000, > + }, { > + .name = "firmware", > + .offset = 0x050000, > + .size = 0x700000, > + } > +}; > +#endif /* CONFIG_MTD_PARTITIONS */ > + > +static struct physmap_flash_data hw550_3g_flash_data = { > +#ifdef CONFIG_MTD_PARTITIONS > + .nr_parts = ARRAY_SIZE(hw550_3g_partitions), > + .parts = hw550_3g_partitions, > +#endif > +}; > + > +static struct gpio_led hw550_3g_leds_gpio[] __initdata = { > + { > + .name = "hw550-3g:green:usb", > + .gpio = HW550_3G_GPIO_LED_USB, > + .active_low = 1, > + }, { > + .name = "hw550-3g:green:3g-stat", > + .gpio = HW550_3G_GPIO_LED_3G_STAT, > + .active_low = 1, > + }, { > + .name = "hw550-3g:green:3g-toggle", > + .gpio = HW550_3G_GPIO_LED_3G_TOGGLE, > + .active_low = 1, > + }, { > + .name = "hw550-3g:green:wps", > + .gpio = HW550_3G_GPIO_LED_WPS, > + .active_low = 1, > + } > +}; > + > +static struct gpio_button hw550_3g_gpio_buttons[] __initdata = { > + { > + .desc = "reset", > + .type = EV_KEY, > + .code = KEY_RESTART, > + .threshold = 3, > + .gpio = HW550_3G_GPIO_BUTTON_RESET, > + .active_low = 1, > + } > +}; > + > +static void __init hw550_3g_init(void) > +{ > + rt305x_gpio_init(RT305X_GPIO_MODE_GPIO << > RT305X_GPIO_MODE_UART0_SHIFT); > + > + rt305x_register_flash(0, &hw550_3g_flash_data); > + rt305x_register_ethernet(); > + ramips_register_gpio_leds(-1, ARRAY_SIZE(hw550_3g_leds_gpio), > + hw550_3g_leds_gpio); > + ramips_register_gpio_buttons(-1, HW550_3G_BUTTONS_POLL_INTERVAL, > + ARRAY_SIZE(hw550_3g_gpio_buttons), > + hw550_3g_gpio_buttons); > + rt305x_register_wifi(); > + rt305x_register_wdt(); > +} > + > +MIPS_MACHINE(RAMIPS_MACH_HW550_3G, "HW550-3G", "Aztech HW550-3G", > + hw550_3g_init); > Index: target/linux/ramips/files/arch/mips/ralink/rt305x/Makefile > =================================================================== > --- target/linux/ramips/files/arch/mips/ralink/rt305x/Makefile (revision > 25902) > +++ target/linux/ramips/files/arch/mips/ralink/rt305x/Makefile (working > copy) > @@ -18,3 +18,4 @@ > obj-$(CONFIG_RT305X_MACH_WHR_G300N) += mach-whr-g300n.o > obj-$(CONFIG_RT305X_MACH_FONERA20N) += mach-fonera20n.o > obj-$(CONFIG_RT305X_MACH_PWH2004) += mach-pwh2004.o > +obj-$(CONFIG_RT305X_MACH_HW550_3G) += mach-hw550-3g.o > Index: target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h > =================================================================== > --- target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h > (revision 25902) > +++ target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h > (working copy) > @@ -27,4 +27,5 @@ > RAMIPS_MACH_V22RW_2X2, /* Ralink AP-RT3052-V22RW-2X2 */ > RAMIPS_MACH_WHR_G300N, /* Buffalo WHR-G300N */ > RAMIPS_MACH_FONERA20N, /* La Fonera 2.0N */ > + RAMIPS_MACH_HW550_3G, /* Aztech HW550-3G */ > }; > Index: target/linux/ramips/image/Makefile > =================================================================== > --- target/linux/ramips/image/Makefile (revision 25902) > +++ target/linux/ramips/image/Makefile (working copy) > @@ -100,7 +100,11 @@ > $(call Image/Build/Template/GENERIC_4M,$(1),whr-g300n,WHR-G300N) > endef > > +define Image/Build/Profile/HW5503G > + $(call Image/Build/Template/GENERIC_8M,$(1),hw550-3g,HW550-3G) > +endef > > + > mtdlayout_wcr150gn=mtdparts=physmap-flash.0:192k(Bootloader)ro,64k(Config),64k(Factory),832k(Kernel),2944k(rootfs),3776k@0x50000(firmware) > mtd_wcr150gn_kernel_part_size=851968 > mtd_wcr150gn_rootfs_part_size=3014656 > @@ -134,6 +138,7 @@ > $(call Image/Build/Profile/WHRG300N,$(1)) > $(call Image/Build/Profile/WCR150GN,$(1)) > $(call Image/Build/Profile/F5D8235V2,$(1)) > + $(call Image/Build/Profile/HW5503G,$(1)) > endef > endif > > Index: target/linux/ramips/rt305x/config-2.6.36 > =================================================================== > --- target/linux/ramips/rt305x/config-2.6.36 (revision 25902) > +++ target/linux/ramips/rt305x/config-2.6.36 (working copy) > @@ -78,6 +78,7 @@ > CONFIG_RT305X_MACH_DIR_300_REVB=y > CONFIG_RT305X_MACH_F5D8235_V2=y > CONFIG_RT305X_MACH_FONERA20N=y > +CONFIG_RT305X_MACH_HW550_3G=y > CONFIG_RT305X_MACH_PWH2004=y > CONFIG_RT305X_MACH_V22RW_2X2=y > CONFIG_RT305X_MACH_WCR150GN=y > Index: target/linux/ramips/base-files/lib/ramips.sh > =================================================================== > --- target/linux/ramips/base-files/lib/ramips.sh (revision 25902) > +++ target/linux/ramips/base-files/lib/ramips.sh (working copy) > @@ -22,6 +22,9 @@ > *"WHR-G300N") > name="whr-g300n" > ;; > + *"Aztech HW550-3G") > + name="hw550-3g" > + ;; > *) > name="generic" > ;; > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel >
The USB driver is named DWC_OTG, can be taken from some vendor firmware src releases or fonera sources. Shouldn't we add the driver code to the OpenWrt tree? -- Pozdrawiam, Sławomir Cygan _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel