Hi,

> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-boun...@lists.openwrt.org]
> On Behalf Of Tomasz Maciej Nowak
> Sent: Dienstag, 1. Dezember 2020 18:36
> To: openwrt-devel@lists.openwrt.org
> Cc: Vladimir Georgievsky <vladimir.georgiev...@yahoo.com>
> Subject: [PATCH 1/2] ath79: add support for Mojo Networks AirTight C-75
> 
> Mojo Networks AirTight 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.georgiev...@yahoo.com>
> Signed-of-by: Tomasz Maciej Nowak <tmn...@gmail.com>
> ---
>  package/boot/uboot-envtools/files/ath79       |   1 +
>  target/linux/ath79/dts/qca9550_mojo_c-75.dts  | 173
> ++++++++++++++++++
>  .../generic/base-files/etc/board.d/02_network |   4 +
>  target/linux/ath79/image/generic.mk           |  11 ++
>  4 files changed, 189 insertions(+)
>  create mode 100644 target/linux/ath79/dts/qca9550_mojo_c-75.dts
> 
> diff --git a/package/boot/uboot-envtools/files/ath79
> b/package/boot/uboot-envtools/files/ath79
> index 259c52c77034..a6b52b370530 100644
> --- a/package/boot/uboot-envtools/files/ath79
> +++ b/package/boot/uboot-envtools/files/ath79
> @@ -20,6 +20,7 @@ alfa-network,n5q|\
>  alfa-network,pi-wifi4|\
>  alfa-network,r36a|\
>  allnet,all-wap02860ac|\
> +airtight,c-75|\

This is inconsistent with the other names. See more detailed comment below.

>  arduino,yun|\
>  buffalo,bhr-4grv2|\
>  devolo,magic-2-wifi|\
> diff --git a/target/linux/ath79/dts/qca9550_mojo_c-75.dts
> b/target/linux/ath79/dts/qca9550_mojo_c-75.dts
> new file mode 100644
> index 000000000000..51046a740a02
> --- /dev/null
> +++ b/target/linux/ath79/dts/qca9550_mojo_c-75.dts
> @@ -0,0 +1,173 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> +
> +#include "qca955x.dtsi"

This include needs to be first (after the license).

> +
> +/ {
> +     model = "Mojo Networks AirTight C-75";
> +     compatible = "mojo,c-75", "qca,qca9550", "qca,qca9558";

Please decide for one name and then use that consistently. It appears to me 
that both Mojo Networks and Airtight Networks are different _vendor_ names (due 
to a rename)?

Then please decide for one and use that one consistently, i.e.
either
        model = "Mojo Networks C-75";
        compatible = "mojo,c-75", "qca,qca9550", "qca,qca9558";
or
        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;

No led-running?

> +     };
> +
> +     keys {
> +             compatible = "gpio-keys";
> +
> +             reset {
> +                     linux,code = <KEY_RESTART>;
> +                     gpios = <&gpio 17 GPIO_ACTIVE_LOW>;

missing label?

> +             };
> +     };
> +
> +     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>;
> +     phy-mode = "rgmii";
> +     pll-data = <0xa6000000 0x00000101 0x00001616>; };
> +
> +&eth1 {
> +     status = "okay";
> +
> +     mtd-mac-address = <&art 0x6>;
> +     phy-mode = "sgmii";
> +     pll-data = <0x03000101 0x00000101 0x00001616>;
> +
> +     fixed-link {
> +             speed = <1000>;
> +             full-duplex;
> +     };
> +};
> +
> +&mdio0 {
> +     status = "okay";
> +
> +     phy0: ethernet-phy@0 {
> +             reg = <0>;
> +             qca,ar8327-initvals = <
> +                     0x0c 0x00080080
> +                     0x04 0x07600000
> +                     0x58 0xc935c935
> +                     0x5c 0x03ffff00
> +                     0x7c 0x0000007e
> +                     0x94 0x0000007e
> +             >;
> +     };
> +};

Please move mdio0 up so it's either directly before or after eth0.

