Sorry I forgot to configure default LAN device. I'll send another patch later.
2018-04-21 12:12 GMT+08:00 Chuanhong Guo <gch981...@gmail.com>: > PISEN TS-D084 is an wireless router with a battery and integrated power > supply based on Atheros AR9331. > > Specification: > > - 400/400/200 MHz (CPU/DDR/AHB) > - 64 MB of RAM (DDR2) > - 8 MB of FLASH (SPI NOR) > - 1x 10/100 Mbps Ethernet > - 1T1R 2.4 GHz (AR9331) > - 1x USB 2.0 > > Flash instruction: > The manufacturer are using exactly the same firmware header as TP-LINK > TL-WR703N (including device ID!). Simply upload the factory firmware into > WebUI and flashing is done. > > Signed-off-by: Chuanhong Guo <gch981...@gmail.com> > --- > target/linux/ar71xx/base-files/etc/diag.sh | 1 + > target/linux/ar71xx/base-files/lib/ar71xx.sh | 3 + > .../ar71xx/base-files/lib/upgrade/platform.sh | 1 + > target/linux/ar71xx/config-4.9 | 1 + > .../ar71xx/files/arch/mips/ath79/Kconfig.openwrt | 10 +++ > target/linux/ar71xx/files/arch/mips/ath79/Makefile | 1 + > .../ar71xx/files/arch/mips/ath79/mach-ts-d084.c | 86 > ++++++++++++++++++++++ > .../linux/ar71xx/files/arch/mips/ath79/machtypes.h | 1 + > target/linux/ar71xx/generic/config-default | 1 + > target/linux/ar71xx/image/generic.mk | 11 +++ > 10 files changed, 116 insertions(+) > create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-ts-d084.c > > diff --git a/target/linux/ar71xx/base-files/etc/diag.sh > b/target/linux/ar71xx/base-files/etc/diag.sh > index 797c30f8a5..6a42335f2f 100644 > --- a/target/linux/ar71xx/base-files/etc/diag.sh > +++ b/target/linux/ar71xx/base-files/etc/diag.sh > @@ -208,6 +208,7 @@ get_status_led() { > ;; > e600g-v2|\ > oolite-v5.2-dev|\ > + ts-d084|\ > wifi-pineapple-nano) > status_led="$board:blue:system" > ;; > diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh > b/target/linux/ar71xx/base-files/lib/ar71xx.sh > index 7249cb6151..73b6fa9859 100755 > --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh > +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh > @@ -1319,6 +1319,9 @@ ar71xx_board_detect() { > *"TL-WR942N v1") > name="tl-wr942n-v1" > ;; > + *"TS-D084") > + name="ts-d084" > + ;; > *"Tube2H") > name="tube2h" > ;; > diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh > b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh > index 376984a14a..39a8e90bb7 100755 > --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh > +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh > @@ -483,6 +483,7 @@ platform_check_image() { > tl-wr941nd|\ > tl-wr941nd-v5|\ > tl-wr941nd-v6|\ > + ts-d084|\ > wifi-pineapple-nano) > local magic_ver="0100" > > diff --git a/target/linux/ar71xx/config-4.9 b/target/linux/ar71xx/config-4.9 > index 5cea1b7bde..356c939c10 100644 > --- a/target/linux/ar71xx/config-4.9 > +++ b/target/linux/ar71xx/config-4.9 > @@ -232,6 +232,7 @@ CONFIG_ATH79=y > # CONFIG_ATH79_MACH_TL_WR941ND is not set > # CONFIG_ATH79_MACH_TL_WR941ND_V6 is not set > # CONFIG_ATH79_MACH_TL_WR942N_V1 is not set > +# CONFIG_ATH79_MACH_TS_D084 is not set > # CONFIG_ATH79_MACH_TUBE2H is not set > # CONFIG_ATH79_MACH_UBNT is not set > # CONFIG_ATH79_MACH_UBNT_UNIFIAC is not set > diff --git a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt > b/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt > index 4a032f6021..d0a811b544 100644 > --- a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt > +++ b/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt > @@ -1997,6 +1997,16 @@ config ATH79_MACH_TL_WR2543N > select ATH79_DEV_M25P80 > select ATH79_DEV_USB > > +config ATH79_MACH_TS_D084 > + bool "PISEN TS-D084 support" > + select SOC_AR933X > + select ATH79_DEV_ETH > + select ATH79_DEV_GPIO_BUTTONS > + select ATH79_DEV_LEDS_GPIO > + select ATH79_DEV_M25P80 > + select ATH79_DEV_USB > + select ATH79_DEV_WMAC > + > config ATH79_MACH_TEW_632BRP > bool "TRENDnet TEW-632BRP support" > select SOC_AR913X > diff --git a/target/linux/ar71xx/files/arch/mips/ath79/Makefile > b/target/linux/ar71xx/files/arch/mips/ath79/Makefile > index e606e2c3df..c603273e2e 100644 > --- a/target/linux/ar71xx/files/arch/mips/ath79/Makefile > +++ b/target/linux/ar71xx/files/arch/mips/ath79/Makefile > @@ -242,6 +242,7 @@ obj-$(CONFIG_ATH79_MACH_TL_WR941ND) += > mach-tl-wr941nd.o > obj-$(CONFIG_ATH79_MACH_TL_WR941ND_V6) += mach-tl-wr941nd-v6.o > obj-$(CONFIG_ATH79_MACH_TL_WR940N_V4) += mach-tl-wr940n-v4.o > obj-$(CONFIG_ATH79_MACH_TL_WR942N_V1) += mach-tl-wr942n-v1.o > +obj-$(CONFIG_ATH79_MACH_TS_D084) += mach-ts-d084.o > obj-$(CONFIG_ATH79_MACH_TUBE2H) += mach-tube2h.o > obj-$(CONFIG_ATH79_MACH_UBNT) += mach-ubnt.o > obj-$(CONFIG_ATH79_MACH_UBNT_UNIFIAC) += mach-ubnt-unifiac.o > diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ts-d084.c > b/target/linux/ar71xx/files/arch/mips/ath79/mach-ts-d084.c > new file mode 100644 > index 0000000000..35997daa5f > --- /dev/null > +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-ts-d084.c > @@ -0,0 +1,86 @@ > +/* > + * PISEN TS-D084 board support > + * Basing on TP-LINK TL-WR703N/TL-MR10U board support > + * > + * Copyright (C) 2011 dongyuqi <729650...@qq.com> > + * Copyright (C) 2011-2012 Gabor Juhos <juh...@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 <linux/gpio.h> > + > +#include <asm/mach-ath79/ath79.h> > + > +#include "dev-eth.h" > +#include "dev-gpio-buttons.h" > +#include "dev-leds-gpio.h" > +#include "dev-m25p80.h" > +#include "dev-usb.h" > +#include "dev-wmac.h" > +#include "machtypes.h" > + > +#define TS_D084_GPIO_LED_SYSTEM 0 > +#define TS_D084_GPIO_BTN_RESET 12 > + > + > +#define TS_D084_KEYS_POLL_INTERVAL 20 /* msecs */ > +#define TS_D084_KEYS_DEBOUNCE_INTERVAL (3 * TS_D084_KEYS_POLL_INTERVAL) > + > +static const char *ts_d084_part_probes[] = { > + "tp-link", > + NULL, > +}; > + > +static struct flash_platform_data ts_d084_flash_data = { > + .part_probes = ts_d084_part_probes, > +}; > + > +static struct gpio_led ts_d084_leds_gpio[] __initdata = { > + { > + .name = "ts-d084:blue:system", > + .gpio = TS_D084_GPIO_LED_SYSTEM, > + .active_low = 0, > + }, > +}; > + > +static struct gpio_keys_button ts_d084_gpio_keys[] __initdata = { > + { > + .desc = "reset", > + .type = EV_KEY, > + .code = KEY_RESTART, > + .debounce_interval = TS_D084_KEYS_DEBOUNCE_INTERVAL, > + .gpio = TS_D084_GPIO_BTN_RESET, > + .active_low = 0, > + } > +}; > + > +static void __init ts_d084_setup(void) > +{ > + u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00); > + u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000); > + > + /* disable PHY_SWAP and PHY_ADDR_SWAP bits */ > + ath79_setup_ar933x_phy4_switch(false, false); > + > + ath79_register_m25p80(&ts_d084_flash_data); > + ath79_register_leds_gpio(-1, ARRAY_SIZE(ts_d084_leds_gpio), > + ts_d084_leds_gpio); > + ath79_register_gpio_keys_polled(-1, TS_D084_KEYS_POLL_INTERVAL, > + ARRAY_SIZE(ts_d084_gpio_keys), > + ts_d084_gpio_keys); > + > + ath79_register_usb(); > + > + ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0); > + > + ath79_register_mdio(0, 0x0); > + ath79_register_eth(0); > + > + ath79_register_wmac(ee, mac); > +} > + > +MIPS_MACHINE(ATH79_MACH_TS_D084, "TS-D084", "PISEN TS-D084", > + ts_d084_setup); > diff --git a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h > b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h > index b61ed7abcd..5d554ac207 100644 > --- a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h > +++ b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h > @@ -301,6 +301,7 @@ enum ath79_mach_type { > ATH79_MACH_TL_WR940N_V4, /* TP-LINK TL-WR940N v4 */ > ATH79_MACH_TL_WR940N_V6, /* TP-LINK TL-WR940N v6 */ > ATH79_MACH_TL_WR942N_V1, /* TP-LINK TL-WR942N v1 */ > + ATH79_MACH_TS_D084, /* PISEN TS-D084 */ > ATH79_MACH_TUBE2H, /* Alfa Network Tube2H */ > ATH79_MACH_UBNT_AIRGW, /* Ubiquiti AirGateway */ > ATH79_MACH_UBNT_AIRGWP, /* Ubiquiti AirGateway Pro */ > diff --git a/target/linux/ar71xx/generic/config-default > b/target/linux/ar71xx/generic/config-default > index 6475d2281a..58be9b4f55 100644 > --- a/target/linux/ar71xx/generic/config-default > +++ b/target/linux/ar71xx/generic/config-default > @@ -165,6 +165,7 @@ CONFIG_ATH79_MACH_TL_WR841N_V8=y > CONFIG_ATH79_MACH_TL_WR841N_V9=y > CONFIG_ATH79_MACH_TL_WR902AC_V1=y > CONFIG_ATH79_MACH_TL_WR942N_V1=y > +CONFIG_ATH79_MACH_TS_D084=y > CONFIG_ATH79_MACH_TUBE2H=y > CONFIG_ATH79_MACH_UBNT=y > CONFIG_ATH79_MACH_UBNT_UNIFIAC=y > diff --git a/target/linux/ar71xx/image/generic.mk > b/target/linux/ar71xx/image/generic.mk > index 0d3aedb460..66a7d196d8 100644 > --- a/target/linux/ar71xx/image/generic.mk > +++ b/target/linux/ar71xx/image/generic.mk > @@ -998,6 +998,17 @@ define Device/tellstick-znet-lite > endef > TARGET_DEVICES += tellstick-znet-lite > > +define Device/ts-d084 > + $(Device/tplink-8mlzma) > + DEVICE_TITLE := PISEN TS-D084 > + DEVICE_PACKAGES := kmod-usb-core kmod-usb2 > + BOARDNAME := TS-D084 > + DEVICE_PROFILE := TSD084 > + TPLINK_HWID := 0x07030101 > + CONSOLE := ttyATH0,115200 > +endef > +TARGET_DEVICES += ts-d084 > + > define Device/n5q > DEVICE_TITLE := ALFA Network N5Q > DEVICE_PACKAGES := rssileds -swconfig > -- > 2.14.3 > _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel