Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save riptidewave93/1081d3a2cb75bb0af405a5510398b729 to your computer and use it in GitHub Desktop.
Save riptidewave93/1081d3a2cb75bb0af405a5510398b729 to your computer and use it in GitHub Desktop.
From 2158e288d82e70e80568cfa33d7294f4bf8de910 Mon Sep 17 00:00:00 2001
From: Chris Blake <chrisrblake93@gmail.com>
Date: Sun, 5 May 2019 12:56:03 -0500
Subject: [PATCH] ath79: add support for Aruba AP-105
SoC: Atheros AR7161-8C1A @ 680 MHz
RAM: 128MB - 2x Etron Technology EM6AB160TSA-5G
NOR: 16MB - 1x MXIC MX25L12845EMI-10G (SPI-NOR)
WI1: Atheros AR9223-AC1A 802.11bgn
WI2: Atheros AR9220-AC1A 802.11an
ETH: Atheros AR8021-BL1E + PoE
LED: Dual-Color Power/Status, Ethernet, WLAN2G and WLAN5G
BTN: 1 x Reset
I2C: AT97SC3203S TPM (needs driver!)
CON: RS232-level 8P8C/RJ45 Console Port - 9600 Baud
Factory installation:
- Needs a u-boot replacement. See Forum/Wiki for
information on how to do a in-circut flash with
a SPI-Flasher like a CH314A. To open up the device
you need a long & skinny Torx T6 Screw driver.
- Be careful when dis- and reassembling the device to
not squish any of the antenna cables in the process!
- Make sure to make a full 16 MiB backup of your device
before flashing the new u-boot, as this will overwrite
everything.
- To return to stock: setup a tftp-server (192.168.1.2)
and place the backup from earlier as "ap-105-stock.bin"
into the root of the tftp-server directory.
Attach a serial cable to the AP-105. Enter OpenWrt's u-boot
and enter:
run loadStock
Watch it load the image and flash it.
Not working:
- TPM (needs a driver)
Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
---
.../ath79/base-files/etc/board.d/02_network | 1 +
.../linux/ath79/dts/ar7161_aruba_ap-105.dts | 192 ++++++++++++++++++
target/linux/ath79/image/generic.mk | 8 +
3 files changed, 201 insertions(+)
create mode 100644 target/linux/ath79/dts/ar7161_aruba_ap-105.dts
diff --git a/target/linux/ath79/base-files/etc/board.d/02_network b/target/linux/ath79/base-files/etc/board.d/02_network
index f877669f98..be4d891bc8 100755
--- a/target/linux/ath79/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/base-files/etc/board.d/02_network
@@ -9,6 +9,7 @@ ath79_setup_interfaces()
local board="$1"
case "$board" in
+ aruba,ap-105|\
avm,fritz300e|\
devolo,dvl1200i|\
devolo,dvl1750c|\
diff --git a/target/linux/ath79/dts/ar7161_aruba_ap-105.dts b/target/linux/ath79/dts/ar7161_aruba_ap-105.dts
new file mode 100644
index 0000000000..7982db91f5
--- /dev/null
+++ b/target/linux/ath79/dts/ar7161_aruba_ap-105.dts
@@ -0,0 +1,192 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+#include "ar7100.dtsi"
+
+/ {
+ compatible = "aruba,ap-105", "qca,ar7161";
+ model = "Aruba AP-105";
+
+ chosen {
+ bootargs = "console=ttyS0,9600";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+ };
+
+ extosc: ref {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-output-names = "ref";
+ clock-frequency = <40000000>;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ power_green: power_green {
+ label = "ap-105:green:power";
+ gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+ };
+
+ power_red: power_red {
+ label = "ap-105:red:power";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ panic-indicator;
+ };
+
+ wifi_2g_red: wifi_2g_red {
+ label = "ap-105:red:wlan2g";
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+ };
+
+ wifi_5g_red: wifi_5g_red {
+ label = "ap-105:red:wlan5g";
+ gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ ath9k-leds {
+ compatible = "gpio-leds";
+
+ wifi_2g_green {
+ label = "ap-105:green:wlan2g";
+ gpios = <&ath9k0 5 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy0tpt";
+ };
+
+ wifi_5g_green {
+ label = "ap-105:green:wlan5g";
+ gpios = <&ath9k1 5 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy1tpt";
+ };
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <20>;
+
+ reset {
+ label = "reset";
+ linux,code = <KEY_RESTART>;
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ debounce-interval = <60>;
+ };
+ };
+
+ i2c {
+ compatible = "i2c-gpio";
+
+ sda-gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ scl-gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+
+ /* can be removed on 4.19 */
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>,
+ <&gpio 4 GPIO_ACTIVE_LOW>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ tpm@29 {
+ compatible = "atmel,at97sc3203s";
+ reg = <0x29>;
+
+ /* triggering it, will also kill system */
+ reset-gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&pcie0 {
+ status = "okay";
+
+ ath9k0: wifi@0,11 { /* 2.4 GHz */
+ compatible = "pci168c,0029";
+ mtd-mac-address = <&hwinfo 0x1c>;
+ mtd-mac-address-increment = <1>;
+ reg = <0x8800 0 0 0 0>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
+
+ ath9k1: wifi@0,12 { /* 5 GHz */
+ compatible = "pci168c,0029";
+ mtd-mac-address = <&hwinfo 0x1c>;
+ mtd-mac-address-increment = <2>;
+ reg = <0x9000 0 0 0 0>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
+};
+
+&uart {
+ status = "okay";
+};
+
+&mdio0 {
+ status = "okay";
+
+ phy-mask = <0x1>;
+
+ phy0: ethernet-phy@0 {
+ reg = <0>;
+ };
+};
+
+&eth0 {
+ status = "okay";
+ mtd-mac-address = <&hwinfo 0x1c>;
+
+ pll-data = <0x00110000 0x00001099 0x00991099>;
+
+ phy-mode = "rgmii";
+ phy-handle = <&phy0>;
+};
+
+&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 0x40000>;
+ read-only;
+ };
+
+ partition@40000 {
+ label = "firmware";
+ reg = <0x40000 0xfa0000>;
+ compatible = "denx,uimage";
+ };
+
+ hwinfo: partition@fe0000 {
+ label = "hwinfo";
+ reg = <0xfe0000 0x10000>;
+ read-only;
+ };
+
+ partition@ff0000 {
+ label = "u-boot-env";
+ reg = <0xff0000 0x10000>;
+ read-only;
+ };
+ };
+ };
+};
diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk
index 8588e7cdf6..2ed637ee6d 100644
--- a/target/linux/ath79/image/generic.mk
+++ b/target/linux/ath79/image/generic.mk
@@ -75,6 +75,14 @@ define Device/seama
SEAMA_SIGNATURE :=
endef
+define Device/aruba_ap-105
+ ATH_SOC := ar7161
+ DEVICE_TITLE := Aruba AP-105
+ IMAGE_SIZE := 16000k
+ DEVICE_PACKAGES := kmod-i2c-core kmod-i2c-gpio kmod-tpm-i2c-atmel
+endef
+TARGET_DEVICES += aruba_ap-105
+
define Device/avm_fritz300e
ATH_SOC := ar7242
DEVICE_TITLE := AVM FRITZ!WLAN Repeater 300E
--
2.17.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment