Hi, this patch does not apply cleanly, please rebase/resend
John On 18/09/2016 17:12, Chris Blake wrote: > This patch adds support for Cisco's Z1. > Detailed instructions for the flashing the device can > be found in the OpenWrt wiki: > <https://wiki.openwrt.org/toh/meraki/z1> > > Signed-off-by: Chris Blake <chrisrblak...@gmail.com> > --- > target/linux/ar71xx/base-files/etc/board.d/01_leds | 4 + > .../linux/ar71xx/base-files/etc/board.d/02_network | 6 + > target/linux/ar71xx/base-files/etc/diag.sh | 3 + > .../etc/hotplug.d/firmware/10-ath9k-eeprom | 20 +++ > .../etc/uci-defaults/03_network-switchX-migration | 1 + > target/linux/ar71xx/base-files/lib/ar71xx.sh | 3 + > .../base-files/lib/preinit/05_set_iface_mac_ar71xx | 4 + > .../ar71xx/base-files/lib/upgrade/merakinand.sh | 61 ++++++-- > .../ar71xx/base-files/lib/upgrade/platform.sh | 6 +- > target/linux/ar71xx/config-4.4 | 1 + > .../ar71xx/files/arch/mips/ath79/Kconfig.openwrt | 12 ++ > target/linux/ar71xx/files/arch/mips/ath79/Makefile | 1 + > .../linux/ar71xx/files/arch/mips/ath79/mach-z1.c | 164 > +++++++++++++++++++++ > .../linux/ar71xx/files/arch/mips/ath79/machtypes.h | 1 + > target/linux/ar71xx/image/nand.mk | 23 +++ > .../818-MIPS-ath79-add-nu801-led-driver.patch | 2 +- > 16 files changed, 293 insertions(+), 19 deletions(-) > create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/mach-z1.c > > diff --git a/target/linux/ar71xx/base-files/etc/board.d/01_leds > b/target/linux/ar71xx/base-files/etc/board.d/01_leds > index cf05859..7551455 100755 > --- a/target/linux/ar71xx/base-files/etc/board.d/01_leds > +++ b/target/linux/ar71xx/base-files/etc/board.d/01_leds > @@ -813,6 +813,10 @@ wzr-hp-g300nh) > ucidef_set_led_usbdev "usb" "USB" "buffalo:blue:usb" "1-1" > ;; > > +z1) > + ucidef_set_led_netdev "wlan1" "WLAN1" "z1:blue:tricolor0" "wlan1" > + ;; > + > zbt-we1526) > ucidef_set_led_netdev "wan" "WAN" "zbt-we1526:green:wan" "eth1" > ucidef_set_led_switch "lan1" "LAN1" "zbt-we1526:green:lan1" "switch0" > "0x10" > diff --git a/target/linux/ar71xx/base-files/etc/board.d/02_network > b/target/linux/ar71xx/base-files/etc/board.d/02_network > index b637113..2a50c9d 100755 > --- a/target/linux/ar71xx/base-files/etc/board.d/02_network > +++ b/target/linux/ar71xx/base-files/etc/board.d/02_network > @@ -538,6 +538,12 @@ wndr3700) > ucidef_add_switch_port_attr "switch0" 5 led 2 > ;; > > +z1) > + ucidef_set_interfaces_lan_wan "eth0" "eth1" > + ucidef_add_switch "switch0" \ > + "0@eth0" "1:lan:1" "2:lan:2" "3:lan:3" "4:lan:4" "5:wan" > + ;; > + > *) > ucidef_set_interfaces_lan_wan "eth0" "eth1" > ;; > diff --git a/target/linux/ar71xx/base-files/etc/diag.sh > b/target/linux/ar71xx/base-files/etc/diag.sh > index 69ef609..6ce49b0 100644 > --- a/target/linux/ar71xx/base-files/etc/diag.sh > +++ b/target/linux/ar71xx/base-files/etc/diag.sh > @@ -426,6 +426,9 @@ get_status_led() { > wrt160nl) > status_led="wrt160nl:blue:wps" > ;; > + z1) > + status_led="z1:green:tricolor0" > + ;; > zbt-we1526) > status_led="zbt-we1526:green:status" > ;; > diff --git > a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom > b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom > index 3b0229d..3141625 100644 > --- a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom > +++ b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom > @@ -73,6 +73,16 @@ case "$FIRMWARE" in > ath9k_eeprom_extract "caldata" 4096 2048 > ath9k_patch_firmware_mac $(mtd_get_mac_binary caldata 0) > ;; > + z1) > + . /lib/upgrade/nand.sh > + > + if [ -n "$(nand_find_volume ubi0 caldata)" ]; then > + ath9k_ubi_eeprom_extract "caldata" 4096 2048 > + else > + ath9k_eeprom_extract "origcaldata" 4096 2048 > + fi > + ath9k_patch_firmware_mac $(macaddr_add $(mtd_get_mac_binary_ubi > board-config 102) +2) > + ;; > *) > ath9k_eeprom_die "board $board is not supported yet" > ;; > @@ -100,6 +110,16 @@ case "$FIRMWARE" in > ath9k_eeprom_extract "caldata" 20480 2048 > ath9k_patch_firmware_mac $(mtd_get_mac_binary caldata 12) > ;; > + z1) > + . /lib/upgrade/nand.sh > + > + if [ -n "$(nand_find_volume ubi0 caldata)" ]; then > + ath9k_ubi_eeprom_extract "caldata" 86016 4096 > + else > + ath9k_eeprom_extract "origcaldata" 86016 4096 > + fi > + ath9k_patch_firmware_mac $(macaddr_add $(mtd_get_mac_binary_ubi > board-config 102) +3) > + ;; > *) > ath9k_eeprom_die "board $board is not supported yet" > ;; > diff --git > a/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration > > b/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration > index aa0e1b4..ee8f63b 100644 > --- > a/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration > +++ > b/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration > @@ -78,6 +78,7 @@ whr-hp-g300n|\ > whr-hp-gn|\ > wzr-hp-ag300h|\ > wzr-hp-g450h|\ > +z1|\ > ew-dorin|\ > ew-dorin-router) > migrate_switch_name "eth0" "switch0" > diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh > b/target/linux/ar71xx/base-files/lib/ar71xx.sh > index e57701a..6acbb06 100755 > --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh > +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh > @@ -1098,6 +1098,9 @@ ar71xx_board_detect() { > *WHR-HP-G300N) > name="whr-hp-g300n" > ;; > + *Z1) > + name="z1" > + ;; > *ZBT-WE1526) > name="zbt-we1526" > ;; > 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 39da309..60e2787 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 > @@ -49,6 +49,10 @@ preinit_set_mac_address() { > wrt160nl) > fetch_mac_from_mtd nvram lan_hwaddr wan_hwaddr > ;; > + z1) > + mac_lan=$(mtd_get_mac_binary_ubi board-config 102) > + [ -n "$mac_lan" ] && ifconfig eth0 hw ether "$mac_lan" > + ;; > esac > } > > diff --git a/target/linux/ar71xx/base-files/lib/upgrade/merakinand.sh > b/target/linux/ar71xx/base-files/lib/upgrade/merakinand.sh > index cc7a86c..78cde20 100644 > --- a/target/linux/ar71xx/base-files/lib/upgrade/merakinand.sh > +++ b/target/linux/ar71xx/base-files/lib/upgrade/merakinand.sh > @@ -1,6 +1,6 @@ > #!/bin/sh > # > -# Copyright (C) 2015 Chris Blake <chrisrblak...@gmail.com> > +# Copyright (C) 2015-2016 Chris Blake <chrisrblak...@gmail.com> > # > # Custom upgrade script for Meraki NAND devices (ex. MR18) > # Based on dir825.sh and stock nand functions > @@ -14,34 +14,52 @@ get_magic_at() { > dd bs=1 count=2 skip=$pos if=$mtddev 2>/dev/null | hexdump -v -n 4 -e > '1/1 "%02x"' > } > > -mr18_is_caldata_valid() { > - local mtddev=$1 > +meraki_is_caldata_valid() { > + local board=$1 > + local mtddev=$2 > local magic > > - magic=$(get_magic_at $mtddev 4096) > - [ "$magic" != "0202" ] && return 0 > + case "$board" in > + "mr18") > + magic=$(get_magic_at $mtddev 4096) > + [ "$magic" != "0202" ] && return 0 > + > + magic=$(get_magic_at $mtddev 20480) > + [ "$magic" != "0202" ] && return 0 > > - magic=$(get_magic_at $mtddev 20480) > - [ "$magic" != "0202" ] && return 0 > + magic=$(get_magic_at $mtddev 36864) > + [ "$magic" != "0202" ] && return 0 > + > + return 1 > + ;; > + "z1") > + magic=$(get_magic_at $mtddev 4096) > + [ "$magic" != "0202" ] && return 0 > > - magic=$(get_magic_at $mtddev 36864) > - [ "$magic" != "0202" ] && return 0 > + magic=$(get_magic_at $mtddev 86016) > + [ "$magic" != "a55a" ] && return 0 > > - return 1 > + return 1 > + ;; > + *) > + return 1 > + ;; > + esac > } > > merakinand_copy_caldata() { > local cal_src=$1 > local cal_dst=$2 > - local ubidev=$( nand_find_ubi $CI_UBIPART ) > + local ubidev="$(nand_find_ubi $CI_UBIPART)" > local board_name="$(cat /tmp/sysinfo/board_name)" > local rootfs_size="$(ubinfo /dev/ubi0 -N rootfs_data | grep "Size" | > awk '{ print $6 }')" > > # Setup partitions using board name, in case of future platforms > case "$board_name" in > - "mr18") > + "mr18"|\ > + "z1") > # Src is MTD > - mtd_src=$(find_mtd_chardev $cal_src) > + mtd_src="$(find_mtd_chardev $cal_src)" > [ -n "$mtd_src" ] || { > echo "no mtd device found for partition $cal_src" > exit 1 > @@ -56,12 +74,12 @@ merakinand_copy_caldata() { > exit 1 > } > > - mr18_is_caldata_valid "$mtd_src" && { > + meraki_is_caldata_valid "$board_name" "$mtd_src" && { > echo "no valid calibration data found in $cal_src" > exit 1 > } > > - mr18_is_caldata_valid "/dev/$mtd_dst" && { > + meraki_is_caldata_valid "$board_name" "/dev/$mtd_dst" && { > echo "Copying calibration data from $cal_src to > $cal_dst..." > dd if="$mtd_src" of=/tmp/caldata.tmp 2>/dev/null > ubiupdatevol "/dev/$mtd_dst" /tmp/caldata.tmp > @@ -89,6 +107,11 @@ merakinand_do_kernel_check() { > echo "pass" && return 0 > } > ;; > + "z1") > + [ "$image_magic_word" == "4d495053" ] && { > + echo "pass" && return 0 > + } > + ;; > esac > > exit 1 > @@ -102,7 +125,8 @@ merakinand_do_platform_check() { > local kernel_magic="$(merakinand_do_kernel_check $1 $2)" > > case "$board_name" in > - "mr18") > + "mr18"|\ > + "z1") > [ "$control_length" = 0 -o "$file_type" != "squashfs" -o > "$kernel_magic" != "pass" ] && { > echo "Invalid sysupgrade file for $board_name" > return 1 > @@ -128,6 +152,11 @@ merakinand_do_upgrade() { > merakinand_copy_caldata "odm-caldata" "caldata" > nand_do_upgrade $1 > ;; > + "z1") > + # Check and create UBI caldata if it's invalid > + merakinand_copy_caldata "origcaldata" "caldata" > + nand_do_upgrade $1 > + ;; > *) > echo "Unsupported device $board_name"; > exit 1 > diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh > b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh > index 716fa52..c78d1fb 100755 > --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh > +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh > @@ -472,7 +472,8 @@ platform_check_image() { > } > return 0 > ;; > - mr18) > + mr18 | \ > + z1 ) > merakinand_do_platform_check $board $1 > return $?; > ;; > @@ -543,7 +544,8 @@ platform_pre_upgrade() { > wndr4300 ) > nand_do_upgrade "$1" > ;; > - mr18) > + mr18 | \ > + z1 ) > merakinand_do_upgrade "$1" > ;; > esac > diff --git a/target/linux/ar71xx/config-4.4 b/target/linux/ar71xx/config-4.4 > index a984b1e..ab26ff4 100644 > --- a/target/linux/ar71xx/config-4.4 > +++ b/target/linux/ar71xx/config-4.4 > @@ -201,6 +201,7 @@ CONFIG_ATH79_MACH_WZR_HP_AG300H=y > CONFIG_ATH79_MACH_WZR_HP_G300NH=y > CONFIG_ATH79_MACH_WZR_HP_G300NH2=y > CONFIG_ATH79_MACH_WZR_HP_G450H=y > +CONFIG_ATH79_MACH_Z1=y > CONFIG_ATH79_MACH_ZBT_WE1526=y > CONFIG_ATH79_MACH_ZCN_1523H=y > CONFIG_ATH79_NVRAM=y > diff --git a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt > b/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt > index a6f19da..4cefde1 100644 > --- a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt > +++ b/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt > @@ -1552,6 +1552,18 @@ config ATH79_MACH_MYNET_REXT > select ATH79_DEV_WMAC > select ATH79_NVRAM > > +config ATH79_MACH_Z1 > + bool "Meraki Z1 board support" > + select SOC_AR934X > + select ATH79_DEV_AP9X_PCI if PCI > + select ATH79_DEV_ETH > + select ATH79_DEV_GPIO_BUTTONS > + select ATH79_DEV_LEDS_GPIO > + select ATH79_DEV_NFC > + select ATH79_DEV_USB > + select ATH79_DEV_WMAC > + select LEDS_NU801 > + > config ATH79_MACH_ZBT_WE1526 > bool "Zbtlink ZBT-WE1526 board support" > select SOC_QCA953X > diff --git a/target/linux/ar71xx/files/arch/mips/ath79/Makefile > b/target/linux/ar71xx/files/arch/mips/ath79/Makefile > index 3222a76..a0f8d99 100644 > --- a/target/linux/ar71xx/files/arch/mips/ath79/Makefile > +++ b/target/linux/ar71xx/files/arch/mips/ath79/Makefile > @@ -205,6 +205,7 @@ obj-$(CONFIG_ATH79_MACH_WZR_HP_G300NH2) += > mach-wzr-hp-g300nh2.o > obj-$(CONFIG_ATH79_MACH_WZR_HP_AG300H) += mach-wzr-hp-ag300h.o > obj-$(CONFIG_ATH79_MACH_WZR_HP_G450H) += mach-wzr-hp-g450h.o > obj-$(CONFIG_ATH79_MACH_WZR_450HP2) += mach-wzr-450hp2.o > +obj-$(CONFIG_ATH79_MACH_Z1) += mach-z1.o > obj-$(CONFIG_ATH79_MACH_ZBT_WE1526) += mach-zbt-we1526.o > obj-$(CONFIG_ATH79_MACH_ZCN_1523H) += mach-zcn-1523h.o > obj-$(CONFIG_ATH79_MACH_CARAMBOLA2) += mach-carambola2.o > diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-z1.c > b/target/linux/ar71xx/files/arch/mips/ath79/mach-z1.c > new file mode 100644 > index 0000000..552d646 > --- /dev/null > +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-z1.c > @@ -0,0 +1,164 @@ > +/* > + * Cisco Meraki Z1 board support > + * > + * Copyright (C) 2016 Chris Blake <chrisrblak...@gmail.com> > + * Copyright (C) 2016 Christian Lamparter <chunk...@googlemail.com> > + * > + * Based on Cisco Meraki GPL Release r23-20150601 Z1 Device Config > + * > + * 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/ath9k_platform.h> > +#include <linux/ar8216_platform.h> > +#include <linux/platform/ar934x_nfc.h> > + > +#include <asm/mach-ath79/ath79.h> > +#include <asm/mach-ath79/ar71xx_regs.h> > + > +#include <linux/leds-nu801.h> > +#include <linux/firmware.h> > +#include <linux/pci.h> > + > +#include "common.h" > +#include "dev-eth.h" > +#include "dev-gpio-buttons.h" > +#include "dev-leds-gpio.h" > +#include "dev-nfc.h" > +#include "dev-usb.h" > +#include "dev-wmac.h" > +#include "dev-ap9x-pci.h" > +#include "machtypes.h" > + > +#define Z1_GPIO_LED_POWER_ORANGE 17 > + > +#define Z1_GPIO_NU801_CKI 14 > +#define Z1_GPIO_NU801_SDI 15 > + > +#define Z1_GPIO_XLNA0 18 > +#define Z1_GPIO_XLNA1 19 > + > +#define Z1_GPIO_BTN_RESET 12 > +#define Z1_KEYS_POLL_INTERVAL 20 /* msecs */ > +#define Z1_KEYS_DEBOUNCE_INTERVAL (3 * Z1_KEYS_POLL_INTERVAL) > + > +#define Z1_ETH_SWITCH_PHY 0 > + > +static struct gpio_led Z1_leds_gpio[] __initdata = { > + { > + .name = "z1:orange:power", > + .gpio = Z1_GPIO_LED_POWER_ORANGE, > + .active_low = 1, > + }, > +}; > + > +static struct gpio_keys_button Z1_gpio_keys[] __initdata = { > + { > + .desc = "reset", > + .type = EV_KEY, > + .code = KEY_RESTART, > + .debounce_interval = Z1_KEYS_DEBOUNCE_INTERVAL, > + .gpio = Z1_GPIO_BTN_RESET, > + .active_low = 1, > + }, > +}; > + > +static struct led_nu801_template tricolor_led_template = { > + .device_name = "z1", > + .name = "tricolor", > + .num_leds = 1, > + .cki = Z1_GPIO_NU801_CKI, > + .sdi = Z1_GPIO_NU801_SDI, > + .lei = -1, > + .ndelay = 500, > + .init_brightness = { > + LED_OFF, > + LED_OFF, > + LED_OFF, > + }, > + .default_trigger = "none", > +}; > + > +static struct led_nu801_platform_data tricolor_led_data = { > + .num_controllers = 1, > + .template = &tricolor_led_template, > +}; > + > +static struct platform_device tricolor_leds = { > + .name = "leds-nu801", > + .id = -1, > + .dev.platform_data = &tricolor_led_data, > +}; > + > +static struct ar8327_pad_cfg z1_ar8327_pad0_cfg = { > + .mode = AR8327_PAD_MAC_RGMII, > + .txclk_delay_en = true, > + .rxclk_delay_en = true, > + .txclk_delay_sel = AR8327_CLK_DELAY_SEL1, > + .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2, > +}; > + > +static struct ar8327_platform_data z1_ar8327_data = { > + .pad0_cfg = &z1_ar8327_pad0_cfg, > + .port0_cfg = { > + .force_link = 1, > + .speed = AR8327_PORT_SPEED_1000, > + .duplex = 1, > + .txpause = 1, > + .rxpause = 1, > + }, > +}; > + > +static struct mdio_board_info z1_mdio0_info[] = { > + { > + .bus_id = "ag71xx-mdio.0", > + .phy_addr = Z1_ETH_SWITCH_PHY, > + .platform_data = &z1_ar8327_data, > + }, > +}; > + > +static void __init z1_setup(void) > +{ > + /* NAND */ > + ath79_nfc_set_ecc_mode(AR934X_NFC_ECC_SOFT_BCH); > + ath79_register_nfc(); > + > + /* Eth Config */ > + ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 | > + AR934X_ETH_CFG_SW_ONLY_MODE); > + > + /* MDIO Interface */ > + ath79_register_mdio(1, 0x0); > + ath79_register_mdio(0, 0x0); > + mdiobus_register_board_info(z1_mdio0_info, > + ARRAY_SIZE(z1_mdio0_info)); > + > + /* GMAC0 is connected to an AR8327 switch */ > + ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII; > + ath79_eth0_data.phy_mask = BIT(Z1_ETH_SWITCH_PHY); > + ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev; > + ath79_eth0_pll_data.pll_1000 = 0x06000000; > + ath79_register_eth(0); > + > + /* XLNA */ > + ath79_wmac_set_ext_lna_gpio(0, Z1_GPIO_XLNA0); > + ath79_wmac_set_ext_lna_gpio(1, Z1_GPIO_XLNA1); > + > + /* LEDs and Buttons */ > + platform_device_register(&tricolor_leds); > + ath79_register_leds_gpio(-1, ARRAY_SIZE(Z1_leds_gpio), > + Z1_leds_gpio); > + ath79_register_gpio_keys_polled(-1, Z1_KEYS_POLL_INTERVAL, > + ARRAY_SIZE(Z1_gpio_keys), > + Z1_gpio_keys); > + > + /* USB */ > + ath79_register_usb(); > + > + /* Wireless */ > + ath79_register_wmac_simple(); > + ap91_pci_init_simple(); > +} > +MIPS_MACHINE(ATH79_MACH_Z1, "Z1", "Meraki Z1", z1_setup); > diff --git a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h > b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h > index a3b8c87..87acc4a 100644 > --- a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h > +++ b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h > @@ -266,6 +266,7 @@ enum ath79_mach_type { > ATH79_MACH_WZR_HP_G300NH2, /* Buffalo WZR-HP-G300NH2 */ > ATH79_MACH_WZR_HP_G450H, /* Buffalo WZR-HP-G450H */ > ATH79_MACH_WZR_450HP2, /* Buffalo WZR-450HP2 */ > + ATH79_MACH_Z1, /* Cisco Meraki Z1 */ > ATH79_MACH_ZBT_WE1526, /* Zbtlink ZBT-WE1526 */ > ATH79_MACH_ZCN_1523H_2, /* Zcomax ZCN-1523H-2-xx */ > ATH79_MACH_ZCN_1523H_5, /* Zcomax ZCN-1523H-5-xx */ > diff --git a/target/linux/ar71xx/image/nand.mk > b/target/linux/ar71xx/image/nand.mk > index c6a8d7e..aa431ac 100644 > --- a/target/linux/ar71xx/image/nand.mk > +++ b/target/linux/ar71xx/image/nand.mk > @@ -20,6 +20,29 @@ define Device/mr18 > endef > TARGET_DEVICES += mr18 > > +define Build/MerakiNAND-old > + -$(STAGING_DIR_HOST)/bin/mkmerakifw-old \ > + -B $(BOARDNAME) -s \ > + -i $@ \ > + -o $@.new > + @mv $@.new $@ > +endef > + > +define Device/z1 > + DEVICE_TITLE := Meraki Z1 > + DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev > kmod-spi-gpio kmod-ath9k kmod-owl-loader > + BOARDNAME = Z1 > + BLOCKSIZE := 64k > + CONSOLE = ttyS0,115200 > + MTDPARTS = > ar934x-nfc:128K(loader1)ro,8064K(kernel),128K(loader2)ro,8064K(recovery),114560K(ubi),128K(origcaldata)ro > + IMAGES := sysupgrade.tar > + KERNEL := kernel-bin | patch-cmdline | MerakiNAND-old > + KERNEL_INITRAMFS := kernel-bin | patch-cmdline | MerakiNAND-old > + IMAGE/sysupgrade.tar := sysupgrade-tar > +endef > + > +TARGET_DEVICES += z1 > + > define LegacyDevice/R6100 > DEVICE_TITLE := NETGEAR R6100 > DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 > kmod-ledtrig-usbdev > diff --git > a/target/linux/ar71xx/patches-4.4/818-MIPS-ath79-add-nu801-led-driver.patch > b/target/linux/ar71xx/patches-4.4/818-MIPS-ath79-add-nu801-led-driver.patch > index ec9f59e..420bbff 100644 > --- > a/target/linux/ar71xx/patches-4.4/818-MIPS-ath79-add-nu801-led-driver.patch > +++ > b/target/linux/ar71xx/patches-4.4/818-MIPS-ath79-add-nu801-led-driver.patch > @@ -6,7 +6,7 @@ > > +config LEDS_NU801 > + tristate "LED driver for NU801 RGB LED" > -+ depends on LEDS_CLASS && ATH79_MACH_MR18 > ++ depends on LEDS_CLASS && (ATH79_MACH_MR18 || ATH79_MACH_Z1) > + help > + This option enables support for NU801 RGB LED driver chips > + accessed via GPIO. > -- > 2.7.4 > > _______________________________________________ > Lede-dev mailing list > Lede-dev@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/lede-dev > _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev