diff options
author | David Bauer <mail@david-bauer.net> | 2019-10-27 15:49:18 +0100 |
---|---|---|
committer | David Bauer <mail@david-bauer.net> | 2019-10-27 18:03:56 +0100 |
commit | 62db255543c8fb5d1787caf36c6c7c9c51db71cd (patch) | |
tree | b490d393a6117484f0ee421689f2ae2739b28c3e /target | |
parent | 08a134820f57b63b1e8a61c2a67b7009e9f35534 (diff) | |
download | upstream-62db255543c8fb5d1787caf36c6c7c9c51db71cd.tar.gz upstream-62db255543c8fb5d1787caf36c6c7c9c51db71cd.tar.bz2 upstream-62db255543c8fb5d1787caf36c6c7c9c51db71cd.zip |
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 <mail@david-bauer.net>
Diffstat (limited to 'target')
-rw-r--r-- | target/linux/ath79/dts/ar9344_aerohive_hiveap-121.dts | 237 | ||||
-rw-r--r-- | target/linux/ath79/image/nand.mk | 17 | ||||
-rwxr-xr-x | target/linux/ath79/nand/base-files/etc/board.d/02_network | 3 | ||||
-rw-r--r-- | target/linux/ath79/nand/base-files/lib/upgrade/platform.sh | 3 | ||||
-rw-r--r-- | target/linux/ath79/nand/config-default | 8 |
5 files changed, 266 insertions, 2 deletions
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 <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h> + +#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 = <KEY_RESTART>; + 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 |