Hi Knaack,
I am huangfc who make the wrong patch for the EL-M150 and EL-Mini at before. today I remake a new patch for the two modules. please confirm if them can be commit into openwrt. and the two modules can be find the information here: > M-150: > http://item.taobao.com/item.htm?spm=a1z10.5.w4002-2498531248.10.ESiKXR&id=16612265015 > M-mini: > http://item.taobao.com/item.htm?spm=a1z10.5.w4002-2498531248.16.ESiKXR&id=36485130954 thanks! Patch: Index: target/linux/ar71xx/config-3.10 =================================================================== --- target/linux/ar71xx/config-3.10 (revision 40996) +++ target/linux/ar71xx/config-3.10 (working copy) @@ -47,6 +47,8 @@ CONFIG_ATH79_MACH_DIR_825_C1=y CONFIG_ATH79_MACH_DRAGINO2=y CONFIG_ATH79_MACH_EAP7660D=y +CONFIG_ATH79_MACH_EL_M150=y +CONFIG_ATH79_MACH_EL_MINI=y CONFIG_ATH79_MACH_EW_DORIN=y CONFIG_ATH79_MACH_GS_OOLITE=y CONFIG_ATH79_MACH_HORNET_UB=y Index: target/linux/ar71xx/base-files/lib/ar71xx.sh =================================================================== --- target/linux/ar71xx/base-files/lib/ar71xx.sh (revision 40996) +++ target/linux/ar71xx/base-files/lib/ar71xx.sh (working copy) @@ -91,6 +91,12 @@ hwver="v${hwver#0}" case "$hwid" in + "015000"*) + model="ELink EL-M150" + ;; + "015300"*) + model="ELink EL-MINI" + ;; "3C0001"*) model="OOLITE" ;; @@ -307,6 +313,12 @@ *EAP7660D) name="eap7660d" ;; + *EL-M150) + name="el-m150" + ;; + *EL-MINI) + name="el-mini" + ;; *JA76PF) name="ja76pf" ;; Index: target/linux/ar71xx/base-files/lib/upgrade/platform.sh =================================================================== --- target/linux/ar71xx/base-files/lib/upgrade/platform.sh (revision 40996) +++ target/linux/ar71xx/base-files/lib/upgrade/platform.sh (working copy) @@ -224,6 +224,8 @@ ;; archer-c7 | \ + el-m150 | \ + el-mini | \ oolite | \ tl-mr10u | \ tl-mr11u | \ Index: target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration =================================================================== --- target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration (revision 40996) +++ target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration (working copy) @@ -81,6 +81,7 @@ migrate_switch_name "eth0" "switch0" ;; +el-m150|\ rb-450) migrate_switch_name "eth1" "switch0" ;; Index: target/linux/ar71xx/base-files/etc/uci-defaults/02_network =================================================================== --- target/linux/ar71xx/base-files/etc/uci-defaults/02_network (revision 40996) +++ target/linux/ar71xx/base-files/etc/uci-defaults/02_network (working copy) @@ -148,6 +148,16 @@ ucidef_add_switch_vlan "switch0" "2" "0t 2" ;; +el-m150) + ucidef_set_interfaces_lan_wan "eth1" "eth0" + ucidef_add_switch "switch0" "1" "1" + ucidef_add_switch_vlan "switch0" "1" "0 1 3" + ;; + +el-mini) + ucidef_set_interface_lan "eth0" + ;; + tl-wdr4300|\ tl-wr1041n-v2) ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" Index: target/linux/ar71xx/base-files/etc/diag.sh =================================================================== --- target/linux/ar71xx/base-files/etc/diag.sh (revision 40996) +++ target/linux/ar71xx/base-files/etc/diag.sh (working copy) @@ -65,6 +65,10 @@ eap7660d) status_led="eap7660d:green:ds4" ;; + el-m150 | \ + el-mini) + status_led="elink:green:system" + ;; hiwifi-hc6361) status_led="hiwifi:blue:system" ;; Index: target/linux/ar71xx/image/Makefile =================================================================== --- target/linux/ar71xx/image/Makefile (revision 40996) +++ target/linux/ar71xx/image/Makefile (working copy) @@ -1132,6 +1132,8 @@ $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,ARCHERC7V1,archer-c7-v1,ARCHER-C7,ttyS0,115200,0x75000001,1,8Mlzma)) $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,ARCHERC7V2,archer-c7-v2,ARCHER-C7,ttyS0,115200,0xc7000002,1,16Mlzma)) +$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,ELM150,el-m150,EL-M150,ttyATH0,115200,0x01500101,1,8Mlzma)) +$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,ELMINI,el-mini,EL-MINI,ttyATH0,115200,0x01530001,1,8Mlzma)) $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR10U,tl-mr10u-v1,TL-MR10U,ttyATH0,115200,0x00100101,1,4Mlzma)) $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR11UV1,tl-mr11u-v1,TL-MR11U,ttyATH0,115200,0x00110101,1,4Mlzma)) $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR11UV2,tl-mr11u-v2,TL-MR11U,ttyATH0,115200,0x00110102,1,4Mlzma)) Index: target/linux/ar71xx/generic/profiles/easy-link.mk =================================================================== --- /dev/null +++ target/linux/ar71xx/generic/profiles/easy-link.mk @@ -0,0 +1,29 @@ +# +# Copyright (C) 2009 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +define Profile/ELM150 + NAME:=ELINK EL-M150 + PACKAGES:=kmod-usb-core kmod-usb2 +endef + + +define Profile/ELM150/Description + Package set optimized for the ELINK EL-M150. +endef +$(eval $(call Profile,ELM150)) + + +define Profile/ELMINI + NAME:=ELINK EL-MINI + PACKAGES:=kmod-usb-core kmod-usb2 +endef + + +define Profile/ELMINI/Description + Package set optimized for the ELINK EL-MINI. +endef +$(eval $(call Profile,ELMINI)) Index: target/linux/ar71xx/files/arch/mips/ath79/mach-el-m150.c =================================================================== --- /dev/null +++ target/linux/ar71xx/files/arch/mips/ath79/mach-el-m150.c @@ -0,0 +1,112 @@ +/* + * Easy-Link EL-M150 board support + * + * Copyright (C) 2012 huangfc <[email protected]> + * Copyright (C) 2012 HYS <[email protected]> + * + * 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 <asm/mach-ath79/ar71xx_regs.h> + +#include "common.h" +#include "dev-eth.h" +#include "dev-gpio-buttons.h" +#include "dev-leds-gpio.h" +#include "dev-m25p80.h" +#include "dev-wmac.h" +#include "machtypes.h" +#include "dev-usb.h" + +#define EL_M150_GPIO_BTN6 6 +#define EL_M150_GPIO_BTN7 7 +#define EL_M150_GPIO_BTN_RESET 11 + +#define EL_M150_GPIO_LED_SYSTEM 27 +#define EL_M150_GPIO_USB_POWER 8 + +#define EL_M150_KEYS_POLL_INTERVAL 20 /* msecs */ +#define EL_M150_KEYS_DEBOUNCE_INTERVAL (3 * EL_M150_KEYS_POLL_INTERVAL) + +static const char *EL_M150_part_probes[] = { + "tp-link", + NULL, +}; + +static struct flash_platform_data EL_M150_flash_data = { + .part_probes = EL_M150_part_probes, +}; + +static struct gpio_led EL_M150_leds_gpio[] __initdata = { + { + .name = "elink:green:system", + .gpio = EL_M150_GPIO_LED_SYSTEM, + .active_low = 1, + }, +}; + +static struct gpio_keys_button EL_M150_gpio_keys[] __initdata = { + { + .desc = "reset", + .type = EV_KEY, + .code = KEY_RESTART, + .debounce_interval = EL_M150_KEYS_DEBOUNCE_INTERVAL, + .gpio = EL_M150_GPIO_BTN_RESET, + .active_low = 0, + }, + { + .desc = "BTN_6", + .type = EV_KEY, + .code = BTN_6, + .debounce_interval = EL_M150_KEYS_DEBOUNCE_INTERVAL, + .gpio = EL_M150_GPIO_BTN6, + .active_low = 1, + }, + { + .desc = "BTN_7", + .type = EV_KEY, + .code = BTN_7, + .debounce_interval = EL_M150_KEYS_DEBOUNCE_INTERVAL, + .gpio = EL_M150_GPIO_BTN7, + .active_low = 1, + }, +}; + +static void __init el_m150_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_leds_gpio(-1, ARRAY_SIZE(EL_M150_leds_gpio), + EL_M150_leds_gpio); + + ath79_register_gpio_keys_polled(-1, EL_M150_KEYS_POLL_INTERVAL, + ARRAY_SIZE(EL_M150_gpio_keys), + EL_M150_gpio_keys); + + gpio_request_one(EL_M150_GPIO_USB_POWER, + GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED, + "USB power"); + ath79_register_usb(); + + ath79_register_m25p80(&EL_M150_flash_data); + ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1); + ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1); + + ath79_register_mdio(0, 0x0); + ath79_register_eth(0); + ath79_register_eth(1); + + ath79_register_wmac(ee, mac); +} + +MIPS_MACHINE(ATH79_MACH_EL_M150, "EL-M150", + "ELINK EL-M150", el_m150_setup); Index: target/linux/ar71xx/files/arch/mips/ath79/mach-el-mini.c =================================================================== --- /dev/null +++ target/linux/ar71xx/files/arch/mips/ath79/mach-el-mini.c @@ -0,0 +1,86 @@ +/* + * Easy-Link EL-MINI board support + * + * Copyright (C) 2012 huangfc <[email protected]> + * Copyright (C) 2011 hys <[email protected]> + * + * 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 MINI_GPIO_LED_SYSTEM 27 +#define MINI_GPIO_BTN_RESET 11 + +#define MINI_GPIO_USB_POWER 8 + +#define MINI_KEYS_POLL_INTERVAL 20 /* msecs */ +#define MINI_KEYS_DEBOUNCE_INTERVAL (3 * MINI_KEYS_POLL_INTERVAL) + +static const char *mini_part_probes[] = { + "tp-link", + NULL, +}; + +static struct flash_platform_data mini_flash_data = { + .part_probes = mini_part_probes, +}; + +static struct gpio_led mini_leds_gpio[] __initdata = { + { + .name = "elink:green:system", + .gpio = MINI_GPIO_LED_SYSTEM, + .active_low = 1, + }, +}; + +static struct gpio_keys_button mini_gpio_keys[] __initdata = { + { + .desc = "reset", + .type = EV_KEY, + .code = KEY_RESTART, + .debounce_interval = MINI_KEYS_DEBOUNCE_INTERVAL, + .gpio = MINI_GPIO_BTN_RESET, + .active_low = 0, + } +}; + +static void __init el_mini_setup(void) +{ + u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00); + u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000); + + ath79_register_m25p80(&mini_flash_data); + ath79_register_leds_gpio(-1, ARRAY_SIZE(mini_leds_gpio), + mini_leds_gpio); + ath79_register_gpio_keys_polled(-1, MINI_KEYS_POLL_INTERVAL, + ARRAY_SIZE(mini_gpio_keys), + mini_gpio_keys); + + gpio_request_one(MINI_GPIO_USB_POWER, + GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED, + "USB power"); + ath79_register_usb(); + + ath79_init_mac(ath79_eth0_data.mac_addr, mac, -1); + + ath79_register_mdio(0, 0x0); + ath79_register_eth(0); + + ath79_register_wmac(ee, mac); +} + +MIPS_MACHINE(ATH79_MACH_EL_MINI, "EL-MINI", "ELINK EL-MINI", + el_mini_setup); Index: target/linux/ar71xx/patches-3.10/712-MIPS-ath79-add-EL-LINK-support.patch =================================================================== --- /dev/null +++ target/linux/ar71xx/patches-3.10/712-MIPS-ath79-add-EL-LINK-support.patch @@ -0,0 +1,52 @@ +--- a/arch/mips/ath79/machtypes.h ++++ b/arch/mips/ath79/machtypes.h +@@ -50,7 +50,9 @@ enum ath79_mach_type { + ATH79_MACH_EW_DORIN, /* embedded wireless Dorin Platform */ + ATH79_MACH_EW_DORIN_ROUTER, /* embedded wireless Dorin Router Platform */ + ATH79_MACH_EAP7660D, /* Senao EAP7660D */ ++ ATH79_MACH_EL_M150, /* ELINK EL-M150 */ ++ ATH79_MACH_EL_MINI, /* ELINK EL-MINI */ + ATH79_MACH_GS_OOLITE, /* GS OOLITE V1.0 */ + ATH79_MACH_HIWIFI_HC6361, /* HiWiFi HC6361 */ + ATH79_MACH_JA76PF, /* jjPlus JA76PF */ + ATH79_MACH_JA76PF2, /* jjPlus JA76PF2 */ +--- a/arch/mips/ath79/Kconfig ++++ b/arch/mips/ath79/Kconfig +@@ -337,6 +337,26 @@ config ATH79_MACH_EW_DORIN + Say 'Y' here if you want your kernel to support the + Dorin Platform from www.80211.de . + ++config ATH79_MACH_EL_M150 ++ bool "ELINK EL-M150 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_EL_MINI ++ bool "ELINK EL-MINI 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_GS_OOLITE + bool "GS Oolite V1 support" + select SOC_AR933X +--- a/arch/mips/ath79/Makefile ++++ b/arch/mips/ath79/Makefile +@@ -62,6 +62,8 @@ obj-$(CONFIG_ATH79_MACH_DIR_825_C1) += m + obj-$(CONFIG_ATH79_MACH_DRAGINO2) += mach-dragino2.o + obj-$(CONFIG_ATH79_MACH_EW_DORIN) += mach-ew-dorin.o + obj-$(CONFIG_ATH79_MACH_EAP7660D) += mach-eap7660d.o ++obj-$(CONFIG_ATH79_MACH_EL_M150) += mach-el-m150.o ++obj-$(CONFIG_ATH79_MACH_EL_MINI) += mach-el-mini.o + obj-$(CONFIG_ATH79_MACH_GS_OOLITE) += mach-gs-oolite.o + obj-$(CONFIG_ATH79_MACH_HIWIFI_HC6361) += mach-hiwifi-hc6361.o + obj-$(CONFIG_ATH79_MACH_JA76PF) += mach-ja76pf.o
_______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
