From 62db255543c8fb5d1787caf36c6c7c9c51db71cd Mon Sep 17 00:00:00 2001 From: David Bauer Date: Sun, 27 Oct 2019 15:49:18 +0100 Subject: ath79: add support for Aerohive HiveAP 121 This commit adds support for the Aerohive HiveAP-121. It was previously already supported in the ar71xx subtarget. The following is copied from the commit which added ar71xx support: Specification: - SoC: Atheros AR9344-BC2A at 560MHz - WiFi 1: 2.4GHz Atheros AR9340? - SoC - WiFi 2: 5.0GHz Atheros AR9382-AL1A - Memory: 128MB from 2x Nanya NT5TU32M16DG-AC - SPI: 1MB Macronix MX25L8006E - NAND: 128MB Hynix H27U1G8F2BTR-BC - Ethernet: Atheros AR8035-A - USB: 1x 2.0 - TPM: Atmel SC3204 Flashing: 1. Hook into UART (9600 baud) and enter U-Boot. You may need to enter a password of administrator or AhNf?d@ta06 if prompted. 2. Once in U-Boot, download and flash LEDE factory image over tftp: dhcp; setenv serverip tftp-server-ip; tftpboot 0x81000000 lede-ar71xx-nand-hiveap-121-squashfs-factory.bin; nand erase 0x800000 0x800000; nand write 0x81000000 0x800000 0x800000; reset; Signed-off-by: David Bauer --- .../linux/ath79/dts/ar9344_aerohive_hiveap-121.dts | 237 +++++++++++++++++++++ target/linux/ath79/image/nand.mk | 17 ++ .../ath79/nand/base-files/etc/board.d/02_network | 3 + .../ath79/nand/base-files/lib/upgrade/platform.sh | 3 + target/linux/ath79/nand/config-default | 8 +- 5 files changed, 266 insertions(+), 2 deletions(-) create mode 100644 target/linux/ath79/dts/ar9344_aerohive_hiveap-121.dts (limited to 'target') diff --git a/target/linux/ath79/dts/ar9344_aerohive_hiveap-121.dts b/target/linux/ath79/dts/ar9344_aerohive_hiveap-121.dts new file mode 100644 index 0000000000..f96fe41145 --- /dev/null +++ b/target/linux/ath79/dts/ar9344_aerohive_hiveap-121.dts @@ -0,0 +1,237 @@ +// SPDX-License-Identifier: GPL-2.0 +/dts-v1/; + +#include +#include + +#include "ar9344.dtsi" + +/ { + compatible = "aerohive,hiveap-121", "qca,ar9344"; + model = "Aerohive HiveAP 121"; + + aliases { + led-boot = &power_white; + led-failsafe = &power_orange; + led-running = &power_white; + led-upgrade = &power_orange; + label-mac-device = ð0; + }; + + chosen { + bootargs = "console=ttyS0,9600"; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "Reset button"; + linux,code = ; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_orange: power_orange { + label = "hiveap-121:orange:power"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + + power_white: power_white { + label = "hiveap-121:white:power"; + gpios = <&gpio 21 GPIO_ACTIVE_LOW>; + }; + }; + + i2c { + compatible = "i2c-gpio"; + gpios = <&gpio 13 GPIO_ACTIVE_HIGH /* sda */ + &gpio 12 GPIO_ACTIVE_HIGH /* scl */ + >; + #address-cells = <1>; + #size-cells = <0>; + + tpm@29 { + compatible = "atmel,at97sc3204t"; + reg = <0x29>; + }; + }; +}; + +&ref { + clock-frequency = <40000000>; +}; + +&uart { + status = "okay"; +}; + +&gpio { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&jtag_disable_pins>; + + gpio_ext_lna0 { + gpio-hog; + gpios = <20 0>; + output-low; + line-name = "hiveap-121:ext:lna0"; + }; + + gpio_ext_lna1 { + gpio-hog; + gpios = <19 0>; + output-low; + line-name = "hiveap-121:ext:lna1"; + }; + + gpio_usb_power { + gpio-hog; + gpios = <15 0>; + output-high; + line-name = "hiveap-121:power:usb"; + }; +}; + +&usb { + status = "okay"; +}; + +&usb_phy { + status = "okay"; +}; + +&pcie { + status = "okay"; + + wifi@0,0 { + compatible = "pci168c,0030"; + reg = <0x0000 0 0 0 0>; + + mtd-mac-address = <&hw_info 0x0>; + mtd-mac-address-increment = <2>; + }; +}; + +&spi { + status = "okay"; + num-cs = <1>; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <25000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x000000 0x80000>; + read-only; + }; + + partition@80000 { + label = "u-boot-env"; + reg = <0x80000 0x10000>; + read-only; + }; + + hw_info: partition@90000 { + label = "hw-info"; + reg = <0x90000 0x10000>; + read-only; + }; + + partition@a0000 { + label = "boot-info"; + reg = <0xa0000 0x10000>; + read-only; + }; + + partition@b0000 { + label = "boot-sinfo"; + reg = <0xb0000 0x10000>; + read-only; + }; + }; + }; +}; + +&wmac { + status = "okay"; + + mtd-mac-address = <&hw_info 0x0>; + mtd-mac-address-increment = <1>; +}; + +&nand { + status = "okay"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot1"; + reg = <0x0 0x400000>; + read-only; + }; + + partition@400000 { + label = "u-boot-env1"; + reg = <0x400000 0x400000>; + read-only; + }; + + partition@800000 { + label = "kernel"; + reg = <0x800000 0x500000>; + }; + + partition@d00000 { + label = "ubi"; + reg = <0xd00000 0x6f00000>; + }; + + partition@2e00000 { + label = "wifi-info"; + reg = <0x7c00000 0x400000>; + read-only; + }; + }; +}; + +&mdio0 { + status = "okay"; + + phy0: ethernet-phy@0 { + reg = <0>; + }; +}; + +ð0 { + status = "okay"; + + pll-data = <0x06000000 0x00000101 0x00001313>; + + mtd-mac-address = <&hw_info 0x0>; + + phy-mode = "rgmii-id"; + phy-handle = <&phy0>; + + gmac-config { + device = <&gmac>; + rgmii-gmac0 = <1>; + rxd-delay = <1>; + rxdv-delay = <1>; + }; +}; diff --git a/target/linux/ath79/image/nand.mk b/target/linux/ath79/image/nand.mk index c30fa814c2..c11ff6a257 100644 --- a/target/linux/ath79/image/nand.mk +++ b/target/linux/ath79/image/nand.mk @@ -26,6 +26,23 @@ define Build/zyxel-factory fi endef +define Device/aerohive_hiveap-121 + ATH_SOC := ar9344 + DEVICE_VENDOR := Aerohive + DEVICE_MODEL := HiveAP 121 + DEVICE_PACKAGES := kmod-usb2 + BLOCKSIZE := 128k + PAGESIZE := 2048 + IMAGE_SIZE := 116m + KERNEL_SIZE := 5120k + UBINIZE_OPTS := -E 5 + SUPPORTED_DEVICES += hiveap-121 + IMAGES += factory.bin + IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | check-size $$$$(IMAGE_SIZE) + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata +endef +TARGET_DEVICES += aerohive_hiveap-121 + define Device/glinet_gl-ar300m-nand ATH_SOC := qca9531 DEVICE_VENDOR := GL.iNet diff --git a/target/linux/ath79/nand/base-files/etc/board.d/02_network b/target/linux/ath79/nand/base-files/etc/board.d/02_network index 65ce439545..87c52a65cb 100755 --- a/target/linux/ath79/nand/base-files/etc/board.d/02_network +++ b/target/linux/ath79/nand/base-files/etc/board.d/02_network @@ -8,6 +8,9 @@ ath79_setup_interfaces() local board="$1" case "$board" in + aerohive,hiveap-121) + ucidef_set_interface_lan "eth0" + ;; *) ucidef_set_interfaces_lan_wan "eth0" "eth1" ;; diff --git a/target/linux/ath79/nand/base-files/lib/upgrade/platform.sh b/target/linux/ath79/nand/base-files/lib/upgrade/platform.sh index b02ab9a080..bc62ede65f 100644 --- a/target/linux/ath79/nand/base-files/lib/upgrade/platform.sh +++ b/target/linux/ath79/nand/base-files/lib/upgrade/platform.sh @@ -13,6 +13,9 @@ platform_do_upgrade() { local board=$(board_name) case "$board" in + aerohive,hiveap-121) + nand_do_upgrade "$1" + ;; *) default_do_upgrade "$1" ;; diff --git a/target/linux/ath79/nand/config-default b/target/linux/ath79/nand/config-default index c8114a4985..84e6748a20 100644 --- a/target/linux/ath79/nand/config-default +++ b/target/linux/ath79/nand/config-default @@ -1,3 +1,4 @@ +CONFIG_AT803X_PHY=y CONFIG_BCH=y CONFIG_MTD_NAND=y CONFIG_MTD_NAND_AR934X=y @@ -8,8 +9,11 @@ CONFIG_MTD_SPINAND_MT29F=y CONFIG_MTD_SPINAND_ONDIEECC=y CONFIG_MTD_UBI=y CONFIG_MTD_UBI_BEB_LIMIT=20 -# CONFIG_MTD_UBI_BLOCK is not set +CONFIG_MTD_UBI_BLOCK=y # CONFIG_MTD_UBI_FASTMAP is not set # CONFIG_MTD_UBI_GLUEBI is not set CONFIG_MTD_UBI_WL_THRESHOLD=4096 -# CONFIG_UBIFS_FS is not set +CONFIG_UBIFS_FS=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y -- cgit v1.2.3 id='n154' href='#n154'>154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226