aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Bauer <mail@david-bauer.net>2019-10-27 15:49:18 +0100
committerDavid Bauer <mail@david-bauer.net>2019-10-27 18:03:56 +0100
commit62db255543c8fb5d1787caf36c6c7c9c51db71cd (patch)
treeb490d393a6117484f0ee421689f2ae2739b28c3e
parent08a134820f57b63b1e8a61c2a67b7009e9f35534 (diff)
downloadupstream-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>
-rw-r--r--target/linux/ath79/dts/ar9344_aerohive_hiveap-121.dts237
-rw-r--r--target/linux/ath79/image/nand.mk17
-rwxr-xr-xtarget/linux/ath79/nand/base-files/etc/board.d/02_network3
-rw-r--r--target/linux/ath79/nand/base-files/lib/upgrade/platform.sh3
-rw-r--r--target/linux/ath79/nand/config-default8
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 = &eth0;
+ };
+
+ 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>;
+ };
+};
+
+&eth0 {
+ 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