> +
> +&pcie0 {
> +     status = "okay";
> +
> +     wifi@0,0 {
> +             compatible = "qcom,ath10k";
> +             reg = <0x0000 0 0 0 0>;
> +     };
> +};
> +
> +&spi {
> +     status = "okay";
> +
> +     num-cs = <2>;

num-cs can be dropped for ath79.

> +
> +     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 0x040000>;
> +                             read-only;
> +                     };
> +
> +                     partition@40000 {
> +                             label = "u-boot-env";
> +                             reg = <0x040000 0x010000>;
> +                     };
> +
> +                     partition@50000 {
> +                             label = "wlandrv";
> +                             reg = <0x050000 0x010000>;
> +                             read-only;
> +                     };
> +
> +                     partition@60000 {
> +                             label = "firmware";
> +                             reg = <0x060000 0xf90000>;
> +                             compatible = "denx,uimage";
> +                     };
> +
> +                     art: partition@ff0000 {
> +                             label = "art";
> +                             reg = <0xff0000 0x010000>;
> +                             read-only;
> +                     };
> +             };
> +     };
> +
> +     flash@1 {
> +             compatible = "jedec,spi-nor";
> +             reg = <1>;
> +             spi-max-frequency = <25000000>;
> +
> +             partitions {
> +                     compatible = "fixed-partitions";
> +                     #address-cells = <1>;
> +                     #size-cells = <1>;
> +
> +                     partition@0 {
> +                             label = "opt";
> +                             reg = <0x0 0x1000000>;

read-only? or is that intended for user data?

> +                     };
> +             };
> +     };
> +};
> +
> +&uart {
> +     status = "okay";
> +};
> +
> +&usb_phy0 {
> +     status = "okay";
> +};
> +
> +&usb0 {
> +     status = "okay";
> +};
> +
> +&wmac {
> +     status = "okay";
> +
> +     mtd-cal-data = <&art 0x1000>;
> +     mtd-mac-address = <&art 0x1002>;

mtd-mac-address can be dropped, this will get read from caldata automatically.

> +};
> 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 5c0195f6ffc9..02e4d6b78dd4 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
> @@ -248,6 +248,10 @@ ath79_setup_interfaces()
>               ucidef_add_switch "switch0" \
>                       "0@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4"
> "1:wan"
>               ;;
> +     mojo,c-75)
> +             ucidef_add_switch "switch0" \
> +                     "0@eth0" "2:wan" "3:lan" "6@eth1"
> +             ;;

Interesting setup. Is this necessary or can one use
                ucidef_set_interfaces_lan_wan "eth1" "eth0"
instead? (Have to think about that myself ...)

Best

Adrian

>       nec,wg1200cr|\
>       qxwlan,e1700ac-v2-8m|\
>       qxwlan,e1700ac-v2-16m|\
> diff --git a/target/linux/ath79/image/generic.mk
> b/target/linux/ath79/image/generic.mk
> index a0d5e7ab0190..0f90c00b9c43 100644
> --- a/target/linux/ath79/image/generic.mk
> +++ b/target/linux/ath79/image/generic.mk
> @@ -1192,6 +1192,17 @@ define Device/mercury_mw4530r-v1  endef
> TARGET_DEVICES += mercury_mw4530r-v1
> 
> +define Device/mojo_c-75
> +  SOC := qca9550
> +  DEVICE_VENDOR := Mojo Networks
> +  DEVICE_MODEL := AirTight C-75
> +  DEVICE_ALT0_VENDOR := WatchGuard
> +  DEVICE_ALT0_MODEL := AP320
> +  DEVICE_PACKAGES := ath10k-firmware-qca988x kmod-ath10k-ct kmod-
> usb2
> +  IMAGE_SIZE := 15936k
> +endef
> +TARGET_DEVICES += mojo_c-75
> +
>  define Device/nec_wg1200cr
>    SOC := qca9563
>    DEVICE_VENDOR := NEC
> --
> 2.29.2
> 
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Attachment: openpgp-digital-signature.asc
Description: PGP signature

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to