[openwrt/openwrt] ath79: add support for AirTight C-75

LEDE Commits lede-commits at lists.infradead.org
Sat Dec 19 15:22:45 EST 2020


adrian pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/0d96d36841e817f368e86d4af725570d757cb0ca

commit 0d96d36841e817f368e86d4af725570d757cb0ca
Author: Tomasz Maciej Nowak <tmn505 at gmail.com>
AuthorDate: Thu Dec 17 17:24:26 2020 +0100

    ath79: add support for AirTight C-75
    
    AirTight Networks (later renamed to Mojo Networks) C-75 is a dual-band
    access point, also sold by WatchGuard under name AP320.
    
    Specification
    SoC: Qualcomm Atheros QCA9550
    RAM: 128 MiB DDR2
    Flash: 2x 16 MiB SPI NOR
    WIFI: 2.4 GHz 3T3R integrated
          5 GHz 3T3R QCA9890 oversized Mini PCIe card
    Ethernet: 2x 10/100/1000 Mbps QCA8334
              port labeled LAN1 is PoE capable (802.3at)
    USB: 1x 2.0
    LEDs: 7x which two are GPIO controlled, four switch controlled, one
          controlled by wireless driver
    Buttons: 1x GPIO controlled
    Serial: RJ-45 port, Cisco pinout
            baud: 115200, parity: none, flow control: none
    JTAG: Yes, pins marked J1 on PCB
    
    Installation
    1. Prepare TFTP server with OpenWrt initramfs-kernel image.
    2. Connect to one of LAN ports.
    3. Connect to serial port.
    4. Power on the device and when prompted to stop autoboot, hit any key.
    5. Adjust "ipaddr" and "serverip" addresses in U-Boot environment, use
       'setenv' to do that, then run following commands:
        tftpboot 0x81000000 <openwrt_initramfs-kernel_image_name>
        bootm 0x81000000
    6. Wait about 1 minute for OpenWrt to boot.
    7. Transfer OpenWrt sysupgrade image to /tmp directory and flash it
       with:
        sysupgrade -n /tmp/<openwrt_sysupgrade_image_name>
    8. After flashing, the access point will reboot to OpenWrt. Wait few
       minutes, until the Power LED stops blinking, then it's ready for
       configuration.
    
    Known issues
    Green power LED does not work.
    
    Additional information
    The U-Boot fails to initialise ethernet ports correctly when a UART
    adapter is attached to UART pins (marked J3 on PCB).
    
    Cc: Vladimir Georgievsky <vladimir.georgievsky at yahoo.com>
    Signed-off-by: Tomasz Maciej Nowak <tmn505 at gmail.com>
---
 target/linux/ath79/dts/qca9550_airtight_c-75.dts   | 169 +++++++++++++++++++++
 .../generic/base-files/etc/board.d/02_network      |   4 +
 target/linux/ath79/image/generic.mk                |  13 ++
 3 files changed, 186 insertions(+)

