From a36fc589fe7ac53ccb83f4503953bd6646477d0a Mon Sep 17 00:00:00 2001 From: Dirk Buchwalder Date: Sat, 1 Jan 2022 23:17:51 +0100 Subject: [PATCH] ipq807x: add Edimax CAX1800 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Edimax CAX1800 is a 802.11 ax dual-band AP with PoE. AP can be ceiling or wall mount. Specifications: • CPU: Qualcomm IPQ8070A Quad core Cortex-A53 1.4GHz • RAM: 512MB of DDR3 • Storage: 128MB NAND (contains rootfs) / 8MB NOR (contains art and uboot-env) • Ethernet: 1x 1G RJ45 port (QCA8072) PoE • WLAN: 2.4GHz: Qualcomm QCN5024 2x2 802.11b/g/n/ax 574 Mbps PHY rate 5GHz: Qualcomm QCN5054 2x2 802.11a/b/g/n/ac/ax 1201 PHY rate • LEDs: 3 x GPIO-controlled System-LEDs (form one virtual RGB System-LED) black_small_square Buttons: 1x soft reset black_small_square Power: 12V DC jack or PoE (802.3af ) An unpopulated serial header is onboard. RX/TX is working, bootwait is active, secure boot is not enabled. SSH can be activated in the stock firmware, but it drops only to a limited shell . Installation Instructions: black_small_square obtain serial access black_small_square stop auto boot black_small_square tftpboot the initramfs image (serverip is set to 192.168.99.8 in uboot) black_small_square bootm black_small_square copy openwrt-ipq807x-generic-edimax_cax1800-squashfs-nand-factory.ubi to the device black_small_square write the image to the NAND: black_small_square cat /proc/mtd and look for rootfs partition (should be mtd0) black_small_square ubiformat /dev/mtd0 -f -y openwrt-ipq807x-generic-edimax_cax1800-squashfs- nand-factory.ubi black_small_square reboot Note: Device is not using dual partitioning (NAND contains other partitions with different manufacture data etc.) Draytek VigorAP 960C and Lancom LW-600 both look similar, but I haven't checked them. Signed-off-by: Dirk Buchwalder --- package/boot/uboot-envtools/files/ipq807x | 5 + package/firmware/ipq-wifi/Makefile | 2 + .../ipq-wifi/board-edimax_cax1800.ipq8074 | Bin 0 -> 131180 bytes .../ipq807x/base-files/etc/board.d/02_network | 3 + .../etc/hotplug.d/firmware/11-ath11k-caldata | 1 + .../base-files/lib/upgrade/platform.sh | 3 + .../arm64/boot/dts/qcom/ipq8070-cax1800.dts | 322 ++++++++++++++++++ target/linux/ipq807x/image/generic.mk | 13 + 8 files changed, 349 insertions(+) create mode 100644 package/firmware/ipq-wifi/board-edimax_cax1800.ipq8074 create mode 100644 target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8070-cax1800.dts diff --git a/package/boot/uboot-envtools/files/ipq807x b/package/boot/uboot-envtools/files/ipq807x index 44f2d8a0c27..636f3344129 100644 --- a/package/boot/uboot-envtools/files/ipq807x +++ b/package/boot/uboot-envtools/files/ipq807x @@ -8,6 +8,11 @@ touch /etc/config/ubootenv board=$(board_name) case "$board" in +edimax,cax1800) + idx="$(find_mtd_index 0:appsblenv)" + [ -n "$idx" ] && \ + ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x20000" + ;; redmi,ax6|\ xiaomi,ax3600) idx="$(find_mtd_index 0:appsblenv)" diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile index 1fa7482ddb8..27672280801 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -29,6 +29,7 @@ ALLWIFIBOARDS:= \ devolo_magic-2-wifi-next \ edgecore_ecw5410 \ edgecore_oap100 \ + edimax_cax1800 \ extreme-networks_ws-ap3915i \ glinet_gl-a1300 \ glinet_gl-ap1300 \ @@ -120,6 +121,7 @@ $(eval $(call generate-ipq-wifi-package,aruba_ap-365,Aruba AP-365)) $(eval $(call generate-ipq-wifi-package,devolo_magic-2-wifi-next,devolo Magic 2 WiFi next)) $(eval $(call generate-ipq-wifi-package,edgecore_ecw5410,Edgecore ECW5410)) $(eval $(call generate-ipq-wifi-package,edgecore_oap100,Edgecore OAP100)) +$(eval $(call generate-ipq-wifi-package,edimax_cax1800,Edimax CAX1800)) $(eval $(call generate-ipq-wifi-package,extreme-networks_ws-ap3915i,Edgecore OAP100)) $(eval $(call generate-ipq-wifi-package,glinet_gl-a1300,GL.iNet GL-A1300)) $(eval $(call generate-ipq-wifi-package,glinet_gl-ap1300,GL.iNet GL-AP1300)) diff --git a/package/firmware/ipq-wifi/board-edimax_cax1800.ipq8074 b/package/firmware/ipq-wifi/board-edimax_cax1800.ipq8074 new file mode 100644 index 0000000000000000000000000000000000000000..5c9f4700f48413ba2c93c5ca6434fce88d47f842 GIT binary patch literal 131180 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 */ + +/dts-v1/; + +#include "ipq8074-512m.dtsi" +#include "ipq8074-ac-cpu.dtsi" +#include "ipq8074-ess.dtsi" +#include +#include + +/ { + model = "Edimax CAX1800"; + compatible = "edimax,cax1800", "qcom,ipq8074"; + + aliases { + serial0 = &blsp1_uart5; + led-boot = &led_system_red; + led-failsafe = &led_system_red; + led-running = &led_system_green; + led-upgrade = &led_system_red; + /* Aliases as required by u-boot to patch MAC addresses */ + ethernet0 = &dp5; + label-mac-device = &dp5; + }; + + chosen { + stdout-path = "serial0:115200n8"; + bootargs-append = " root=/dev/ubiblock0_1"; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&tlmm 32 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_system_red: system-red { + label = "red:system"; + gpios = <&tlmm 25 GPIO_ACTIVE_HIGH>; + }; + + led_system_green: system-green { + label = "green:system"; + gpios = <&tlmm 26 GPIO_ACTIVE_HIGH>; + }; + + led_system_blue: system-blue { + label = "blue:system"; + gpios = <&tlmm 27 GPIO_ACTIVE_HIGH>; + }; + }; +}; + +&tlmm { + mdio_pins: mdio-pins { + mdc { + pins = "gpio68"; + function = "mdc"; + drive-strength = <8>; + bias-pull-up; + }; + + mdio { + pins = "gpio69"; + function = "mdio"; + drive-strength = <8>; + bias-pull-up; + }; + }; +}; + +&blsp1_uart5 { + status = "okay"; +}; + +&prng { + status = "okay"; +}; + +&cryptobam { + status = "okay"; +}; + +&crypto { + status = "okay"; +}; + +&qpic_bam { + status = "okay"; +}; + +&qpic_nand { + status = "okay"; + + nand@0 { + reg = <0>; + nand-ecc-strength = <4>; + nand-ecc-step-size = <512>; + nand-bus-width = <8>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "rootfs"; + reg = <0x0000000 0x3400000>; + }; + }; + }; +}; + +&blsp1_spi1 { + pinctrl-0 = <&spi_0_pins>; + pinctrl-names = "default"; + cs-select = <0>; + status = "ok"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + reg = <0>; + compatible = "jedec,spi-nor"; + spi-max-frequency = <50000000>; + use-default-sizes; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "0:sbl1"; + reg = <0x0 0x50000>; + read-only; + }; + + partition@50000 { + label = "0:mibib"; + reg = <0x50000 0x10000>; + read-only; + }; + + partition@60000 { + label = "0:bootconfig"; + reg = <0x60000 0x20000>; + read-only; + }; + + partition@80000 { + label = "0:bootconfig1"; + reg = <0x80000 0x20000>; + read-only; + }; + + partition@a0000 { + label = "0:qsee"; + reg = <0xa0000 0x180000>; + read-only; + }; + + partition@220000 { + label = "0:qsee_1"; + reg = <0x220000 0x180000>; + read-only; + }; + + partition@3a0000 { + label = "0:devcfg"; + reg = <0x3a0000 0x10000>; + read-only; + }; + + partition@3b0000 { + label = "0:devcfg_1"; + reg = <0x3b0000 0x10000>; + read-only; + }; + + partition@3c0000 { + label = "0:apdp"; + reg = <0x3c0000 0x10000>; + read-only; + }; + + partition@3d0000 { + label = "0:apdp_1"; + reg = <0x3d0000 0x10000>; + read-only; + }; + + partition@3e0000 { + label = "0:rpm"; + reg = <0x3e0000 0x40000>; + read-only; + }; + + partition@420000 { + label = "0:rpm_1"; + reg = <0x420000 0x40000>; + read-only; + }; + + partition@460000 { + label = "0:cdt"; + reg = <0x460000 0x10000>; + read-only; + }; + + partition@470000 { + label = "0:cdt_1"; + reg = <0x470000 0x10000>; + read-only; + }; + + partition@480000 { + label = "0:appsblenv"; + reg = <0x480000 0x10000>; + }; + + partition@490000 { + label = "0:appsbl"; + reg = <0x490000 0xa0000>; + read-only; + }; + + partition@530000 { + label = "0:appsbl_1"; + reg = <0x530000 0xa0000>; + read-only; + }; + + partition@5d0000 { + label = "0:art"; + reg = <0x5d0000 0x40000>; + read-only; + }; + + partition@610000 { + label = "0:ethphyfw"; + reg = <0x610000 0x80000>; + read-only; + }; + }; + }; +}; + +&mdio { + status = "okay"; + + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + + reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>; + + qca8075: ethernet-phy@4 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <4>; + }; +}; + +&switch { + status = "okay"; + + switch_cpu_bmp = <0x1>; /* cpu port bitmap */ + switch_lan_bmp = <0x1e>; /* lan port bitmap */ + switch_wan_bmp = <0x20>; /* wan port bitmap */ + switch_mac_mode = <0x0>; /* mac mode for uniphy instance0*/ + switch_mac_mode1 = <0xff>; /* mac mode for uniphy instance1*/ + switch_mac_mode2 = <0xff>; /* mac mode for uniphy instance2*/ + bm_tick_mode = <0>; /* bm tick mode */ + tm_tick_mode = <0>; /* tm tick mode */ + + qcom,port_phyinfo { + port@0 { + port_id = <1>; + phy_address = <0>; + }; + port@1 { + port_id = <2>; + phy_address = <1>; + }; + port@2 { + port_id = <3>; + phy_address = <2>; + }; + port@3 { + port_id = <4>; + phy_address = <3>; + }; + port@4 { + port_id = <5>; + phy_address = <4>; + }; + }; +}; + +&edma { + status = "okay"; +}; + +&dp5 { + status = "okay"; + phy-handle = <&qca8075>; + label = "lan"; +}; + +&wifi { + status = "okay"; + + qcom,ath11k-calibration-variant = "Edimax-CAX1800"; + qcom,ath11k-fw-memory-mode = <1>; +}; diff --git a/target/linux/ipq807x/image/generic.mk b/target/linux/ipq807x/image/generic.mk index 7fd0169a64c..95937512a95 100644 --- a/target/linux/ipq807x/image/generic.mk +++ b/target/linux/ipq807x/image/generic.mk @@ -17,6 +17,19 @@ define Device/UbiFit IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata endef +define Device/edimax_cax1800 + $(call Device/FitImage) + $(call Device/UbiFit) + DEVICE_VENDOR := Edimax + DEVICE_MODEL := CAX1800 + BLOCKSIZE := 128k + PAGESIZE := 2048 + DEVICE_DTS_CONFIG := config@ac03 + SOC := ipq8070 + DEVICE_PACKAGES := ipq-wifi-edimax_cax1800 +endef +TARGET_DEVICES += edimax_cax1800 + define Device/redmi_ax6 $(call Device/xiaomi_ax3600) DEVICE_VENDOR := Redmi -- 2.47.2