sof-t-os-ap55-support.patch ( quick and dirty v2 )
--- a/target/linux/ath79/image/generic.mk
+++ b/target/linux/ath79/image/generic.mk
@@ -235,6 +235,14 @@ define Device/devolo_dvl1750e
endef
TARGET_DEVICES += devolo_dvl1750e
+define Device/sophos_ap55
+ ATH_SOC := qca9558
+ DEVICE_TITLE := Sophos AP55
+ DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
+ IMAGE_SIZE := 15936k
+endef
+TARGET_DEVICES += sophos_ap55
+
define Device/devolo_dvl1750i
ATH_SOC := qca9558
DEVICE_TITLE := devolo WiFi pro 1750i
--- /dev/null
+++ b/target/linux/ath79/dts/qca9558_sophos_ap55.dts
@@ -0,0 +1,83 @@
+// 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 "qca9558_devolo_dvl1xxx.dtsi"
+
+/ {
+ compatible = "sophos,ap55", "qca,qca9557";
+ model = "Sophos AP55";
+
+ aliases {
+ led-boot = &status_blue;
+ led-failsafe = &status_red;
+ led-running = &status_blue;
+ led-upgrade = &status_red;
+ };
+
+ keys {
+ wps {
+ label = "WPS Button";
+ linux,code = <KEY_WPS_BUTTON>;
+ gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
+ debounce-interval = <60>;
+ };
+
+ usb_eject {
+ label = "USB Eject Button";
+ linux,code = <BTN_0>;
+ linux,input-type = <EV_SW>;
+ gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
+ debounce-interval = <60>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ status_blue: status_blue {
+ label = "ap55:blue:status";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ };
+
+ status_red: status_red {
+ label = "ap55:red:status";
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ beeper {
+ compatible = "gpio-beeper";
+ gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
+ };
+
+
+ gpio_export {
+ compatible = "gpio-export";
+
+ gpio_usb_power {
+ gpio-export,name = "ap55:power:usb";
+ gpio-export,output = <1>;
+ gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+};
+
+&mdio1 {
+ status = "okay";
+};
+
+ð1 {
+ status = "okay";
+};
--- a/target/linux/ath79/base-files/etc/board.d/01_leds
+++ b/target/linux/ath79/base-files/etc/board.d/01_leds
@@ -62,6 +62,7 @@ comfast,cf-e5)
dlink,dir-859-a1)
ucidef_set_led_switch "internet" "WAN" "$boardname:green:internet" "switch0" "0x20"
;;
+sophos,ap55|\
engenius,ecb1750)
ucidef_set_led_netdev "lan" "LAN" "$boardname:blue:lan" "eth0"
;;
--- a/target/linux/ath79/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/base-files/etc/board.d/02_network
@@ -15,6 +15,7 @@ ath79_setup_interfaces()
devolo,dvl1750c|\
devolo,dvl1750i|\
engenius,ecb1750|\
+ sophos,ap55|\
glinet,ar300m-lite|\
netgear,ex6400|\
netgear,ex7300|\
@@ -289,6 +290,7 @@ ath79_setup_macs()
elecom,wrc-300ghbk2-i)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary art 4098)" -2)
;;
+ sophos,ap55|\
engenius,ecb1750)
lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
;;
--- a/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
+++ b/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -95,6 +95,10 @@ case "$FIRMWARE" in
ath10kcal_extract "art" 20480 2116
ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_binary art 0) -1)
;;
+ sophos,ap55)
+ ath10kcal_extract "art" 20480 2116
+ #ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_binary art 0) -1)
+ ;;
dlink,dir-859-a1)
ath10kcal_extract "art" 20480 2116
ath10kcal_patch_mac $(mtd_get_mac_ascii devdata "wlan5mac")
--- a/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
+++ b/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
@@ -115,6 +115,10 @@ case "$FIRMWARE" in
ath9k_eeprom_extract "art" 4096 1088
ath9k_patch_fw_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env "athaddr") +1) 2
;;
+ sophos,ap55)
+ ath9k_eeprom_extract "art" 4096 1088
+ ath9k_patch_fw_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env "athaddr") +1) 2
+ ;;
engenius,epg5000|\
iodata,wn-ac1167dgr|\
iodata,wn-ac1600dgr|\
( you should check up on wikidev to see if any of the other variants are closer to yours.... usb etc..... )
quilt init
quilt import sof-t-os-ap55-support.patch
quilt push
noTE: This is for testing the resulting initramfs images.... do not use any other images!!!
crossreference with the TableofHardware and wikidev.... make edits to this file:
target/linux/ath79/dts/qca9558_sophos_ap55.dts
compare similar sections with the other .dts files in that directory
And iron out usb.... ( if it's there ).... then maybe wifi..... and finally to mess with the sysupgrade stuff so that you can work with flashing or possibly just tweak it so it will load from USB like i do )