[OpenWrt-Devel] [PATCH] ar71xx: add support for the EnGenius ESR900

Hartmut Knaack knaack.h at gmx.de
Sun Jun 22 09:47:54 EDT 2014


I'm afraid this patch has seriously been mangled by your mail client, please resend. Also, even though there is already some mess-up in alphabetic order in ar71xx_board_detect(), your entry should be between eap7660d and ja76pf.

Forest Crossman schrieb:
> Signed-off-by: Forest Crossman <cyrozap at gmail.com>
> ---
>  package/base-files/files/lib/functions/system.sh   |   1 +
>  target/linux/ar71xx/base-files/etc/diag.sh         |   3 +
>  .../ar71xx/base-files/etc/uci-defaults/01_leds     |   5 +
>  .../ar71xx/base-files/etc/uci-defaults/02_network  |  11 +
>  target/linux/ar71xx/base-files/lib/ar71xx.sh       |   3 +
>  target/linux/ar71xx/config-3.10                    |   1 +
>  .../ar71xx/files/arch/mips/ath79/mach-esr900.c     | 232 +++++++++++++++++++++
>  target/linux/ar71xx/files/arch/mips/ath79/nvram.c  |  16 ++
>  target/linux/ar71xx/generic/profiles/engenius.mk   |  16 ++
>  target/linux/ar71xx/image/Makefile                 |   2 +
>  .../610-MIPS-ath79-openwrt-machines.patch          |  18 +-
>  11 files changed, 305 insertions(+), 3 deletions(-)
>  create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-esr900.c
>  create mode 100644 target/linux/ar71xx/generic/profiles/engenius.mk
>
> diff --git a/package/base-files/files/lib/functions/system.sh
> b/package/base-files/files/lib/functions/system.sh
> index a4c0f26..8d75a5a 100644
> --- a/package/base-files/files/lib/functions/system.sh
> +++ b/package/base-files/files/lib/functions/system.sh
> @@ -82,6 +82,7 @@ macaddr_canonicalize()
>   local mac="$1"
>   local canon=""
>
> + mac=$(echo -n $mac | tr -d \")
>   [ ${#mac} -gt 17 ] && return
>   [ -n "${mac//[a-fA-F0-9\.: -]/}" ] && return
>
> diff --git a/target/linux/ar71xx/base-files/etc/diag.sh
> b/target/linux/ar71xx/base-files/etc/diag.sh
> index d5063de..81e4eff 100755
> --- a/target/linux/ar71xx/base-files/etc/diag.sh
> +++ b/target/linux/ar71xx/base-files/etc/diag.sh
> @@ -238,6 +238,9 @@ get_status_led() {
>   wlr8100)
>   status_led="sitecom:amber:status"
>   ;;
> + esr900)
> + status_led="engenius:amber:power"
> + ;;
>   esac
>  }
>
> diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
> b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
> index fe5ff93..8265b00 100755
> --- a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
> +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
> @@ -103,6 +103,11 @@ dir-825-c1)
>   ucidef_set_led_wlan "wlan2g" "WLAN 2.4 GHz" "d-link:blue:wlan2g" "phy0tpt"
>   ;;
>
> +esr900)
> + ucidef_set_led_wlan "wlan2g" "WLAN 2.4 GHz" "engenius:blue:wlan-2g" "phy0tpt"
> + ucidef_set_led_wlan "wlan5g" "WLAN 5 GHz" "engenius:blue:wlan-5g" "phy1tpt"
> + ;;
> +
>  hiwifi-hc6361)
>   ucidef_set_led_default "inet" "INET" "hiwifi:blue:internet" "0"
>   ucidef_set_led_wlan "wlan" "WLAN" "hiwifi:blue:wlan-2p4" "phy0tpt"
> diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
> b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
> index a2b2762..08bd1c8 100755
> --- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
> +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
> @@ -378,6 +378,17 @@ wndr3700)
>   uci set network. at switch_port[-1].led='2'
>   ;;
>
> +esr900)
> + local wan_mac
> + local lan_mac
> + ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
> + ucidef_add_switch "switch0" "1" "1"
> + ucidef_add_switch_vlan "switch0" "1" "0t 1 2 3 4"
> + ucidef_add_switch_vlan "switch0" "2" "0t 5"
> + wan_mac=$(mtd_get_mac_ascii u-boot-env "wanaddr")
> + [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" "$wan_mac"
> + ;;
> +
>  *)
>   ucidef_set_interfaces_lan_wan "eth0" "eth1"
>   ;;
> diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh
> b/target/linux/ar71xx/base-files/lib/ar71xx.sh
> index 6dd5e62..e346f97 100755
> --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
> +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
> @@ -676,6 +676,9 @@ ar71xx_board_detect() {
>   *"HiWiFi HC6361")
>   name="hiwifi-hc6361"
>   ;;
> + *"EnGenius ESR900")
> + name="esr900"
> + ;;
>   esac
>
>   case "$machine" in
> diff --git a/target/linux/ar71xx/config-3.10 b/target/linux/ar71xx/config-3.10
> index c294cd8..78d5359 100644
> --- a/target/linux/ar71xx/config-3.10
> +++ b/target/linux/ar71xx/config-3.10
> @@ -47,6 +47,7 @@ CONFIG_ATH79_MACH_DIR_825_B1=y
>  CONFIG_ATH79_MACH_DIR_825_C1=y
>  CONFIG_ATH79_MACH_DRAGINO2=y
>  CONFIG_ATH79_MACH_EAP7660D=y
> +CONFIG_ATH79_MACH_ESR900=y
>  CONFIG_ATH79_MACH_EW_DORIN=y
>  CONFIG_ATH79_MACH_GS_OOLITE=y
>  CONFIG_ATH79_MACH_HORNET_UB=y
> diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-esr900.c
> b/target/linux/ar71xx/files/arch/mips/ath79/mach-esr900.c
> new file mode 100644
> index 0000000..64e590a
> --- /dev/null
> +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-esr900.c
> @@ -0,0 +1,232 @@
> +/*
> + * EnGenius ESR900 board support
> + *
> + * Based on the Qualcomm Atheros AP135/AP136 reference board support code
> + * Copyright (c) 2012 Qualcomm Atheros
> + * Copyright (c) 2012-2013 Gabor Juhos <juhosg at openwrt.org>
> + *
> + * Permission to use, copy, modify, and/or distribute this software for any
> + * purpose with or without fee is hereby granted, provided that the above
> + * copyright notice and this permission notice appear in all copies.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
> + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
> + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
> + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
> + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
> + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
> + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
> + *
> + */
> +
> +#include <linux/platform_device.h>
> +#include <linux/ar8216_platform.h>
> +
> +#include <asm/mach-ath79/ar71xx_regs.h>
> +
> +#include "common.h"
> +#include "pci.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-usb.h"
> +#include "dev-wmac.h"
> +#include "machtypes.h"
> +#include "nvram.h"
> +
> +#define ESR900_GPIO_LED_POWER 2
> +#define ESR900_GPIO_LED_WLAN_2G 13
> +#define ESR900_GPIO_LED_WPS_BLUE 19
> +#define ESR900_GPIO_LED_WPS_AMBER 22
> +#define ESR900_GPIO_LED_WLAN_5G 23
> +
> +#define ESR900_GPIO_BTN_WPS 16
> +#define ESR900_GPIO_BTN_RESET 17
> +
> +#define ESR900_KEYS_POLL_INTERVAL 20 /* msecs */
> +#define ESR900_KEYS_DEBOUNCE_INTERVAL (3 * ESR900_KEYS_POLL_INTERVAL)
> +
> +#define ESR900_CALDATA_ADDR 0x1fff0000
> +#define ESR900_WMAC_CALDATA_OFFSET 0x1000
> +#define ESR900_PCIE_CALDATA_OFFSET 0x5000
> +
> +#define ESR900_CONFIG_ADDR 0x1f030000
> +#define ESR900_CONFIG_SIZE 0x10000
> +
> +#define ESR900_LAN_PHYMASK BIT(0)
> +#define ESR900_WAN_PHYMASK BIT(5)
> +#define ESR900_MDIO_MASK (~(ESR900_LAN_PHYMASK | ESR900_WAN_PHYMASK))
> +
> +static struct gpio_led esr900_leds_gpio[] __initdata = {
> + {
> + .name = "engenius:amber:power",
> + .gpio = ESR900_GPIO_LED_POWER,
> + .active_low = 1,
> + },
> + {
> + .name = "engenius:blue:wlan-2g",
> + .gpio = ESR900_GPIO_LED_WLAN_2G,
> + .active_low = 1,
> + },
> + {
> + .name = "engenius:blue:wps",
> + .gpio = ESR900_GPIO_LED_WPS_BLUE,
> + .active_low = 1,
> + },
> + {
> + .name = "engenius:amber:wps",
> + .gpio = ESR900_GPIO_LED_WPS_AMBER,
> + .active_low = 1,
> + },
> + {
> + .name = "engenius:blue:wlan-5g",
> + .gpio = ESR900_GPIO_LED_WLAN_5G,
> + .active_low = 1,
> + }
> +};
> +
> +static struct gpio_keys_button esr900_gpio_keys[] __initdata = {
> + {
> + .desc = "WPS button",
> + .type = EV_KEY,
> + .code = KEY_WPS_BUTTON,
> + .debounce_interval = ESR900_KEYS_DEBOUNCE_INTERVAL,
> + .gpio = ESR900_GPIO_BTN_WPS,
> + .active_low = 1,
> + },
> + {
> + .desc = "Reset button",
> + .type = EV_KEY,
> + .code = KEY_RESTART,
> + .debounce_interval = ESR900_KEYS_DEBOUNCE_INTERVAL,
> + .gpio = ESR900_GPIO_BTN_RESET,
> + .active_low = 1,
> + },
> +};
> +
> +static struct ar8327_pad_cfg esr900_ar8327_pad0_cfg;
> +static struct ar8327_pad_cfg esr900_ar8327_pad6_cfg;
> +
> +static struct ar8327_platform_data esr900_ar8327_data = {
> + .pad0_cfg = &esr900_ar8327_pad0_cfg,
> + .pad6_cfg = &esr900_ar8327_pad6_cfg,
> + .port0_cfg = {
> + .force_link = 1,
> + .speed = AR8327_PORT_SPEED_1000,
> + .duplex = 1,
> + .txpause = 1,
> + .rxpause = 1,
> + },
> + .port6_cfg = {
> + .force_link = 1,
> + .speed = AR8327_PORT_SPEED_1000,
> + .duplex = 1,
> + .txpause = 1,
> + .rxpause = 1,
> + },
> +};
> +
> +static struct mdio_board_info esr900_mdio0_info[] = {
> + {
> + .bus_id = "ag71xx-mdio.0",
> + .phy_addr = 0,
> + .platform_data = &esr900_ar8327_data,
> + },
> +};
> +
> +static void __init esr900_gmac_setup(void)
> +{
> + void __iomem *base;
> + u32 t;
> +
> + base = ioremap(QCA955X_GMAC_BASE, QCA955X_GMAC_SIZE);
> +
> + t = __raw_readl(base + QCA955X_GMAC_REG_ETH_CFG);
> +
> + t &= ~(QCA955X_ETH_CFG_RGMII_EN | QCA955X_ETH_CFG_GE0_SGMII);
> + t |= QCA955X_ETH_CFG_RGMII_EN;
> +
> + __raw_writel(t, base + QCA955X_GMAC_REG_ETH_CFG);
> +
> + iounmap(base);
> +}
> +
> +static void __init esr900_common_setup(void)
> +{
> + const char *config = (char *) KSEG1ADDR(ESR900_CONFIG_ADDR);
> + u8 *art = (u8 *) KSEG1ADDR(ESR900_CALDATA_ADDR);
> + u8 lan_mac[6];
> + u8 wlan0_mac[6];
> + u8 wlan1_mac[6];
> +
> + if (ath79_nvram_parse_mac_addr(config, ESR900_CONFIG_SIZE,
> +       "ethaddr=", lan_mac) == 0) {
> + ath79_init_local_mac(ath79_eth0_data.mac_addr, lan_mac);
> + ath79_init_mac(wlan0_mac, lan_mac, 0);
> + ath79_init_mac(wlan1_mac, lan_mac, 1);
> + } else {
> + printk(KERN_ERR "mach-esr900: could not find ethaddr in u-boot
> environment\n");
> + }
> +
> + ath79_register_m25p80(NULL);
> +
> + ath79_register_leds_gpio(-1, ARRAY_SIZE(esr900_leds_gpio),
> + esr900_leds_gpio);
> + ath79_register_gpio_keys_polled(-1, ESR900_KEYS_POLL_INTERVAL,
> + ARRAY_SIZE(esr900_gpio_keys),
> + esr900_gpio_keys);
> +
> + ath79_register_usb();
> +
> + ath79_register_wmac(art + ESR900_WMAC_CALDATA_OFFSET, wlan0_mac);
> +
> + esr900_gmac_setup();
> +
> + ath79_register_mdio(0, 0x0);
> +
> + mdiobus_register_board_info(esr900_mdio0_info,
> +    ARRAY_SIZE(esr900_mdio0_info));
> +
> + /* GMAC0 is connected to the RMGII interface */
> + ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
> + ath79_eth0_data.phy_mask = ESR900_LAN_PHYMASK;
> + ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
> +
> + ath79_register_eth(0);
> +
> + /* GMAC1 is connected to the SGMII interface */
> + ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
> + ath79_eth1_data.speed = SPEED_1000;
> + ath79_eth1_data.duplex = DUPLEX_FULL;
> +
> + ath79_register_eth(1);
> +
> + ap91_pci_init(art + ESR900_PCIE_CALDATA_OFFSET, wlan1_mac);
> +}
> +
> +static void __init esr900_010_setup(void)
> +{
> + /* GMAC0 of the AR8337 switch is connected to GMAC0 via RGMII */
> + esr900_ar8327_pad0_cfg.mode = AR8327_PAD_MAC_RGMII;
> + esr900_ar8327_pad0_cfg.txclk_delay_en = true;
> + esr900_ar8327_pad0_cfg.rxclk_delay_en = true;
> + esr900_ar8327_pad0_cfg.txclk_delay_sel = AR8327_CLK_DELAY_SEL1;
> + esr900_ar8327_pad0_cfg.rxclk_delay_sel = AR8327_CLK_DELAY_SEL2;
> +
> + /* GMAC6 of the AR8337 switch is connected to GMAC1 via SGMII */
> + esr900_ar8327_pad6_cfg.mode = AR8327_PAD_MAC_SGMII;
> + esr900_ar8327_pad6_cfg.rxclk_delay_en = true;
> + esr900_ar8327_pad6_cfg.rxclk_delay_sel = AR8327_CLK_DELAY_SEL0;
> +
> + ath79_eth0_pll_data.pll_1000 = 0xa6000000;
> + ath79_eth1_pll_data.pll_1000 = 0x03000101;
> +
> + esr900_common_setup();
> +}
> +
> +MIPS_MACHINE(ATH79_MACH_ESR900, "ESR900",
> +     "EnGenius ESR900",
> +     esr900_010_setup);
> +
> diff --git a/target/linux/ar71xx/files/arch/mips/ath79/nvram.c
> b/target/linux/ar71xx/files/arch/mips/ath79/nvram.c
> index 43911b8..9507239 100644
> --- a/target/linux/ar71xx/files/arch/mips/ath79/nvram.c
> +++ b/target/linux/ar71xx/files/arch/mips/ath79/nvram.c
> @@ -16,6 +16,21 @@
>
>  #include "nvram.h"
>
> +char *ath79_nvram_sanitize_mac(char *input)
> +{
> + int i,j;
> + char *output=input;
> + for (i = 0, j = 0; i<strlen(input); i++,j++)
> + {
> + if (input[i]!='\"')
> + output[j]=input[i];
> + else
> + j--;
> + }
> + output[j]=0;
> + return output;
> +}
> +
>  char *ath79_nvram_find_var(const char *name, const char *buf, unsigned buf_len)
>  {
>   unsigned len = strlen(name);
> @@ -59,6 +74,7 @@ int ath79_nvram_parse_mac_addr(const char *nvram,
> unsigned nvram_len,
>   goto free;
>   }
>
> + mac_str = ath79_nvram_sanitize_mac(mac_str);
>   t = sscanf(mac_str, "%02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx",
>     &mac[0], &mac[1], &mac[2], &mac[3], &mac[4], &mac[5]);
>
> diff --git a/target/linux/ar71xx/generic/profiles/engenius.mk
> b/target/linux/ar71xx/generic/profiles/engenius.mk
> new file mode 100644
> index 0000000..343ced6
> --- /dev/null
> +++ b/target/linux/ar71xx/generic/profiles/engenius.mk
> @@ -0,0 +1,16 @@
> +#
> +# Copyright (C) 2009-2013 OpenWrt.org
> +#
> +# This is free software, licensed under the GNU General Public License v2.
> +# See /LICENSE for more information.
> +#
> +define Profile/ESR900
> +        NAME:=EnGenius ESR900
> +        PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
> +endef
> +
> +define Profile/ESR900/Description
> +        Package set optimized for the EnGenius ESR900
> +endef
> +
> +$(eval $(call Profile,ESR900))
> diff --git a/target/linux/ar71xx/image/Makefile
> b/target/linux/ar71xx/image/Makefile
> index d0ee363..303a84b 100644
> --- a/target/linux/ar71xx/image/Makefile
> +++ b/target/linux/ar71xx/image/Makefile
> @@ -264,6 +264,7 @@
> cap4200ag_mtdlayout=mtdparts=spi0.0:256k(u-boot),64k(u-boot-env),320k(custom)ro,
>  db120_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,6336k(rootfs),1408k(kernel),64k(nvram),64k(art)ro,7744k at 0x50000(firmware)
>  cameo_ap94_mtdlayout=mtdparts=spi0.0:256k(uboot)ro,64k(config)ro,6208k(firmware),64k(caldata)ro,1600k(unknown)ro,64k at 0x7f0000(caldata_copy)
>  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,14656k(firmware),1024k(manufacture)ro,64k(backup)ro,320k(storage)ro,64k(caldata)ro
>  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)
>  dlrtdev_mtdlayout=mtdparts=spi0.0:256k(uboot)ro,64k(config)ro,6208k(firmware),64k(caldata)ro,640k(certs),960k(unknown)ro,64k at 0x7f0000(caldata_copy)
> @@ -1032,6 +1033,7 @@ $(eval $(call
> SingleProfile,AthLzma,64k,BXU2000N2,bxu2000n-2-a1,BXU2000n-2-A1,tt
>  $(eval $(call SingleProfile,AthLzma,64k,CAP4200AG,cap4200ag,CAP4200AG,ttyS0,115200,$$(cap4200ag_mtdlayout),KRuImage))
>  $(eval $(call SingleProfile,AthLzma,64k,DB120,db120,DB120,ttyS0,115200,$$(db120_mtdlayout),RKuImage))
>  $(eval $(call SingleProfile,AthLzma,64k,DRAGINO2,dragino2,DRAGINO2,ttyATH0,115200,$$(dragino2_mtdlayout),KRuImage,65536))
> +$(eval $(call SingleProfile,AthLzma,64k,ESR900,esr900,ESR900,ttyS0,115200,$$(esr900_mtdlayout),KRuImage))
>  $(eval $(call SingleProfile,AthLzma,64k,EWDORINAP,ew-dorin,EW-DORIN,ttyATH0,115200,$$(ew-dorin_mtdlayout_4M),KRuImage,65536))
>  $(eval $(call SingleProfile,AthLzma,64k,EWDORINRT,ew-dorin-router,EW-DORIN-ROUTER,ttyATH0,115200,$$(ew-dorin_mtdlayout_4M),KRuImage,65536))
>  $(eval $(call SingleProfile,AthLzma,64k,EWDORIN16M,ew-dorin-16M,EW-DORIN,ttyATH0,115200,$$(ew-dorin_mtdlayout_16M),KRuImage,65536))
> diff --git a/target/linux/ar71xx/patches-3.10/610-MIPS-ath79-openwrt-machines.patch
> b/target/linux/ar71xx/patches-3.10/610-MIPS-ath79-openwrt-machines.patch
> index 2dfecd2..12e1bbf 100644
> --- a/target/linux/ar71xx/patches-3.10/610-MIPS-ath79-openwrt-machines.patch
> +++ b/target/linux/ar71xx/patches-3.10/610-MIPS-ath79-openwrt-machines.patch
> @@ -1,6 +1,6 @@
>  --- a/arch/mips/ath79/machtypes.h
>  +++ b/arch/mips/ath79/machtypes.h
> -@@ -16,22 +16,143 @@
> +@@ -16,22 +16,144 @@
>
>   enum ath79_mach_type {
>   ATH79_MACH_GENERIC = 0,
> @@ -35,6 +35,7 @@
>  + ATH79_MACH_DIR_825_C1, /* D-Link DIR-825 rev. C1 */
>  + ATH79_MACH_DIR_835_A1, /* D-Link DIR-835 rev. A1 */
>  + ATH79_MACH_DRAGINO2, /* Dragino Version 2 */
> ++ ATH79_MACH_ESR900, /* EnGenius ESR900 */
>  + ATH79_MACH_EW_DORIN, /* embedded wireless Dorin Platform */
>  + ATH79_MACH_EW_DORIN_ROUTER, /* embedded wireless Dorin Router Platform */
>  + ATH79_MACH_EAP7660D, /* Senao EAP7660D */
> @@ -208,7 +209,7 @@
>   config ATH79_MACH_AP121
>   bool "Atheros AP121 reference board"
>   select SOC_AR933X
> -@@ -9,64 +64,736 @@ config ATH79_MACH_AP121
> +@@ -9,64 +64,746 @@ config ATH79_MACH_AP121
>   select ATH79_DEV_GPIO_BUTTONS
>   select ATH79_DEV_LEDS_GPIO
>   select ATH79_DEV_M25P80
> @@ -353,6 +354,16 @@
>  + select ATH79_DEV_USB
>  + select ATH79_DEV_WMAC
>  +
> ++config ATH79_MACH_ESR900
> ++ bool "EnGenius ESR900 board support"
> ++ select SOC_QCA955X
> ++ select ATH79_DEV_ETH
> ++ select ATH79_DEV_GPIO_BUTTONS
> ++ select ATH79_DEV_LEDS_GPIO
> ++ select ATH79_DEV_SPI
> ++ select ATH79_DEV_USB
> ++ select ATH79_DEV_WMAC
> ++
>  +config ATH79_MACH_WZR_HP_AG300H
>  + bool "Buffalo WZR-HP-AG300H board support"
>  + select SOC_AR71XX
> @@ -1059,7 +1070,7 @@
>   endif
>  --- a/arch/mips/ath79/Makefile
>  +++ b/arch/mips/ath79/Makefile
> -@@ -38,9 +38,90 @@ obj-$(CONFIG_ATH79_ROUTERBOOT) += route
> +@@ -38,9 +38,91 @@ obj-$(CONFIG_ATH79_ROUTERBOOT) += route
>   #
>   # Machines
>   #
> @@ -1085,6 +1096,7 @@
>  +obj-$(CONFIG_ATH79_MACH_DIR_825_B1) += mach-dir-825-b1.o
>  +obj-$(CONFIG_ATH79_MACH_DIR_825_C1) += mach-dir-825-c1.o
>  +obj-$(CONFIG_ATH79_MACH_DRAGINO2) += mach-dragino2.o
> ++obj-$(CONFIG_ATH79_MACH_ESR900) += mach-esr900.o
>  +obj-$(CONFIG_ATH79_MACH_EW_DORIN) += mach-ew-dorin.o
>  +obj-$(CONFIG_ATH79_MACH_EAP7660D) += mach-eap7660d.o
>  +obj-$(CONFIG_ATH79_MACH_JA76PF) += mach-ja76pf.o
_______________________________________________
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