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 6ff24f2f9d..7741eac766 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 @@ -58,6 +58,9 @@ enum ramips_mach_type { RAMIPS_MACH_WR6202, /* Accton WR6202 */ RAMIPS_MACH_XDXRN502J, /* unknown XDX-RN502J */ RAMIPS_MACH_UR_336UN, /* UPVEL ROUTER */ + + /* RT3352 based machines */ + RAMIPS_MACH_ALL5002, /* Allnet ALL5002 */ /* RT3662 based machines */ RAMIPS_MACH_RT_N56U, /* Asus RT-N56U */ diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig b/target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig index 77269fe5c4..34fb51af61 100644 --- a/target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig +++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig @@ -16,6 +16,11 @@ config RT305X_MACH_ALL0256N bool "Allnet ALL0256N support" select RALINK_DEV_GPIO_BUTTONS select RALINK_DEV_GPIO_LEDS + +config RT305X_MACH_ALL5002 + bool "Allnet ALL5002 support" + select RALINK_DEV_GPIO_BUTTONS + select RALINK_DEV_GPIO_LEDS config RT305X_MACH_W502U bool "ALFA Networks W502U board support" diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/Makefile b/target/linux/ramips/files/arch/mips/ralink/rt305x/Makefile index bb8cf07060..7a6fcc0cb4 100644 --- a/target/linux/ramips/files/arch/mips/ralink/rt305x/Makefile +++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/Makefile @@ -15,6 +15,7 @@ obj-$(CONFIG_RT305X_MACH_3G_6200N) += mach-3g-6200n.o obj-$(CONFIG_RT305X_MACH_ARGUS_ATP52B) += mach-argus-atp52b.o obj-$(CONFIG_RT305X_MACH_BC2) += mach-bc2.o obj-$(CONFIG_RT305X_MACH_ALL0256N) += mach-all0256n.o +obj-$(CONFIG_RT305X_MACH_ALL5002) += mach-all5002.o obj-$(CONFIG_RT305X_MACH_DIR_300_REVB) += mach-dir-300-revb.o obj-$(CONFIG_RT305X_MACH_ESR_9753) += mach-esr-9753.o obj-$(CONFIG_RT305X_MACH_F5D8235_V2) += mach-f5d8235-v2.o diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-all5002.c b/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-all5002.c new file mode 100644 index 0000000000..e9d1f41da7 --- /dev/null +++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-all5002.c @@ -0,0 +1,61 @@ +/* + * Allnet ALL5002 + * + * Copyright (C) 2012 Daniel Golle + * + * 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 +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "devices.h" + +// #define ALL5002_GPIO_BUTTON_RESET 0 +// #define ALL5002_GPIO_LED_RSSI_LOW 14 +// #define ALL5002_GPIO_LED_RSSI_MED 12 +// #define ALL5002_GPIO_LED_RSSI_HIGH 13 +// #define ALL5002_BUTTONS_POLL_INTERVAL 20 + +const struct flash_platform_data all5002_flash = { + .type = "mx25l25635e", +}; + +struct spi_board_info all5002_spi_slave_info[] __initdata = { + { + .modalias = "m25p80", + .platform_data = &all5002_flash, + .irq = -1, + .max_speed_hz = 10000000, + .bus_num = 0, + .chip_select = 0, + }, +}; + +static void __init all5002_init(void) +{ + rt305x_gpio_init(RT305X_GPIO_MODE_GPIO << RT305X_GPIO_MODE_UART0_SHIFT); + rt305x_register_spi(all5002_spi_slave_info, + ARRAY_SIZE(all5002_spi_slave_info)); + rt305x_esw_data.vlan_config = RT305X_ESW_VLAN_CONFIG_LLLLW; + rt305x_register_ethernet(); + rt305x_register_wifi(); + rt305x_register_wdt(); + rt305x_register_usb(); +} + +MIPS_MACHINE(RAMIPS_MACH_ALL5002, "ALL5002", "Allnet ALL5002", + all5002_init); diff --git a/target/linux/ramips/rt305x/config-3.3 b/target/linux/ramips/rt305x/config-3.3 index 3ad2857a39..79820a8fcb 100644 --- a/target/linux/ramips/rt305x/config-3.3 +++ b/target/linux/ramips/rt305x/config-3.3 @@ -89,6 +89,7 @@ CONFIG_RALINK_RT305X=y CONFIG_RAMIPS_WDT=y CONFIG_RT305X_MACH_3G_6200N=y CONFIG_RT305X_MACH_ALL0256N=y +CONFIG_RT305X_MACH_ALL5002=y CONFIG_RT305X_MACH_ARGUS_ATP52B=y CONFIG_RT305X_MACH_BC2=y CONFIG_RT305X_MACH_DIR_300_REVB=y