[OpenWrt-Devel] ar71xx: add support for EnGenius ECB1750

John Crispin blogic at openwrt.org
Fri Dec 11 05:55:41 EST 2015


Hi,

the patches you sent are all whitespace broken and have several other
formal errors.

please read section 11 and 13 of the "how to submit patches" guidelines.
specifically the bit about patch versioning.

the next issues is that your mail client removed all tabs and added spaces

another issue s that you did not follow alphabetical ordering for the
ECB1750 cases in the switch statements

last but not least i spotted at least 1 bit where your code was not
properly indented.

please fix and resend

	John

On 30/11/2015 18:23, Andrew Tyler wrote:
> Okay. I just want to apologize for hammering this but I have been having
> an issue trying to post the patch using my work email (office365). It
> seemed to want to send it as an attachment with dos line endings tacked
> on for some reason. I think ive got that taken care of now so here it
> is: Signed-off-by: Andrew Tyler <atyler at arocna3.com>
> 
> diff --git a/package/base-files/files/bin/config_generate
> b/package/base-files/files/bin/config_generate
> index b6675f1..e1168d8 100755
> --- a/package/base-files/files/bin/config_generate
> +++ b/package/base-files/files/bin/config_generate
> @@ -58,10 +58,7 @@ generate_network() {
>          lan)
>              uci -q batch <<-EOF
>                  set network.$1.type='bridge'
> -                set network.$1.proto='static'
> -                set network.$1.ipaddr='192.168.1.1'
> -                set network.$1.netmask='255.255.255.0'
> -                set network.$1.ip6assign='60'
> +                set network.$1.proto='dhcp'
>              EOF
>          ;;
>          wan)
> diff --git a/package/base-files/files/etc/config/network
> b/package/base-files/files/etc/config/network
> index d3cd3c6..37f6144 100644
> --- a/package/base-files/files/etc/config/network
> +++ b/package/base-files/files/etc/config/network
> @@ -9,10 +9,7 @@ config interface loopback
>  config interface lan
>      option ifname    eth0
>      option type     bridge
> -    option proto    static
> -    option ipaddr    192.168.1.1
> -    option netmask    255.255.255.0
> -    option ip6assign 60
> +    option proto    dhcp
>  
>  config globals globals
>      option ula_prefix auto
> diff --git a/package/base-files/files/etc/init.d/setwlanmac
> b/package/base-files/files/etc/init.d/setwlanmac
> new file mode 100755
> index 0000000..8230595
> --- /dev/null
> +++ b/package/base-files/files/etc/init.d/setwlanmac
> @@ -0,0 +1,16 @@
> +#!/bin/sh /etc/rc.common
> +# Copyright (C) 2014 OpenWrt.org
> +
> +START=98
> +STOP=15
> +
> +start() {
> +    grep athaddr /dev/mtdblock1 | cut -f2 -d= > /tmp/athaddr
> +    grep ethaddr /dev/mtdblock1 | cut -f2 -d= > /tmp/ethaddr
> +        ifconfig wlan1 down;
> +        ifconfig wlan1 hw ether `grep ethaddr /dev/mtdblock1 | cut -f2
> -d=`;
> +        ifconfig wlan1 up;
> +}
> +stop() {
> +    echo "Stop."
> +}
> diff --git
> a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
> index 74c3417..d81843c 100644
> ---
> a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
> +++
> b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
> @@ -75,6 +75,12 @@ case "$FIRMWARE" in
>          ath10kcal_extract "ART" 20480 2116
>          ath10kcal_patch_mac $(macaddr_add $(cat
> /sys/class/net/eth0/address) +16)
>          ;;
> +    ecb1750)
> +        ath10kcal_extract "art" 20480 2116
> +        ifconfig eth0 hw ether `grep ethaddr /dev/mtdblock1 | cut -f2 -d=`
> +        ath10kcal_patch_mac $(macaddr_add $(cat
> /sys/class/net/eth0/address) +1)
> +        ;;
> +
>      esac
>      ;;
>  "ath10k/cal-pci-0000:01:00.0.bin")
> diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh
> b/target/linux/ar71xx/base-files/lib/ar71xx.sh
> index df77040..761afdf 100755
> --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
> +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
> @@ -491,6 +491,9 @@ ar71xx_board_detect() {
>      *"GL AR300")
>          name="gl-ar300"
>          ;;
> +    *"EnGenius ECB1750")
> +    name="ecb1750"
> +    ;;
>      *"EnGenius EPG5000")
>          name="epg5000"
>          ;;
> diff --git
> a/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx
> b/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx
> index 92b3765..d8ede94 100644
> --- a/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx
> +++ b/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx
> @@ -41,6 +41,8 @@ preinit_set_mac_address() {
>          wrt160nl)
>              fetch_mac_from_mtd nvram lan_hwaddr wan_hwaddr
>              ;;
> +        ecb1750)
> +            fetch_mac_from_mtd u-boot-env ethaddr
>      esac
>  }
>  
> diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> index 41886e3..d19a33c 100755
> --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> @@ -216,6 +216,7 @@ platform_check_image() {
>      dlan-pro-1200-ac | \
>      dragino2 | \
>      epg5000 | \
> +    ecb1750 | \
>      esr1750 | \
>      esr900 | \
>      ew-dorin | \
> diff --git a/target/linux/ar71xx/config-4.1 b/target/linux/ar71xx/config-4.1
> index eff197a..d0b0c8a 100644
> --- a/target/linux/ar71xx/config-4.1
> +++ b/target/linux/ar71xx/config-4.1
> @@ -74,6 +74,7 @@ CONFIG_ATH79_MACH_EL_M150=y
>  CONFIG_ATH79_MACH_EL_MINI=y
>  CONFIG_ATH79_MACH_EPG5000=y
>  CONFIG_ATH79_MACH_ESR1750=y
> +CONFIG_ATH79_MACH_ECB1750=y
>  CONFIG_ATH79_MACH_ESR900=y
>  CONFIG_ATH79_MACH_EW_DORIN=y
>  CONFIG_ATH79_MACH_F9K1115V2=y
> diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ecb1750.c
> b/target/linux/ar71xx/files/arch/mips/ath79/mach-ecb1750.c
> new file mode 100644
> index 0000000..aa3cf43
> --- /dev/null
> +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-ecb1750.c
> @@ -0,0 +1,109 @@
> +/*
> + *  EnGenius ECB1750 board support
> + *
> + *  Andrew Tyler <atyler at arocna3.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/platform_device.h>
> +#include <linux/ar8216_platform.h>
> +
> +#include <asm/mach-ath79/ar71xx_regs.h>
> +
> +#include "common.h"
> +#include "dev-ap9x-pci.h"
> +#include "dev-gpio-buttons.h"
> +#include "dev-eth.h"
> +#include "dev-leds-gpio.h"
> +#include "dev-m25p80.h"
> +#include "dev-wmac.h"
> +#include "machtypes.h"
> +#include "pci.h"
> +
> +#define ECB1750_GPIO_LED_LAN        12
> +#define ECB1750_GPIO_LED_WLAN_2G        13
> +#define ECB1750_GPIO_LED_POWER        22
> +#define ECB1750_GPIO_LED_WLAN_5G        23
> +
> +#define ECB1750_GPIO_BTN_RESET        17
> +
> +#define ECB1750_KEYS_POLL_INTERVAL    20    /* msecs */
> +#define ECB1750_KEYS_DEBOUNCE_INTERVAL    (3 * ECB1750_KEYS_POLL_INTERVAL)
> +
> +#define ECB1750_MAC0_OFFSET        0
> +#define ECB1750_MAC1_OFFSET        1
> +#define ECB1750_WMAC_CALDATA_OFFSET    0x1000
> +#define ECB1750_PCIE_CALDATA_OFFSET   0x5000
> +
> +static struct gpio_led ecb1750_leds_gpio[] __initdata = {
> +    {
> +        .name        = "ecb1750:amber:power",
> +        .gpio        = ECB1750_GPIO_LED_POWER,
> +        .active_low    = 0,
> +    },
> +    {
> +        .name        = "ecb1750:blue:lan",
> +        .gpio        = ECB1750_GPIO_LED_LAN,
> +        .active_low    = 0,
> +    },
> +    {
> +        .name        = "ecb1750:blue:wlan24",
> +        .gpio        = ECB1750_GPIO_LED_WLAN_2G,
> +        .active_low    = 0,
> +    },
> +    {
> +        .name        = "ecb1750:blue:wlan58",
> +        .gpio        = ECB1750_GPIO_LED_WLAN_5G,
> +        .active_low    = 0,
> +    },
> +};
> +
> +static struct gpio_keys_button ecb1750_gpio_keys[] __initdata = {
> +    {
> +        .desc        = "Reset button",
> +        .type        = EV_KEY,
> +        .code        = KEY_RESTART,
> +        .debounce_interval = ECB1750_KEYS_DEBOUNCE_INTERVAL,
> +        .gpio        = ECB1750_GPIO_BTN_RESET,
> +        .active_low    = 1,
> +    },
> +};
> +
> +static void __init ecb1750_setup(void)
> +{
> +    u8 *art = (u8 *)KSEG1ADDR(0x1fff0000);
> +    u8 mac[6];
> +
> +    ath79_register_m25p80(NULL);
> +
> +    ath79_register_leds_gpio(-1, ARRAY_SIZE(ecb1750_leds_gpio),
> +                 ecb1750_leds_gpio);
> +    ath79_register_gpio_keys_polled(-1, ECB1750_KEYS_POLL_INTERVAL,
> +                    ARRAY_SIZE(ecb1750_gpio_keys),
> +                    ecb1750_gpio_keys);
> +
> +    ath79_init_mac(mac, art + ECB1750_MAC0_OFFSET, 1);
> +    ath79_init_mac(ath79_eth0_data.mac_addr, art + ECB1750_MAC0_OFFSET, 0);
> +    ath79_register_wmac(art + ECB1750_WMAC_CALDATA_OFFSET, NULL);
> +    ath79_register_pci();
> +
> +    ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
> +    ath79_register_mdio(0, 0x0);
> +
> +    ath79_init_mac(ath79_eth0_data.mac_addr, art + ECB1750_MAC0_OFFSET, 0);
> +
> +    /* GMAC0 is connected to the RMGII interface */
> +    ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
> +    ath79_eth0_data.phy_mask = BIT(5);
> +    ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
> +    ath79_eth0_pll_data.pll_1000 = 0x9a000000;
> +    ath79_eth0_pll_data.pll_100  = 0x80000101;
> +    ath79_eth0_pll_data.pll_10   = 0x80001313;
> +
> +ath79_register_eth(0);
> +}
> +
> +MIPS_MACHINE(ATH79_MACH_ECB1750, "ECB1750", "EnGenius ECB1750",
> ecb1750_setup);
> diff --git a/target/linux/ar71xx/generic/profiles/engenius.mk
> b/target/linux/ar71xx/generic/profiles/engenius.mk
> index 7ea93e3..2a19f58 100644
> --- a/target/linux/ar71xx/generic/profiles/engenius.mk
> +++ b/target/linux/ar71xx/generic/profiles/engenius.mk
> @@ -16,6 +16,16 @@ endef
>  
>  $(eval $(call Profile,EAP300V2))
>  
> +define Profile/ECB1750
> +    NAME:=EnGenius ECB1750
> +    PACKAGES:=kmod-ath9k kmod-ath10k
> +endef
> +
> +define Profile/ECB1750/Description
> +    Package set optimized for the EnGenius ECB1750.
> +endef
> +
> +$(eval $(call Profile,ECB1750))
>  
>  define Profile/ESR900
>      NAME:=EnGenius ESR900
> diff --git a/target/linux/ar71xx/image/Makefile
> b/target/linux/ar71xx/image/Makefile
> index d12ad8b..5de7d82 100644
> --- a/target/linux/ar71xx/image/Makefile
> +++ b/target/linux/ar71xx/image/Makefile
> @@ -1484,6 +1484,7 @@
> cameo_ap94_mtdlayout=mtdparts=spi0.0:256k(uboot)ro,64k(config)ro,6208k(firmware)
>  cameo_ap94_mtdlayout_fat=mtdparts=spi0.0:256k(uboot)ro,64k(config)ro,7808k(firmware),64k(caldata)ro,64k at 0x660000(caldata_orig),6208k at 0x50000(firmware_orig)
>  esr900_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(u-boot-env)ro,1408k(kernel),13248k(rootfs),1024k(manufacture)ro,64k(backup)ro,320k(storage)ro,64k(caldata)ro,14656k at 0x40000(firmware)
>  esr1750_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(u-boot-env)ro,1408k(kernel),13248k(rootfs),1024k(manufacture)ro,64k(backup)ro,320k(storage)ro,64k(caldata)ro,14656k at 0x40000(firmware)
> +ecb1750_mtdlayout=mtdparts=spi0.0:256k(u-boot),64k(u-boot-env),1408k(kernel),14272k(rootfs),320k(userconfig),64k(art),15680k at 0x50000(firmware)
>  epg5000_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(u-boot-env)ro,1408k(kernel),13248k(rootfs),1024k(manufacture)ro,64k(backup)ro,320k(storage)ro,64k(caldata)ro,14656k at 0x40000(firmware)
>  ew-dorin_mtdlayout_4M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env),3712k(firmware),64k(art)
>  ew-dorin_mtdlayout_16M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env),16000k(firmware),64k(art)ro
> @@ -2324,6 +2325,7 @@ $(eval $(call
> SingleProfile,dLANLzma,64k,dLAN_pro_1200_ac,dlan-pro-1200-ac,dLAN-
>  
>  $(eval $(call
> SingleProfile,EnGenius,64k,ESR900,esr900,ESR900,ttyS0,115200,$$(esr900_mtdlayout),KRuImage,,0x4e))
>  $(eval $(call
> SingleProfile,EnGenius,64k,ESR1750,esr1750,ESR1750,ttyS0,115200,$$(esr1750_mtdlayout),KRuImage,,0x61))
> +$(eval $(call
> SingleProfile,EnGenius,64k,ECB1750,ecb1750,ECB1750,ttyS0,115200,$$(ecb1750_mtdlayout),KRuImage,,0x61))
>  $(eval $(call
> SingleProfile,EnGenius,64k,EPG5000,epg5000,EPG5000,ttyS0,115200,$$(epg5000_mtdlayout),KRuImage,,0x71))
>  
>  $(eval $(call
> SingleProfile,HiWiFi,64k,HIWIFI_HC6361,hiwifi-hc6361,HiWiFi-HC6361,ttyATH0,115200,$$(hiwifi_hc6361_mtdlayout),KRuImage))
> diff --git
> a/target/linux/ar71xx/patches-4.1/914-MIPS-ath79-add-ecb1750-support.patch
> b/target/linux/ar71xx/patches-4.1/914-MIPS-ath79-add-ecb1750-support.patch
> new file mode 100644
> index 0000000..42bb18d
> --- /dev/null
> +++
> b/target/linux/ar71xx/patches-4.1/914-MIPS-ath79-add-ecb1750-support.patch
> @@ -0,0 +1,38 @@
> +--- a/arch/mips/ath79/machtypes.h
> ++++ b/arch/mips/ath79/machtypes.h
> +@@ -70,6 +70,7 @@
> +     ATH79_MACH_EAP7660D,        /* Senao EAP7660D */
> +     ATH79_MACH_EL_M150,        /* EasyLink EL-M150 */
> +     ATH79_MACH_EL_MINI,        /* EasyLink EL-MINI */
> ++    ATH79_MACH_ECB1750,        /* EnGenius ECB1750 */
> +     ATH79_MACH_ESR1750,        /* EnGenius ESR1750 */
> +     ATH79_MACH_EPG5000,        /* EnGenius EPG5000 */
> +     ATH79_MACH_F9K1115V2,        /* Belkin AC1750DB */
> +--- a/arch/mips/ath79/Makefile
> ++++ b/arch/mips/ath79/Makefile
> +@@ -83,6 +83,7 @@
> + obj-$(CONFIG_ATH79_MACH_EL_MINI)    += mach-el-mini.o
> + obj-$(CONFIG_ATH79_MACH_EPG5000)    += mach-epg5000.o
> + obj-$(CONFIG_ATH79_MACH_ESR1750)    += mach-esr1750.o
> ++obj-$(CONFIG_ATH79_MACH_ECB1750)    += mach-ecb1750.o
> + obj-$(CONFIG_ATH79_MACH_F9K1115V2)    += mach-f9k1115v2.o
> + obj-$(CONFIG_ATH79_MACH_GL_AR150)   += mach-gl-ar150.o
> + obj-$(CONFIG_ATH79_MACH_GL_AR300)    += mach-gl-ar300.o
> +--- a/arch/mips/ath79/Kconfig
> ++++ b/arch/mips/ath79/Kconfig
> +@@ -289,6 +289,15 @@
> +     select ATH79_DEV_LEDS_GPIO
> +     select ATH79_DEV_M25P80
> +     select ATH79_DEV_USB
> ++    select ATH79_DEV_WMAC
> ++
> ++config ATH79_MACH_ECB1750
> ++    bool "EnGenius ECB1750 board support"
> ++    select SOC_QCA955X
> ++    select ATH79_DEV_ETH
> ++    select ATH79_DEV_GPIO_BUTTONS
> ++    select ATH79_DEV_LEDS_GPIO
> ++    select ATH79_DEV_M25P80
> +     select ATH79_DEV_WMAC
> +
> + config ATH79_MACH_WHR_HP_G300N
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
> 
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list