diff --git a/.github/workflows/build-dev.yml b/.github/workflows/build-dev.yml index d373f8c7d..a9b26593b 100644 --- a/.github/workflows/build-dev.yml +++ b/.github/workflows/build-dev.yml @@ -11,7 +11,7 @@ jobs: strategy: fail-fast: false matrix: - target: ['actiontec_web7200', 'cig_wf188n', 'cig_wf194c', 'cig_wf194c4', 'cig_wf160d', 'cig_wf808', 'cybertan_eww622-a1', 'edgecore_eap101', 'edgecore_eap102', 'edgecore_ecs4100-12ph', 'edgecore_ecw5211', 'edgecore_ecw5410', 'edgecore_oap100', 'edgecore_ssw2ac2600', 'edgecore_spw2ac1200', 'edgecore_spw2ac1200-lan-poe', 'hfcl_ion4', 'hfcl_ion4xe', 'hfcl_ion4xi', 'indio_um-305ac', 'linksys_ea6350-v4', 'linksys_e8450-ubi', 'linksys_ea8300', 'tp-link_ec420-g1', 'tplink_ex227', 'tplink_ex228', 'tplink_ex447', 'wallys_dr40x9', 'wallys_dr6018', 'wallys_dr6018_v4' ] + target: ['actiontec_web7200', 'cig_wf188n', 'cig_wf194c', 'cig_wf194c4', 'cig_wf160d', 'cig_wf808', 'cybertan_eww622-a1', 'edgecore_eap101', 'edgecore_eap102', 'edgecore_eap104', 'edgecore_ecs4100-12ph', 'edgecore_ecw5211', 'edgecore_ecw5410', 'edgecore_oap100', 'edgecore_ssw2ac2600', 'edgecore_spw2ac1200', 'edgecore_spw2ac1200-lan-poe', 'hfcl_ion4', 'hfcl_ion4xe', 'hfcl_ion4xi', 'indio_um-305ac', 'linksys_ea6350-v4', 'linksys_e8450-ubi', 'linksys_ea8300', 'tp-link_ec420-g1', 'tplink_ex227', 'tplink_ex228', 'tplink_ex447', 'wallys_dr40x9', 'wallys_dr6018', 'wallys_dr6018_v4' ] steps: - uses: actions/checkout@v2 diff --git a/feeds/bluetooth-cc2652/cc2652/Makefile b/feeds/bluetooth-cc2652/cc2652/Makefile index 26a9abd68..acd285ce8 100755 --- a/feeds/bluetooth-cc2652/cc2652/Makefile +++ b/feeds/bluetooth-cc2652/cc2652/Makefile @@ -37,6 +37,9 @@ define Package/cc2652/install $(INSTALL_DIR) $(1)/etc/config $(INSTALL_BIN) ./files/tisbl.config $(1)/etc/config/tisbl + + $(INSTALL_DIR) $(1)/etc/uci-defaults + $(INSTALL_BIN) ./files/tisbl.defaults $(1)/etc/uci-defaults endef $(eval $(call BuildPackage,cc2652)) diff --git a/feeds/bluetooth-cc2652/cc2652/files/tisbl.config b/feeds/bluetooth-cc2652/cc2652/files/tisbl.config index 84242e4fc..221d7b3a4 100755 --- a/feeds/bluetooth-cc2652/cc2652/files/tisbl.config +++ b/feeds/bluetooth-cc2652/cc2652/files/tisbl.config @@ -1,9 +1,7 @@ config tisbl 'tisbl' - option firmware '/etc/tifirmware/ble5_host_test_bd9.bin' - option tty '/dev/ttyMSM1' # for EAP101 board -# option tty '/dev/ttyACM0' # for virtualbox openwrt 19.07 with TI CC26X2R launchpad - option tichip '2652' - option baudrate '115200' - option resetpin '79' - option backdoorpin '34' #EAP101-R1 -# option backdoorpin '67' #EAP101-R0A-HW-modification + option firmware '/etc/tifirmware/ble5_host_test_bd9.bin' + option tty '/dev/ttyMSM1' + option tichip '2652' + option baudrate '115200' + option resetpin '79' + option backdoorpin '34' diff --git a/feeds/bluetooth-cc2652/cc2652/files/tisbl.defaults b/feeds/bluetooth-cc2652/cc2652/files/tisbl.defaults new file mode 100755 index 000000000..091290062 --- /dev/null +++ b/feeds/bluetooth-cc2652/cc2652/files/tisbl.defaults @@ -0,0 +1,13 @@ +#!/bin/sh + +. /lib/functions.sh +. /lib/functions/system.sh + +board=$(board_name) + +case $board in +edgecore,eap104) + uci set tisbl.tisbl.backdoorpin=31 + uci set tisbl.tisbl.resetpin=35 + ;; +esac diff --git a/feeds/ipq807x/ipq807x/base-files/etc/board.d/01_leds b/feeds/ipq807x/ipq807x/base-files/etc/board.d/01_leds index d47a7e55e..1d4af84c0 100755 --- a/feeds/ipq807x/ipq807x/base-files/etc/board.d/01_leds +++ b/feeds/ipq807x/ipq807x/base-files/etc/board.d/01_leds @@ -17,9 +17,6 @@ cig,wf194c4) ucidef_set_led_wlan "wlan5g" "WLAN5G" "green:wifi5" "phy0tpt" ucidef_set_led_wlan "wlan2g" "WLAN2G" "green:wifi2" "phy1tpt" ;; -esac - -case "$board" in edgecore,eap101) ucidef_set_led_wlan "wlan5g" "WLAN5G" "green:wifi5" "phy0tpt" ucidef_set_led_wlan "wlan2g" "WLAN2G" "green:wifi2" "phy1tpt" @@ -32,6 +29,11 @@ edgecore,eap102) ucidef_set_led_wlan "wlan5g" "WLAN5G" "green:wifi5" "phy0tpt" ucidef_set_led_wlan "wlan2g" "WLAN2G" "green:wifi2" "phy1tpt" ;; +edgecore,eap104) + ucidef_set_led_wlan "wlan2g" "WLAN2G" "green:wifi2" "phy0tpt" + ucidef_set_led_wlan "wlan5g" "WLAN5G" "green:wifi5" "phy1tpt" + ucidef_set_led_netdev "wan" "wan" "yellow:uplink" "eth0" + ;; hfcl,ion4xi|\ hfcl,ion4xe) ucidef_set_led_wlan "wlan5g" "WLAN5G" "blue:wifi5" "phy0tpt" diff --git a/feeds/ipq807x/ipq807x/base-files/etc/board.d/02_network b/feeds/ipq807x/ipq807x/base-files/etc/board.d/02_network index bdeb9eff0..968cfb414 100755 --- a/feeds/ipq807x/ipq807x/base-files/etc/board.d/02_network +++ b/feeds/ipq807x/ipq807x/base-files/etc/board.d/02_network @@ -41,6 +41,7 @@ qcom_setup_interfaces() ucidef_set_interface_wan "eth0" ;; edgecore,eap102|\ + edgecore,eap104|\ wallys,dr6018|\ cig,wf188n|\ cig,wf196) diff --git a/feeds/ipq807x/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata b/feeds/ipq807x/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata index 317d2e540..b356506c1 100755 --- a/feeds/ipq807x/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata +++ b/feeds/ipq807x/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata @@ -104,11 +104,19 @@ case "$FIRMWARE" in ath11k/IPQ5018/hw1.0/caldata.bin) case "$board" in cybertan,eww622-a1|\ + edgecore,eap104|\ qcom,ipq5018-mp03.1) caldata_extract "0:ART" 0x1000 0x20000 ;; esac ;; +ath11k/qcn6122/hw1.0/caldata_2.bin) + case "$board" in + edgecore,eap104) + caldata_extract "0:ART" 0x4c000 0x20000 + ;; + esac + ;; ath11k/QCN9074/hw1.0/caldata_1.bin) case "$board" in cig,wf196|\ diff --git a/feeds/ipq807x/ipq807x/base-files/lib/upgrade/platform.sh b/feeds/ipq807x/ipq807x/base-files/lib/upgrade/platform.sh index 4230e0323..8a616b4f9 100755 --- a/feeds/ipq807x/ipq807x/base-files/lib/upgrade/platform.sh +++ b/feeds/ipq807x/ipq807x/base-files/lib/upgrade/platform.sh @@ -30,6 +30,7 @@ platform_check_image() { wallys,dr6018-v4|\ edgecore,eap101|\ edgecore,eap102|\ + edgecore,eap104|\ edgecore,eap106|\ hfcl,ion4xi|\ hfcl,ion4xe|\ @@ -60,6 +61,7 @@ platform_do_upgrade() { cig,wf194c4|\ cig,wf196|\ cybertan,eww622-a1|\ + edgecore,eap104|\ hfcl,ion4xi|\ hfcl,ion4xe|\ qcom,ipq6018-cp01|\ diff --git a/feeds/ipq807x/ipq807x/files/arch/arm/boot/dts/qcom-ipq5018-eap104.dts b/feeds/ipq807x/ipq807x/files/arch/arm/boot/dts/qcom-ipq5018-eap104.dts new file mode 100644 index 000000000..af8b70256 --- /dev/null +++ b/feeds/ipq807x/ipq807x/files/arch/arm/boot/dts/qcom-ipq5018-eap104.dts @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "../../../arm64/boot/dts/qcom/qcom-ipq5018-eap104.dts" + +/ { + pmuv8: pmu { + compatible = "arm,cortex-a7-pmu"; + }; +}; diff --git a/feeds/ipq807x/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq5018-eap104.dts b/feeds/ipq807x/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq5018-eap104.dts new file mode 100755 index 000000000..cde789f51 --- /dev/null +++ b/feeds/ipq807x/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq5018-eap104.dts @@ -0,0 +1,1015 @@ +/dts-v1/; +/* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "qcom-ipq5018.dtsi" + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + model = "Edgecore EAP104"; + compatible = "edgecore,eap104", "qcom,ipq5018-mp03.5-c1", "qcom,ipq5018"; + interrupt-parent = <&intc>; + + aliases { + sdhc1 = &sdhc_1; /* SDC1 eMMC slot */ + serial0 = &blsp1_uart1; + serial1 = &blsp1_uart2; + ethernet0 = "/soc/dp1"; + ethernet1 = "/soc/dp2"; + + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; + }; + + chosen { + bootargs = "console=ttyMSM0,115200,n8 rw init=/init"; + #ifdef __IPQ_MEM_PROFILE_256_MB__ + bootargs-append = " swiotlb=1"; + #else + bootargs-append = " swiotlb=1 coherent_pool=2M"; + #endif + stdout-path = "serial0"; + }; + + reserved-memory { + #ifdef __IPQ_MEM_PROFILE_256_MB__ + /* 256 MB Profile + * +==========+==============+=========================+ + * | | | | + * | Region | Start Offset | Size | + * | | | | + * +----------+--------------+-------------------------+ + * | NSS | 0x40000000 | 8MB | + * +----------+--------------+-------------------------+ + * | Linux | 0x40800000 | Depends on total memory | + * +----------+--------------+-------------------------+ + * | uboot | 0x4A600000 | 4MB | + * +----------+--------------+-------------------------+ + * | SBL | 0x4AA00000 | 1MB | + * +----------+--------------+-------------------------+ + * | smem | 0x4AB00000 | 1MB | + * +----------+--------------+-------------------------+ + * | TZ | 0x4AC00000 | 4MB | + * +----------+--------------+-------------------------+ + * | Q6 | | | + * | code/ | 0x4B000000 | 20MB | + * | data | | | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | data | 0x4C400000 | 13MB | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | M3 Dump | 0x4D100000 | 1MB | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | QDSS | 0x4D200000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | data | 0x4D300000 | 15MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | M3 Dump | 0x4E200000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | QDSS | 0x4E300000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | data | 0x4E400000 | 15MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | M3 Dump | 0x4F300000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | QDSS | 0x4F400000 | 1MB | + * +----------+--------------+-------------------------+ + * | | + * | Rest of the memory for Linux | + * | | + * +===================================================+ + */ + q6_mem_regions: q6_mem_regions@4B000000 { + no-map; + reg = <0x0 0x4B000000 0x0 0x4500000>; + }; + + q6_code_data: q6_code_data@4B000000 { + no-map; + reg = <0x0 0x4B000000 0x0 0x1400000>; + }; + + q6_ipq5018_data: q6_ipq5018_data@4C400000 { + no-map; + reg = <0x0 0x4C400000 0x0 0xD00000>; + }; + + m3_dump: m3_dump@4D100000 { + no-map; + reg = <0x0 0x4D100000 0x0 0x100000>; + }; + + q6_etr_region: q6_etr_dump@4D200000 { + no-map; + reg = <0x0 0x4D200000 0x0 0x100000>; + }; + + q6_qcn6122_data1: q6_qcn6122_data1@4D300000 { + no-map; + reg = <0x0 0x4D300000 0x0 0xF00000>; + }; + + m3_dump_qcn6122_1: m3_dump_qcn6122_1@4E200000 { + no-map; + reg = <0x0 0x4E200000 0x0 0x100000>; + }; + + q6_qcn6122_etr_1: q6_qcn6122_etr_1@4E300000 { + no-map; + reg = <0x0 0x4E300000 0x0 0x100000>; + }; + + q6_qcn6122_data2: q6_qcn6122_data2@4E400000 { + no-map; + reg = <0x0 0x4E400000 0x0 0xF00000>; + }; + + m3_dump_qcn6122_2: m3_dump_qcn6122_2@4F300000 { + no-map; + reg = <0x0 0x4F300000 0x0 0x100000>; + }; + + q6_qcn6122_etr_2: q6_qcn6122_etr_2@4F400000 { + no-map; + reg = <0x0 0x4F400000 0x0 0x100000>; + }; + #else + /* 512MB/1GB Profiles + * +==========+==============+=========================+ + * | | | | + * | Region | Start Offset | Size | + * | | | | + * +----------+--------------+-------------------------+ + * | NSS | 0x40000000 | 16MB | + * +----------+--------------+-------------------------+ + * | Linux | 0x41000000 | Depends on total memory | + * +----------+--------------+-------------------------+ + * | uboot | 0x4A600000 | 4MB | + * +----------+--------------+-------------------------+ + * | SBL | 0x4AA00000 | 1MB | + * +----------+--------------+-------------------------+ + * | smem | 0x4AB00000 | 1MB | + * +----------+--------------+-------------------------+ + * | TZ | 0x4AC00000 | 4MB | + * +----------+--------------+-------------------------+ + * | Q6 | | | + * | code/ | 0x4B000000 | 20MB | + * | data | | | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | data | 0x4C400000 | 14MB | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | M3 Dump | 0x4D200000 | 1MB | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | QDSS | 0x4D300000 | 1MB | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | Caldb | 0x4D400000 | 2MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | data | 0x4D600000 | 16MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | M3 Dump | 0x4E600000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | QDSS | 0x4E700000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | Caldb | 0x4E800000 | 5MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | data | 0x4ED00000 | 16MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | M3 Dump | 0x4FD00000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | QDSS | 0x4FE00000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | Caldb | 0x4FF00000 | 5MB | + * +----------+--------------+-------------------------+ + * | | + * | Rest of the memory for Linux | + * | | + * +===================================================+ + */ + q6_mem_regions: q6_mem_regions@4B000000 { + no-map; + reg = <0x0 0x4B000000 0x0 0x5400000>; + }; + + q6_code_data: q6_code_data@4B000000 { + no-map; + reg = <0x0 0x4B000000 0x0 01400000>; + }; + + q6_ipq5018_data: q6_ipq5018_data@4C400000 { + no-map; + reg = <0x0 0x4C400000 0x0 0xE00000>; + }; + + m3_dump: m3_dump@4D200000 { + no-map; + reg = <0x0 0x4D200000 0x0 0x100000>; + }; + + q6_etr_region: q6_etr_dump@4D300000 { + no-map; + reg = <0x0 0x4D300000 0x0 0x100000>; + }; + + q6_caldb_region: q6_caldb_region@4D400000 { + no-map; + reg = <0x0 0x4D400000 0x0 0x200000>; + }; + + q6_qcn6122_data1: q6_qcn6122_data1@4D600000 { + no-map; + reg = <0x0 0x4D600000 0x0 0x1000000>; + }; + + m3_dump_qcn6122_1: m3_dump_qcn6122_1@4E600000 { + no-map; + reg = <0x0 0x4E600000 0x0 0x100000>; + }; + + q6_qcn6122_etr_1: q6_qcn6122_etr_1@4E700000 { + no-map; + reg = <0x0 0x4E700000 0x0 0x100000>; + }; + + q6_qcn6122_caldb_1: q6_qcn6122_caldb_1@4E800000 { + no-map; + reg = <0x0 0x4E800000 0x0 0x500000>; + }; + + q6_qcn6122_data2: q6_qcn6122_data2@4E900000 { + no-map; + reg = <0x0 0x4ED00000 0x0 0x1000000>; + }; + + m3_dump_qcn6122_2: m3_dump_qcn6122_2@4FD00000 { + no-map; + reg = <0x0 0x4FD00000 0x0 0x100000>; + }; + + q6_qcn6122_etr_2: q6_qcn6122_etr_2@4FE00000 { + no-map; + reg = <0x0 0x4FE00000 0x0 0x100000>; + }; + + q6_qcn6122_caldb_2: q6_qcn6122_caldb_2@4FF00000 { + no-map; + reg = <0x0 0x4FF00000 0x0 0x500000>; + }; + + #endif + }; + + soc { + serial@78af000 { + status = "ok"; + }; + + blsp1_uart2: serial@78b0000 { + pinctrl-0 = <&blsp1_uart_pins>; + pinctrl-names = "default"; + status = "ok"; + }; + + qpic_bam: dma@7984000{ + status = "ok"; + }; + + nand: qpic-nand@79b0000 { + pinctrl-0 = <&qspi_nand_pins>; + pinctrl-names = "default"; + status = "ok"; + }; + + spi_0: spi@78b5000 { /* BLSP1 QUP0 */ + pinctrl-0 = <&blsp0_spi_pins>; + pinctrl-names = "default"; + cs-select = <0>; + status = "ok"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + reg = <0>; + compatible = "n25q128a11"; + linux,modalias = "m25p80", "n25q128a11"; + spi-max-frequency = <50000000>; + use-default-sizes; + }; + }; + + mdio0: mdio@88000 { + status = "ok"; + + ethernet-phy@0 { + reg = <7>; + }; + }; + + mdio1: mdio@90000 { + status = "ok"; + pinctrl-0 = <&mdio1_pins>; + pinctrl-names = "default"; + phy-reset-gpio = <&tlmm 39 0>; + + ethernet-phy@0 { + reg = <0>; + }; + + ethernet-phy@1 { + reg = <1>; + }; + + ethernet-phy@2 { + reg = <2>; + }; + + ethernet-phy@3 { + reg = <3>; + }; + }; + + ess-instance { + num_devices = <0x2>; + ess-switch@0x39c00000 { + compatible = "qcom,ess-switch-ipq50xx"; + device_id = <0>; + switch_mac_mode = <0xf>; /* mac mode for uniphy instance*/ + cmnblk_clk = "internal_96MHz"; /* cmnblk clk*/ + qcom,port_phyinfo { + port@0 { + port_id = <1>; + phy_address = <7>; + }; + port@1 { + port_id = <2>; + forced-speed = <1000>; + forced-duplex = <1>; + }; + }; + + /* + led_source@0 { + source = <0>; + mode = "normal"; + speed = "all"; + blink_en = "enable"; + active = "high"; + }; + */ + + }; + ess-switch1@1 { + compatible = "qcom,ess-switch-qca83xx"; + device_id = <1>; + switch_access_mode = "mdio"; + mdio-bus = <&mdio1>; + reset_gpio = <0x27>; + switch_cpu_bmp = <0x40>; /* cpu port bitmap */ + switch_lan_bmp = <0x1e>; /* lan port bitmap */ + switch_wan_bmp = <0x0>; /* wan port bitmap */ + qca,ar8327-initvals = < + 0x00004 0x7600000 /* PAD0_MODE */ + 0x00008 0x1000000 /* PAD5_MODE */ + 0x0000c 0x80 /* PAD6_MODE */ + 0x00010 0x2613a0 /* PORT6 FORCE MODE*/ + 0x000e4 0xaa545 /* MAC_POWER_SEL */ + 0x000e0 0xc74164de /* SGMII_CTRL */ + 0x0007c 0x4e /* PORT0_STATUS */ + 0x00094 0x4e /* PORT6_STATUS */ + >; + 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>; + }; + }; + }; + }; + + wifi0: wifi@c000000 { + status = "ok"; + }; + + dp1 { + device_type = "network"; + compatible = "qcom,nss-dp"; + clocks = <&gcc GCC_SNOC_GMAC0_AXI_CLK>; + clock-names = "nss-snoc-gmac-axi-clk"; + qcom,id = <1>; + reg = <0x39C00000 0x10000>; + interrupts = ; + qcom,mactype = <2>; + qcom,link-poll = <1>; + qcom,phy-mdio-addr = <7>; + mdio-bus = <&mdio0>; + local-mac-address = [000000000000]; + phy-mode = "sgmii"; + }; + + dp2 { + device_type = "network"; + compatible = "qcom,nss-dp"; + clocks = <&gcc GCC_SNOC_GMAC1_AXI_CLK>; + clock-names = "nss-snoc-gmac-axi-clk"; + qcom,id = <2>; + reg = <0x39D00000 0x10000>; + interrupts = ; + qcom,mactype = <2>; + local-mac-address = [000000000000]; + phy-mode = "sgmii"; + }; + + qcom,test@0 { + status = "ok"; + }; + + lpass: lpass@0xA000000{ + status = "disabled"; + }; + + pcm: pcm@0xA3C0000{ + pinctrl-0 = <&audio_pins>; + pinctrl-names = "default"; + status = "disabled"; + }; + + pcm_lb: pcm_lb@0 { + status = "disabled"; + }; + }; + + thermal-zones { + status = "ok"; + }; + + gpio_keys { + compatible = "gpio-keys"; + pinctrl-0 = <&button_pins>; + pinctrl-names = "default"; + + wps { + label = "reset"; + linux,code = ; + gpios = <&tlmm 32 GPIO_ACTIVE_LOW>; + linux,input-type = <1>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-0 = <&leds_pins>; + pinctrl-names = "default"; + + led@2 { + label = "green:wifi5"; + gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; + default-state = "off"; + }; + led@3 { + label = "green:wifi2"; + gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; + default-state = "off"; + }; + led_power: led@30 { + label = "green:power"; + gpios = <&tlmm 30 GPIO_ACTIVE_HIGH>; + default-state = "on"; + }; + led@42 { + label = "orange:uplink"; + gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>; + default-state = "off"; + }; + led@43 { + label = "yellow:uplink"; + gpios = <&tlmm 43 GPIO_ACTIVE_HIGH>; + default-state = "off"; + }; + led@46 { + label = "green:cloud"; + gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>; + default-state = "off"; + }; + }; +}; + +&tlmm { + /* pinctrl-0 = <&blsp0_uart_pins &phy_led_pins>; */ + pinctrl-0 = <&blsp0_uart_pins &phy_led_pins &ble_pins>; + pinctrl-names = "default"; + + leds_pins: leds_pins { + led_5g { + pins = "gpio2"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + led_2g { + pins = "gpio3"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + led_power { + pins = "gpio30"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + led_orange { + pins = "gpio42"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + led_yellow { + pins = "gpio43"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + led_cloud { + pins = "gpio46"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + }; + blsp0_uart_pins: uart_pins { + blsp0_uart_rx_tx { + pins = "gpio20", "gpio21"; + function = "blsp0_uart0"; + bias-disable; + }; + }; + + blsp1_uart_pins: blsp1_uart_pins { + blsp1_uart_rx_tx { + pins = "gpio23", "gpio25", "gpio24", "gpio26"; + function = "blsp1_uart2"; + bias-disable; + }; + }; + + blsp0_spi_pins: blsp0_spi_pins { + mux { + pins = "gpio10", "gpio11", "gpio12", "gpio13"; + function = "blsp0_spi"; + drive-strength = <2>; + bias-disable; + }; + }; + + qspi_nand_pins: qspi_nand_pins { + qspi_clock { + pins = "gpio9"; + function = "qspi_clk"; + drive-strength = <8>; + bias-disable; + }; + qspi_cs { + pins = "gpio8"; + function = "qspi_cs"; + drive-strength = <8>; + bias-disable; + }; + qspi_data_0 { + pins = "gpio7"; + function = "qspi0"; + drive-strength = <8>; + bias-disable; + }; + qspi_data_1 { + pins = "gpio6"; + function = "qspi1"; + drive-strength = <8>; + bias-disable; + }; + qspi_data_2 { + pins = "gpio5"; + function = "qspi2"; + drive-strength = <8>; + bias-disable; + }; + qspi_data_3 { + pins = "gpio4"; + function = "qspi3"; + drive-strength = <8>; + bias-disable; + }; + }; + + mdio1_pins: mdio_pinmux { + mux_0 { + pins = "gpio36"; + function = "mdc"; + drive-strength = <8>; + bias-pull-up; + }; + + mux_1 { + pins = "gpio37"; + function = "mdio"; + drive-strength = <8>; + bias-pull-up; + }; + }; + + phy_led_pins: phy_led_pins { + gephy_led_pin { + pins = "gpio46"; + /* function = "led0"; */ + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + }; + + ble_pins: ble_pins { + ble_coex_grant { + pins = "gpio19"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + }; + + i2c_pins: i2c_pins { + i2c_scl { + pins = "gpio33"; + function = "blsp2_i2c0"; + drive-strength = <8>; + /* bias-disable; */ + bias-pull-up; + }; + + i2c_sda { + pins = "gpio34"; + function = "blsp2_i2c0"; + drive-strength = <8>; + /* bias-disable; */ + bias-pull-up; + }; + }; + + button_pins: button_pins { + wps_button { + pins = "gpio38"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + }; + }; + + audio_pins: audio_pinmux { + mux_1 { + pins = "gpio24"; + function = "audio_rxbclk"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_2 { + pins = "gpio25"; + function = "audio_rxfsync"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_3 { + pins = "gpio26"; + function = "audio_rxd"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_4 { + pins = "gpio27"; + function = "audio_txmclk"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_5 { + pins = "gpio28"; + function = "audio_txbclk"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_6 { + pins = "gpio29"; + function = "audio_txfsync"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_7 { + pins = "gpio30"; + function = "audio_txd"; + drive-strength = <8>; + bias-pull-down; + }; + }; + +}; + +/* Disable gpio 38 and 24 +&soc { + gpio_keys { + compatible = "gpio-keys"; + pinctrl-0 = <&button_pins>; + pinctrl-names = "default"; + + button@1 { + label = "wps"; + linux,code = ; + gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; + linux,input-type = <1>; + debounce-interval = <60>; + }; + }; +}; + +&usb3 { + status = "ok"; + device-power-gpio = <&tlmm 24 1>; +}; + +*/ + +&eud { + status = "ok"; +}; + +&pcie_x1 { + status = "disabled"; + perst-gpio = <&tlmm 18 1>; +}; + +&pcie_x2 { + status = "disabled"; + perst-gpio = <&tlmm 15 1>; +}; + +&dwc_0 { + /delete-property/ #phy-cells; + /delete-property/ phys; + /delete-property/ phy-names; +}; + +&hs_m31phy_0 { + status = "ok"; +}; + +&pcie_x1phy { + status = "disabled"; +}; + +&pcie_x2phy { + status = "disabled"; +}; + +&pcie_x1_rp { + status = "disabled"; + + mhi_0: qcom,mhi@0 { + reg = <0 0 0 0 0 >; + }; +}; + +&pcie_x2_rp { + status = "disabled"; + + mhi_1: qcom,mhi@1 { + reg = <0 0 0 0 0 >; + + }; +}; + +&qfprom { + status = "ok"; +}; + +&tsens { + status = "ok"; +}; + +&qcom_q6v5_wcss { + qcom,multipd_arch; + memory-region = <&q6_mem_regions>; + qcom,share_bootargs; + qcom,bootargs_smem = <507>; + boot-args = <0x1 0x4 0x3 0x0F 0x0 0x0>, + <0x2 0x4 0x2 0x12 0x0 0x0>; + /* IPQ5018 */ + q6v5_wcss_userpd1 { + m3_firmware = "IPQ5018/m3_fw.mdt"; + interrupts-extended = <&wcss_smp2p_in 8 0>, + <&wcss_smp2p_in 9 0>, + <&wcss_smp2p_in 12 0>, + <&wcss_smp2p_in 11 0>; + interrupt-names ="fatal", + "ready", + "spawn_ack", + "stop-ack"; + qcom,smem-states = <&wcss_smp2p_out 8>, + <&wcss_smp2p_out 9>, + <&wcss_smp2p_out 10>; + qcom,smem-state-names = "shutdown", + "stop", + "spawn"; + qca,asid = <1>; + qca,auto-restart; + qca,int_radio; + #ifdef __IPQ_MEM_PROFILE_256_MB__ + memory-region = <&q6_ipq5018_data>, <&m3_dump>, + <&q6_etr_region>; + #else + memory-region = <&q6_ipq5018_data>, <&m3_dump>, + <&q6_etr_region>, <&q6_caldb_region>; + #endif + }; + + /* QCN6122 6G */ + q6v5_wcss_userpd2 { + m3_firmware = "qcn6122/m3_fw.mdt"; + interrupts-extended = <&wcss_smp2p_in 16 0>, + <&wcss_smp2p_in 17 0>, + <&wcss_smp2p_in 20 0>, + <&wcss_smp2p_in 19 0>; + interrupt-names ="fatal", + "ready", + "spawn_ack", + "stop-ack"; + qcom,smem-states = <&wcss_smp2p_out 16>, + <&wcss_smp2p_out 17>, + <&wcss_smp2p_out 18>; + qcom,smem-state-names = "shutdown", + "stop", + "spawn"; + qca,asid = <2>; + qca,auto-restart; + #ifdef __IPQ_MEM_PROFILE_256_MB__ + memory-region = <&q6_qcn6122_data1>, <&m3_dump_qcn6122_1>, + <&q6_qcn6122_etr_1>; + #else + memory-region = <&q6_qcn6122_data1>, <&m3_dump_qcn6122_1>, + <&q6_qcn6122_etr_1>, <&q6_qcn6122_caldb_1>; + #endif + }; + + /* QCN6122 5G */ + q6v5_wcss_userpd3 { + m3_firmware = "qcn6122/m3_fw.mdt"; + interrupts-extended = <&wcss_smp2p_in 24 0>, + <&wcss_smp2p_in 25 0>, + <&wcss_smp2p_in 28 0>, + <&wcss_smp2p_in 27 0>; + interrupt-names ="fatal", + "ready", + "spawn_ack", + "stop-ack"; + qcom,smem-states = <&wcss_smp2p_out 24>, + <&wcss_smp2p_out 25>, + <&wcss_smp2p_out 26>; + qcom,smem-state-names = "shutdown", + "stop", + "spawn"; + qca,asid = <3>; + qca,auto-restart; + #ifdef __IPQ_MEM_PROFILE_256_MB__ + memory-region = <&q6_qcn6122_data2>, <&m3_dump_qcn6122_2>, + <&q6_qcn6122_etr_2>; + #else + memory-region = <&q6_qcn6122_data2>, <&m3_dump_qcn6122_2>, + <&q6_qcn6122_etr_2>, <&q6_qcn6122_caldb_2>; + #endif + }; +}; + +&i2c_0 { + pinctrl-0 = <&i2c_pins>; + pinctrl-names = "default"; + /* status = "disabled"; */ + status = "ok"; +}; + +&qgic_msi_0 { + status = "ok"; +}; + +&qgic_msi_1 { + status = "ok"; +}; + +&wifi0 { + /* IPQ5018 */ + qcom,multipd_arch; + qcom,userpd-subsys-name = "q6v5_wcss_userpd1"; +#ifdef __IPQ_MEM_PROFILE_256_MB__ + qcom,tgt-mem-mode = <2>; +#else + qcom,tgt-mem-mode = <1>; +#endif + qcom,board_id = <0x23>; + qcom,bdf-addr = <0x4C400000 0x4C400000 0x4C400000 0x0 0x0>; +#ifdef __CNSS2__ + qcom,caldb-addr = <0x4D400000 0x4D400000 0 0 0>; +#else + qcom,caldb-addr = <0x4D400000>; + m3-dump-addr = <0x4D200000>; +#endif + qcom,caldb-size = <0x200000>; + status = "ok"; +}; + +&wifi1 { + /* QCN6122 5G */ + qcom,multipd_arch; + qcom,userpd-subsys-name = "q6v5_wcss_userpd2"; +#ifdef __IPQ_MEM_PROFILE_256_MB__ + qcom,tgt-mem-mode = <2>; +#else + qcom,tgt-mem-mode = <1>; +#endif + qcom,board_id = <0x50>; + qcom,bdf-addr = <0x4D600000 0x4D600000 0x4D300000 0x0 0x0>; +#ifdef __CNSS2__ + qcom,caldb-addr = <0x4E800000 0x4E800000 0 0 0>; +#else + qcom,caldb-addr = <0x4E800000>; + m3-dump-addr = <0x4E600000>; +#endif + qcom,caldb-size = <0x500000>; + status = "disabled"; +}; + +&wifi2 { + /* QCN6122 6G */ + qcom,multipd_arch; + qcom,userpd-subsys-name = "q6v5_wcss_userpd3"; +#ifdef __IPQ_MEM_PROFILE_256_MB__ + qcom,tgt-mem-mode = <2>; +#else + qcom,tgt-mem-mode = <1>; +#endif + qcom,board_id = <0xb0>; + qcom,bdf-addr = <0x4ED00000 0x4ED00000 0x4E400000 0x0 0x0>; +#ifdef __CNSS2__ + qcom,caldb-addr = <0x4FF00000 0x4FF00000 0 0 0>; +#else + qcom,caldb-addr = <0x4FF00000>; + m3-dump-addr = <0x4FD00000>; +#endif + qcom,caldb-size = <0x500000>; + status = "ok"; +}; diff --git a/feeds/ipq807x/ipq807x/image/ipq50xx.mk b/feeds/ipq807x/ipq807x/image/ipq50xx.mk index d48b33984..4ea4b2179 100644 --- a/feeds/ipq807x/ipq807x/image/ipq50xx.mk +++ b/feeds/ipq807x/ipq807x/image/ipq50xx.mk @@ -9,6 +9,15 @@ define Device/cybertan_eww622_a1 endef TARGET_DEVICES += cybertan_eww622_a1 +define Device/edgecore_eap104 + DEVICE_TITLE := EdgeCore EAP104 + DEVICE_DTS := qcom-ipq5018-eap104 + SUPPORTED_DEVICES := edgecore,eap104 + DEVICE_PACKAGES := ath11k-wifi-edgecore-eap104 ath11k-firmware-ipq50xx-spruce ath11k-firmware-qcn6122 + DEVICE_DTS_CONFIG := config@mp03.5-c1 +endef +TARGET_DEVICES += edgecore_eap104 + define Device/qcom_mp03_1 DEVICE_TITLE := Qualcomm Maple 03.1 DEVICE_DTS := qcom-ipq5018-mp03.1 diff --git a/feeds/ipq807x/ipq807x/ipq50xx/target.mk b/feeds/ipq807x/ipq807x/ipq50xx/target.mk index 649f398ba..6c6111afa 100644 --- a/feeds/ipq807x/ipq807x/ipq50xx/target.mk +++ b/feeds/ipq807x/ipq807x/ipq50xx/target.mk @@ -3,7 +3,7 @@ SUBTARGET:=ipq50xx BOARDNAME:=IPQ50XX CPU_TYPE:=cortex-a7 -DEFAULT_PACKAGES += ath11k-firmware-ipq50xx qca-nss-fw-ipq50xx +DEFAULT_PACKAGES += qca-nss-fw-ipq50xx define Target/Description Build firmware image for IPQ50xx SoC devices. diff --git a/feeds/ipq807x/ipq807x/patches/108-add-W25N01GW.patch b/feeds/ipq807x/ipq807x/patches/108-add-W25N01GW.patch new file mode 100644 index 000000000..f00cec911 --- /dev/null +++ b/feeds/ipq807x/ipq807x/patches/108-add-W25N01GW.patch @@ -0,0 +1,14 @@ +Index: linux-4.4.60-qsdk-11f09717303ecd83c3a64e9efe23f25921dc1016/drivers/mtd/nand/qcom_nandc.c +=================================================================== +--- linux-4.4.60-qsdk-11f09717303ecd83c3a64e9efe23f25921dc1016.orig/drivers/mtd/nand/qcom_nandc.c ++++ linux-4.4.60-qsdk-11f09717303ecd83c3a64e9efe23f25921dc1016/drivers/mtd/nand/qcom_nandc.c +@@ -405,6 +405,9 @@ struct nand_flash_dev qspinand_flash_ids + {"MX35UF1GE4AC SPI NAND 1G 1.8V", + { .id = {0xc2, 0x92} }, + SZ_2K, SZ_128, SZ_128K, 0, 2, 64, NAND_ECC_INFO(4, SZ_512), 0}, ++ {"W25N01GW SPI NAND 1.8V 1G-BIT", ++ { .id = {0xef, 0xba} }, ++ SZ_2K, SZ_128, SZ_128K, 0, 2, 64, NAND_ECC_INFO(4, SZ_512), 0}, + {NULL} + }; + diff --git a/feeds/ucentral/ucentral-schema/Makefile b/feeds/ucentral/ucentral-schema/Makefile index 625720839..88b649937 100644 --- a/feeds/ucentral/ucentral-schema/Makefile +++ b/feeds/ucentral/ucentral-schema/Makefile @@ -6,7 +6,7 @@ PKG_RELEASE:=1 PKG_SOURCE_URL=https://github.com/blogic/ucentral-schema.git PKG_SOURCE_PROTO:=git PKG_SOURCE_DATE:=2022-01-17 -PKG_SOURCE_VERSION:=07cb6e9fc7a4a8f9868e6efd29edcaf1f3245716 +PKG_SOURCE_VERSION:=b8fdfb157fdb85b69e5456f84992a1a70e33ad7a PKG_MAINTAINER:=John Crispin PKG_LICENSE:=BSD-3-Clause diff --git a/feeds/ucentral/ucentral-schema/files/etc/ucentral/ucentral.cfg.0000000001 b/feeds/ucentral/ucentral-schema/files/etc/ucentral/ucentral.cfg.0000000001 index 0a10b4c3b..f63f1b4fa 100644 --- a/feeds/ucentral/ucentral-schema/files/etc/ucentral/ucentral.cfg.0000000001 +++ b/feeds/ucentral/ucentral-schema/files/etc/ucentral/ucentral.cfg.0000000001 @@ -3,12 +3,12 @@ "radios": [ { "band": "2G", - "country": "CA", + "country": "US", "channel-mode": "HE", "channel-width": 40 }, { "band": "5G", - "country": "CA", + "country": "US", "channel-mode": "HE", "channel-width": 80 } diff --git a/feeds/wifi-ax/ath11k-firmware/Makefile b/feeds/wifi-ax/ath11k-firmware/Makefile index c65b083fe..2b1435103 100644 --- a/feeds/wifi-ax/ath11k-firmware/Makefile +++ b/feeds/wifi-ax/ath11k-firmware/Makefile @@ -20,6 +20,12 @@ $(Package/ath11k-firmware-default) DEPENDS:=@TARGET_ipq807x_ipq50xx endef +define Package/ath11k-firmware-ipq50xx-spruce +$(Package/ath11k-firmware-default) + TITLE:=ath11k firmware for IPQ50xx devices with spruce + DEPENDS:=@TARGET_ipq807x_ipq50xx +endef + define Package/ath11k-firmware-ipq60xx $(Package/ath11k-firmware-default) TITLE:=ath11k firmware for IPQ60xx devices @@ -48,6 +54,10 @@ define Package/ath11k-firmware-ipq50xx/description Standard ath11k firmware for IPQ50xx from QCA endef +define Package/ath11k-firmware-ipq50xx-spruce/description +Standard ath11k firmware for IPQ50xx/spruce from QCA +endef + define Package/ath11k-firmware-ipq60xx/description Standard ath11k firmware for IPQ60xx from QCA endef @@ -74,6 +84,12 @@ define Package/ath11k-firmware-ipq50xx/install $(1)/lib/firmware/IPQ5018/ endef +define Package/ath11k-firmware-ipq50xx-spruce/install + $(INSTALL_DIR) $(1)/lib/firmware/IPQ5018 + $(INSTALL_DATA) ./files/IPQ5018_spruce/* \ + $(1)/lib/firmware/IPQ5018/ +endef + define Package/ath11k-firmware-ipq60xx/install $(INSTALL_DIR) $(1)/lib/firmware/IPQ6018 $(INSTALL_DATA) ./files/IPQ6018/* \ @@ -87,6 +103,7 @@ define Package/ath11k-firmware-ipq807x/install endef define Package/ath11k-firmware-qcn6122/install + $(INSTALL_DIR) $(1)/lib/firmware/ath11k/qcn6122 $(INSTALL_DIR) $(1)/lib/firmware/qcn6122 $(INSTALL_DATA) ./files/QCN6122/* \ $(1)/lib/firmware/qcn6122/ @@ -99,6 +116,7 @@ define Package/ath11k-firmware-qcn9000/install endef $(eval $(call BuildPackage,ath11k-firmware-ipq50xx)) +$(eval $(call BuildPackage,ath11k-firmware-ipq50xx-spruce)) $(eval $(call BuildPackage,ath11k-firmware-ipq60xx)) $(eval $(call BuildPackage,ath11k-firmware-ipq807x)) $(eval $(call BuildPackage,ath11k-firmware-qcn6122)) diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018/board-2.bin b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018/board-2.bin deleted file mode 100755 index da412c85b..000000000 Binary files a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018/board-2.bin and /dev/null differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/fw_version.txt b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/fw_version.txt new file mode 100644 index 000000000..c616f08b9 --- /dev/null +++ b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/fw_version.txt @@ -0,0 +1 @@ +WLAN.HK.2.5.r4-00745-QCAHKSWPL_SILICONZ-1 v1 diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/m3_fw.b00 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/m3_fw.b00 new file mode 100644 index 000000000..5b4dc0728 Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/m3_fw.b00 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/m3_fw.b01 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/m3_fw.b01 new file mode 100644 index 000000000..decd34c3e Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/m3_fw.b01 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/m3_fw.b02 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/m3_fw.b02 new file mode 100644 index 000000000..d3c7ca769 Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/m3_fw.b02 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/m3_fw.flist b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/m3_fw.flist new file mode 100644 index 000000000..94807ccc4 --- /dev/null +++ b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/m3_fw.flist @@ -0,0 +1,3 @@ +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/m3_fw.b00 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/m3_fw.b01 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/m3_fw.b02 diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/m3_fw.mdt b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/m3_fw.mdt new file mode 100644 index 000000000..e23a154a0 Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/m3_fw.mdt differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/mpnv10.bin b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/mpnv10.bin new file mode 100644 index 000000000..dd886a7a2 Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/mpnv10.bin differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b00 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b00 new file mode 100644 index 000000000..a9baa5cc5 Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b00 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b01 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b01 new file mode 100644 index 000000000..39843073d Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b01 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b02 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b02 new file mode 100644 index 000000000..684b362e5 Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b02 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b03 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b03 new file mode 100644 index 000000000..c539799e4 Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b03 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b04 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b04 new file mode 100644 index 000000000..33e67efe7 Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b04 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b05 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b05 new file mode 100644 index 000000000..8a53f62d9 Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b05 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b07 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b07 new file mode 100644 index 000000000..c4fffa868 Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b07 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b08 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b08 new file mode 100644 index 000000000..b6c4b5def Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b08 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b09 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b09 new file mode 100644 index 000000000..7507b548d Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b09 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b10 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b10 new file mode 100644 index 000000000..5fe889d26 Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b10 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b11 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b11 new file mode 100644 index 000000000..851d2bcdb Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b11 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b13 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b13 new file mode 100644 index 000000000..1c36574d9 Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b13 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b14 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b14 new file mode 100644 index 000000000..1ff07f344 Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b14 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b15 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b15 new file mode 100644 index 000000000..8d10487e9 Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b15 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b16 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b16 new file mode 100644 index 000000000..5e1e416d7 Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b16 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b17 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b17 new file mode 100644 index 000000000..9bf17232b Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b17 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b18 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b18 new file mode 100644 index 000000000..c54cd595e Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b18 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b20 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b20 new file mode 100644 index 000000000..33db77352 Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b20 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b21 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b21 new file mode 100644 index 000000000..d3ea420e5 Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b21 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b22 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b22 new file mode 100644 index 000000000..9bf17232b Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b22 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b23 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b23 new file mode 100644 index 000000000..c54cd595e Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b23 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b25 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b25 new file mode 100644 index 000000000..33db77352 Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b25 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b26 b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b26 new file mode 100644 index 000000000..d3ea420e5 Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.b26 differ diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.flist b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.flist new file mode 100644 index 000000000..288922c09 --- /dev/null +++ b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.flist @@ -0,0 +1,23 @@ +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b00 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b01 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b02 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b03 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b04 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b05 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b07 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b08 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b09 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b10 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b11 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b13 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b14 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b15 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b16 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b17 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b18 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b20 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b21 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b22 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b23 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b25 +build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/PIL_IMAGES/q6_fw.b26 diff --git a/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.mdt b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.mdt new file mode 100644 index 000000000..2c92fc0b4 Binary files /dev/null and b/feeds/wifi-ax/ath11k-firmware/files/IPQ5018_spruce/q6_fw.mdt differ diff --git a/feeds/wifi-ax/ath11k-wifi/Makefile b/feeds/wifi-ax/ath11k-wifi/Makefile index be5bb0fdf..1bff052df 100644 --- a/feeds/wifi-ax/ath11k-wifi/Makefile +++ b/feeds/wifi-ax/ath11k-wifi/Makefile @@ -33,6 +33,7 @@ ALLWIFIBOARDS:= \ edgecore-eap101 \ sercomm-wallaby \ edgecore-eap102 \ + edgecore-eap104 \ wallys-dr6018 \ wallys-dr6018-v4 \ tplink-ex227 \ @@ -96,6 +97,9 @@ define ath11k-wifi-install-one $(if $(filter $(suffix $(1)),.QCN9074),\ $(call ath11k-wifi-install-one-to,$(1),$(2),ath11k/QCN9074/hw1.0/),\ ) + $(if $(filter $(suffix $(1)),.QCN6122),\ + $(call ath11k-wifi-install-one-to,$(1),$(2),ath11k/qcn6122/hw1.0/),\ + ) endef # Blank line required at end of above define due to foreach context @@ -168,6 +172,7 @@ $(eval $(call generate-ath11k-wifi-package,wallys-dr6018,Wallys DR6018)) $(eval $(call generate-ath11k-wifi-package,wallys-dr6018-v4,Wallys DR6018 V4)) $(eval $(call generate-ath11k-wifi-package,edgecore-eap101,EdgeCore EAP101)) $(eval $(call generate-ath11k-wifi-package,edgecore-eap102,Edgecore EAP102)) +$(eval $(call generate-ath11k-wifi-package,edgecore-eap104,Edgecore EAP104)) $(eval $(call generate-ath11k-wifi-package,tplink-ex227,TP-Link EX227)) $(eval $(call generate-ath11k-wifi-package,tplink-ex447,TP-Link EX447)) diff --git a/feeds/wifi-ax/ath11k-wifi/board-edgecore-eap104.bin.IPQ5018 b/feeds/wifi-ax/ath11k-wifi/board-edgecore-eap104.bin.IPQ5018 new file mode 100644 index 000000000..688674d95 Binary files /dev/null and b/feeds/wifi-ax/ath11k-wifi/board-edgecore-eap104.bin.IPQ5018 differ diff --git a/feeds/wifi-ax/ath11k-wifi/board-edgecore-eap104.bin.QCN6122 b/feeds/wifi-ax/ath11k-wifi/board-edgecore-eap104.bin.QCN6122 new file mode 100644 index 000000000..c14f10f44 Binary files /dev/null and b/feeds/wifi-ax/ath11k-wifi/board-edgecore-eap104.bin.QCN6122 differ diff --git a/profiles/edgecore_eap104.yml b/profiles/edgecore_eap104.yml new file mode 100644 index 000000000..98d91a00e --- /dev/null +++ b/profiles/edgecore_eap104.yml @@ -0,0 +1,20 @@ +--- +profile: edgecore_eap104 +target: ipq807x +subtarget: ipq50xx +description: Build image for the EdgeCore EAP104 +image: bin/targets/ipq807x/ipq807x/openwrt-ipq807x-edgecore_eap104-squashfs-sysupgrade.tar +feeds: + - name: ipq807x + path: ../../feeds/ipq807x + - name: bluetooth_cc2652 + path: ../../feeds/bluetooth-cc2652 +include: + - wifi-ax + - ucentral-ap +packages: + - cc2652 +diffconfig: | + CONFIG_KERNEL_IPQ_MEM_PROFILE=512 + CONFIG_BUSYBOX_CUSTOM=y + CONFIG_BUSYBOX_CONFIG_STTY=y