diff --git a/target/linux/ath79/dts/qca9550_airtight_c-75.dts b/target/linux/ath79/dts/qca9550_airtight_c-75.dts
new file mode 100644
index 0000000000..566aa6aef6
--- /dev/null
+++ b/target/linux/ath79/dts/qca9550_airtight_c-75.dts
@@ -0,0 +1,169 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "qca955x.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+	model = "AirTight Networks C-75";
+	compatible = "airtight,c-75", "qca,qca9550", "qca,qca9558";
+
+	aliases {
+		label-mac-device = &eth0;
+		led-boot = &led_power;
+		led-failsafe = &led_power;
+		led-upgrade = &led_power;
+	};
+
+	keys {
+		compatible = "gpio-keys";
+
+		reset {
+			label = "reset";
+			linux,code = <KEY_RESTART>;
+			gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led_power: power {
+			label = "amber:power";
+			gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
+			default-state = "on";
+		};
+
+		wlan2g {
+			label = "green:wlan2g";
+			gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "phy1tpt";
+		};
+	};
+};
+
+&eth0 {
+	status = "okay";
+
+	mtd-mac-address = <&art 0x0>;
+	phy-handle = <&phy0>;
+	pll-data = <0xa6000000 0x00000101 0x00001616>;
+};
+
+&mdio0 {
+	status = "okay";
+
+	phy0: ethernet-phy at 0 {
+		reg = <0>;
+		qca,ar8327-initvals = <
+			0x04 0x07600000 /* PORT0 PAD MODE CTRL */
+			0x0c 0x00080080 /* PORT6 PAD MODE CTRL */
+			0x58 0xc935c935 /* LED2 CTRL */
+			0x5c 0x03ffff00 /* LED3 CTRL */
+			0x7c 0x0000007e /* PORT0_STATUS */
+			0x94 0x0000007e /* PORT6_STATUS */
+		>;
+	};
+};
+
+&eth1 {
+	status = "okay";
+
+	mtd-mac-address = <&art 0x6>;
+	pll-data = <0x03000101 0x00000101 0x00001616>;
+
+	fixed-link {
+		speed = <1000>;
+		full-duplex;
+	};
+};
+
+&pcie0 {
+	status = "okay";
+
+	wifi at 0,0 {
+		compatible = "qcom,ath10k";
+		reg = <0x0000 0 0 0 0>;
+	};
+};
+
+&spi {
+	status = "okay";
+
+	flash at 0 {
+		compatible = "jedec,spi-nor";
+		reg = <0>;
+		spi-max-frequency = <25000000>;
+
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			partition at 0 {
+				label = "u-boot";
+				reg = <0x000000 0x040000>;
+				read-only;
+			};
+
+			partition at 40000 {
+				label = "u-boot-env";
+				reg = <0x040000 0x010000>;
+			};
+
+			partition at 50000 {
+				label = "wlandrv";
+				reg = <0x050000 0x010000>;
+				read-only;
+			};
+
+			partition at 60000 {
+				label = "firmware";
+				reg = <0x060000 0xf90000>;
+				compatible = "denx,uimage";
+			};
+
+			art: partition at ff0000 {
+				label = "art";
+				reg = <0xff0000 0x010000>;
+				read-only;
+			};
+		};
+	};
+
+	flash at 1 {
+		compatible = "jedec,spi-nor";
+		reg = <1>;
+		spi-max-frequency = <25000000>;
+
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			partition at 0 {
+				label = "opt";
+				reg = <0x0 0x1000000>;
+			};
+		};
+	};
+};
+
+&uart {
+	status = "okay";
+};
+
+&usb_phy0 {
+	status = "okay";
+};
+
+&usb0 {
+	status = "okay";
+};
+
+&wmac {
+	status = "okay";
+
+	mtd-cal-data = <&art 0x1000>;
+};
diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network
index 905848a2ba..866d74fae4 100755
--- a/target/linux/ath79/generic/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network
@@ -81,6 +81,10 @@ ath79_setup_interfaces()
 	winchannel,wb2000)
 		ucidef_set_interface_lan "eth0"
 		;;
+	airtight,c-75)
+		ucidef_add_switch "switch0" \
+			"0 at eth0" "2:wan" "3:lan" "6 at eth1"
+		;;
 	alfa-network,ap121fe)
 		ucidef_set_interface_lan "eth0 usb0"
 		;;
diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk
index b3fca9eb8f..baaea00c30 100644
--- a/target/linux/ath79/image/generic.mk
+++ b/target/linux/ath79/image/generic.mk
@@ -237,6 +237,19 @@ define Device/adtran_bsap1840
 endef
 TARGET_DEVICES += adtran_bsap1840
 
+define Device/airtight_c-75
+  SOC := qca9550
+  DEVICE_VENDOR := AirTight Networks
+  DEVICE_MODEL := C-75
+  DEVICE_ALT0_VENDOR := Mojo Networks
+  DEVICE_ALT0_MODEL := C-75
+  DEVICE_ALT1_VENDOR := WatchGuard
+  DEVICE_ALT1_MODEL := AP320
+  DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct kmod-usb2
+  IMAGE_SIZE := 15936k
+endef
+TARGET_DEVICES += airtight_c-75
+
 define Device/alfa-network_ap121f
   SOC := ar9331
   DEVICE_VENDOR := ALFA Network



More information about the lede-commits mailing list