From 4996cbd313155e4995fd968bff92880382e52b78 Mon Sep 17 00:00:00 2001 From: Ken Date: Mon, 8 Jul 2024 15:12:04 +0800 Subject: [PATCH] ipq807x: CIG-WF660a 5.4 Kernel/Firmware upgrade Fixes: WIFI-13041 Signed-off-by: Ken --- .../ath11k-wifi/board-cig-wf660a.bin.IPQ6018 | Bin 65536 -> 65536 bytes .../ipq60xx/base-files/etc/board.d/02_network | 16 +- .../etc/hotplug.d/firmware/10-ath11k-caldata | 18 + .../base-files/lib/upgrade/platform.sh | 50 ++ .../boot/dts/qcom/qcom-ipq6018-cig-wf660a.dts | 40 ++ .../qcom/qcom-ipq6018-cp01-cig-wf660a.dtsi | 475 ++++++++++++++++++ feeds/ipq807x_v5.4/ipq60xx/image/ipq60xx.mk | 11 + feeds/ipq807x_v5.4/ipq60xx/modules.mk | 17 + profiles/cig_wf660a.yml | 41 ++ 9 files changed, 667 insertions(+), 1 deletion(-) create mode 100755 feeds/ipq807x_v5.4/ipq60xx/files/arch/arm64/boot/dts/qcom/qcom-ipq6018-cig-wf660a.dts create mode 100755 feeds/ipq807x_v5.4/ipq60xx/files/arch/arm64/boot/dts/qcom/qcom-ipq6018-cp01-cig-wf660a.dtsi create mode 100755 profiles/cig_wf660a.yml diff --git a/feeds/ipq807x_v5.4/ath11k-wifi/board-cig-wf660a.bin.IPQ6018 b/feeds/ipq807x_v5.4/ath11k-wifi/board-cig-wf660a.bin.IPQ6018 index e43f9ab47e8a7eb6f9f9d4061ac4cc5f440984e2..4744d5792558e16d6043ad708064bd3e38cae0ca 100755 GIT binary patch delta 2614 zcmd5;eN0JbWyS_n=xkMo|DPs!x*E{k+>LVOiWy&B%3Zq-2Pmm=e~~u87A&OPwu;% z-+AZ!&bjA2xC{-6LqnpSfGC0{Tfb85RV2=4zi@xJ{T-5H>?%SeX?>k9U zx$hQL(%9m@XI00(nJmmaze-D@tNYmak4kF2-&I=TU%8SWD;~dBXUcP9%dl!}2p4P$ zmV*zQ-BqKcea=L(v#a~5W3Qh)HGJmX_eU;q&f3O8Ur8h!EDZ$1<-z;av8ln@Kxs+2 z-sO1wzw2za=g1;0v$gK%IsW$9^B+%s`Gb4`usBlSp5gTkY8ExNMUh5Z0O`GG7Rt@+=LBnd~tLM zdex4Rn*@X67ouc_J$>OSxudRCvkBSDHhq*Lwd@@3y)64;w73sixAMg!8)z@IcJRef z6YXbh7hfbz>h#4Lf;?oj4$G+@jphwNVjExF?FOx5`$y~Ysv-FVU)*+=&alzZpUI5+ z#-$lz{SEAJ19E{K9J|HRmtDbGsH1kmW6HpLr4qQ#keX z98<(rR|bO%3lQC983GMER~ZHKcnf6vD<4gE@R%6QL4W)5>diU>=My2v8C|yk7lpPW z#{61BOyCSZJl{cdh8{66mO~+zyK7<)7DYB07~c{wszXyu!)^LY17iu>OoQG5X;~Z% zJU=+J6X$0bnk7Cn(OGU*thG?guSn<=F>JXAw&Il!8CYwnSS#yLJCK0!YYf~h@|KIv zW&`t);s{C*Yx#j2BoKTx4SEea77HF&YhW!Q&UlN?V0Iv6F!B=%kX^`6#6>@0PEo54 zp;_yQWFUZMK`WprX5^n|(0#ZAx{K5q(+nIFsG1|dZ=Qcd<%Z>NOhCcWVmfdvfFocU z%z`WU|34@h+-?{$UvZQE74s2D+6eTooCipl@WIB73kX6w)J7;mo_9r)l6p-b5XS$J zYD6{mb&?7Lhw-`|S2s?3`K_Fwi~Pkm?}6^!F|i0bElTPTx>^Zd8Qu3>8Cy63-svtP Q6vJ61bxz&!)9JE*04i|=ZU6uP delta 2055 zcmbtTT})g>6h1Te?y@X@yLfk@{7HbqB1*TVlwf~Y`eUJ`%N9$erYT(>tP~#>;uA?_ zV>CuWB`L(9(I#zTOxiB-)x;3>oI7`S!6+s=ncX|z z`Mz_$Gc)(b<9a-^f2OH7#=ax63FAV&aKm5KbIBc5? zkBQNAMMh&gw?W<3g#OdsfDl z;;b%wYVPawd8k!*bo{R&z?ke^VoWTSSDLZi#a(@0r8HgdrjHlb^5X$7!>zC4@1+g> z%Ng^S(cTUE`$y^~lXtQLT;6{D%~ z%YdkpCZTJPklhmx878$%)?$JF$wk&Ccgjr0R>Xm;QC2H1;s1)roT@E-2;p{`l=(Do zf^auYLVI|n=$tyo5^`axfngms-Gu+m)3tdk&~cb1$sV9=aJnh43ywWclVYnpA*QGA zVd{I=erDpe>npBDkPQzY2SjYf5EC=^#r({Z@}1A?nYel5MP`Va*>?A<#*z_$0&t;f z_M}*z%|+tJ+0L9Y02uNu`yx<n5uPoblg69a*Ur=8Es;T15GLFyog0p5K5nab$i|$>stBs{#DrrxjH@KxThjFI{nzsc7G!)j?VI49GDxOXA4449>2kzwHOr~4;4#+KN*r`HP zPY37Pe6X;hN2~-gXxe8R07rqRXtP}s4JaXv8R2yese)@7wD@FxvH=?hIR_2gC3TkF z2tbfK$ikc45(zlC9!p^`&_MT9r3zTsyTxue$lb_imOXV`Whk8e__nqrriR_#C-$tv zCDn%!qdzu40^J+vSS!%I)nOZBI~;OIZVjb(m((7#F|rKo?l2Uza72+dMhDwo`Dx(D z42Qs-U$Y4fC6A9Mb8? zb#JSU=}Pem$`M=s^b&ysH2?Npst1Mj!p7bEtrUET@PzOsI;1KjPoUbaNITXbvp8fM z5Knj9Y2%P}A`Tk?gfzu(gm>s*yIS|J5L5RcHj>*;E=aB$rIKf zuX3*${gp8}Xf*0F_{}lSV{eMVg$6TrUhZEgWYQB@b?PP1> /lib/firmware/ath11k-macs } +ath11k_generate_macs_wf660a() { + touch /lib/firmware/ath11k-macs + mmc_dev=$(find_mtd_chardev "0:APPSBLENV") + [ -z "$mmc_dev" ] && mmc_dev=$(find_mmc_part "0:APPSBLENV") + [ -n "$mmc_dev" ] && mac=$(grep BaseMacAddress= $mmc_dev | cut -dx -f2) + eth=$(macaddr_canonicalize $mac) + mac1=$(macaddr_add $eth 1) + mac2=$(macaddr_add $eth 2) + mac3=$(macaddr_add $eth 3) + echo -ne \\x${mac1//:/\\x} >> /lib/firmware/ath11k-macs + echo -ne \\x${mac2//:/\\x} >> /lib/firmware/ath11k-macs + echo -ne \\x${mac3//:/\\x} >> /lib/firmware/ath11k-macs +} + caldata_die() { echo "caldata: " "$*" exit 1 @@ -60,6 +74,7 @@ case "$FIRMWARE" in "ath11k/IPQ6018/hw1.0/caldata.bin") case "$board" in cig,wf188n|\ + cig,wf660a|\ edgecore,eap101|\ hfcl,ion4xi|\ hfcl,ion4x|\ @@ -97,6 +112,9 @@ ath11k-macs) cig,wf188n) ath11k_generate_macs ;; + cig,wf660a) + ath11k_generate_macs_wf660a + ;; esac ;; ath11k/IPQ6018/hw1.0/board.bin) diff --git a/feeds/ipq807x_v5.4/ipq60xx/base-files/lib/upgrade/platform.sh b/feeds/ipq807x_v5.4/ipq60xx/base-files/lib/upgrade/platform.sh index a7ba920ee..3312eedb3 100755 --- a/feeds/ipq807x_v5.4/ipq60xx/base-files/lib/upgrade/platform.sh +++ b/feeds/ipq807x_v5.4/ipq60xx/base-files/lib/upgrade/platform.sh @@ -49,6 +49,52 @@ do_flash_emmc() { tar Oxf $tar_file ${board_dir}/$part | dd of=${emmcblock} } +spi_nor_emmc_do_upgrade_bootconfig() { + local tar_file="$1" + + local board_dir=$(tar tf $tar_file | grep -m 1 '^sysupgrade-.*/$') + board_dir=${board_dir%/} + [ -f /proc/boot_info/getbinary_bootconfig ] || { + echo "bootconfig does not exist" + exit + } + CI_ROOTPART="$(cat /proc/boot_info/rootfs/upgradepartition)" + CI_KERNPART="$(cat /proc/boot_info/0:HLOS/upgradepartition)" + + [ -n "$CI_KERNPART" -a -n "$CI_ROOTPART" ] || { + echo "kernel or rootfs partition is unknown" + exit + } + + local primary="0" + [ "$(cat /proc/boot_info/rootfs/primaryboot)" = "0" ] && primary="1" + echo "$primary" > /proc/boot_info/rootfs/primaryboot 2>/dev/null + echo "$primary" > /proc/boot_info/0:HLOS/primaryboot 2>/dev/null + cp /proc/boot_info/getbinary_bootconfig /tmp/bootconfig + + do_flash_emmc $tar_file $CI_KERNPART $board_dir kernel + do_flash_emmc $tar_file $CI_ROOTPART $board_dir root + + local emmcblock="$(find_mmc_part "rootfs_data")" + if [ -e "$emmcblock" ]; then + mkfs.ext4 -F "$emmcblock" + fi + + for part in "0:BOOTCONFIG" "0:BOOTCONFIG1"; do + local mtdchar=$(echo $(find_mtd_chardev $part) | sed 's/^.\{5\}//') + if [ -n "$mtdchar" ]; then + echo start to update $mtdchar + mtd -qq write /proc/boot_info/getbinary_bootconfig "/dev/${mtdchar}" 2>/dev/null && echo update mtd $mtdchar + else + emmcblock=$(find_mmc_part $part) + echo erase ${emmcblock} + dd if=/dev/zero of=${emmcblock} 2> /dev/null + echo update $emmcblock + dd if=/tmp/bootconfig of=${emmcblock} 2> /dev/null + fi + done +} + emmc_do_upgrade() { local tar_file="$1" @@ -67,6 +113,7 @@ platform_check_image() { local magic_long="$(get_magic_long "$1")" board=$(board_name) case $board in + cig,wf660a|\ cig,wf188n|\ cig,wf194c4|\ cig,wf196|\ @@ -95,6 +142,9 @@ platform_do_upgrade() { board=$(board_name) case $board in + cig,wf660a) + spi_nor_emmc_do_upgrade_bootconfig $1 + ;; cig,wf188n|\ glinet,ax1800|\ glinet,axt1800|\ diff --git a/feeds/ipq807x_v5.4/ipq60xx/files/arch/arm64/boot/dts/qcom/qcom-ipq6018-cig-wf660a.dts b/feeds/ipq807x_v5.4/ipq60xx/files/arch/arm64/boot/dts/qcom/qcom-ipq6018-cig-wf660a.dts new file mode 100755 index 000000000..0ba4eea9b --- /dev/null +++ b/feeds/ipq807x_v5.4/ipq60xx/files/arch/arm64/boot/dts/qcom/qcom-ipq6018-cig-wf660a.dts @@ -0,0 +1,40 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) +/* + * IPQ6018 CP01 board device tree source + * + * Copyright (c) 2019-2021 The Linux Foundation. All rights reserved. + */ + +/dts-v1/; + +#include "qcom-ipq6018-cp01-cig-wf660a.dtsi" + +/ { + model = "Cigtech WF-660a"; + compatible = "cig,wf660a", "qcom,ipq6018-ap-cp01-c1", "qcom,ipq6018-ap-cp01", "qcom,ipq6018"; +}; + +&tlmm { + i2c_1_pins: i2c_1_pins { + mux { + pins = "gpio42", "gpio43"; + function = "blsp2_i2c"; + drive-strength = <8>; + bias-pull-down; + }; + }; +}; + +&i2c_1 { + pinctrl-0 = <&i2c_1_pins>; + pinctrl-names = "default"; + status = "ok"; +}; + +&sdhc_1 { + status = "ok"; +}; + +&sdhc_2 { + status = "disable"; +}; \ No newline at end of file diff --git a/feeds/ipq807x_v5.4/ipq60xx/files/arch/arm64/boot/dts/qcom/qcom-ipq6018-cp01-cig-wf660a.dtsi b/feeds/ipq807x_v5.4/ipq60xx/files/arch/arm64/boot/dts/qcom/qcom-ipq6018-cp01-cig-wf660a.dtsi new file mode 100755 index 000000000..059e7d282 --- /dev/null +++ b/feeds/ipq807x_v5.4/ipq60xx/files/arch/arm64/boot/dts/qcom/qcom-ipq6018-cp01-cig-wf660a.dtsi @@ -0,0 +1,475 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) +/* + * IPQ6018 CP01 board device tree source + * + * Copyright (c) 2019-2021 The Linux Foundation. All rights reserved. + */ + +/dts-v1/; + +#include "ipq6018.dtsi" +#include "ipq6018-cpr-regulator.dtsi" +#include +#include +#include + +/ { + compatible = "cig,wf660a", "qcom,ipq6018-ap-cp01", "qcom,ipq6018"; + + aliases { + serial0 = &blsp1_uart3; + serial1 = &blsp1_uart2; + sdhc1 = &sdhc_1; + /* + * Aliases as required by u-boot + * to patch MAC addresses + */ + ethernet0 = "/soc/dp1"; + ethernet1 = "/soc/dp2"; + ethernet2 = "/soc/dp3"; + ethernet3 = "/soc/dp4"; + ethernet4 = "/soc/dp5"; + }; + + chosen { + stdout-path = "serial0:115200n8"; + bootargs-append = " swiotlb=1"; + }; +}; + +&blsp1_uart2 { + pinctrl-0 = <&hsuart_pins>; + pinctrl-names = "default"; + qca,bt-rfr-fixup; + status = "ok"; +}; + +&blsp1_uart3 { + pinctrl-0 = <&serial_3_pins>; + pinctrl-names = "default"; + status = "ok"; +}; + +&spi_0 { + pinctrl-0 = <&spi_0_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; + }; +}; + +&spi_1 { /* BLSP1 QUP1 */ + pinctrl-0 = <&spi_1_pins>; + pinctrl-names = "default"; + cs-select = <0>; + quartz-reset-gpio = <&tlmm 79 1>; + status = "disabled"; + spidev1: spi@1 { + compatible = "qca,spidev"; + reg = <0>; + spi-max-frequency = <24000000>; + }; +}; + +&i2c_0 { + pinctrl-0 = <&i2c_0_pins>; + pinctrl-names = "default"; + status = "ok"; +}; + +&tlmm { + i2c_0_pins: i2c_0_pins { + mux { + pins = "gpio69", "gpio70"; + function = "blsp1_i2c"; + drive-strength = <8>; + bias-pull-down; + }; + }; + + i2c_1_pins: i2c_1_pins { + mux { + pins = "gpio42", "gpio43"; + function = "blsp2_i2c"; + drive-strength = <8>; + bias-pull-down; + }; + }; + + i2c_4_pins: i2c_4_pins { + mux { + pins = "gpio55", "gpio56"; + function = "blsp4_i2c"; + drive-strength = <8>; + bias-pull-down; + }; + }; + + spi_0_pins: spi-0-pins { + pins = "gpio38", "gpio39", "gpio40", "gpio41"; + function = "blsp0_spi"; + drive-strength = <8>; + bias-pull-down; + }; + + spi_1_pins: spi_1_pins { + mux { + pins = "gpio69", "gpio71", "gpio72"; + function = "blsp1_spi"; + drive-strength = <8>; + bias-pull-down; + }; + spi_cs { + pins = "gpio70"; + function = "blsp1_spi"; + drive-strength = <8>; + bias-disable; + }; + quartz_interrupt { + pins = "gpio78"; + function = "gpio"; + input; + bias-disable; + }; + quartz_reset { + pins = "gpio79"; + function = "gpio"; + output-low; + bias-disable; + }; + + }; + + sd_pins: sd-pinmux { + pins = "gpio62"; + function = "sd_card"; + drive-strength = <8>; + bias-pull-up; + }; + + mdio_pins: mdio_pinmux { + mux_0 { + pins = "gpio64"; + function = "mdc"; + drive-strength = <8>; + bias-pull-up; + }; + mux_1 { + pins = "gpio65"; + function = "mdio"; + drive-strength = <8>; + bias-pull-up; + }; + mux_2 { + pins = "gpio75"; + function = "gpio"; + bias-pull-up; + }; + mux_3 { + pins = "gpio77"; + function = "gpio"; + bias-pull-up; + }; + }; + + pwm_pins: pwm_pinmux { + mux_1 { + pins = "gpio22"; + function = "pwm02"; + drive-strength = <8>; + }; + mux_2 { + pins = "gpio23"; + function = "pwm12"; + drive-strength = <8>; + }; + mux_3 { + pins = "gpio24"; + function = "pwm22"; + drive-strength = <8>; + }; + }; + + hsuart_pins: hsuart_pins { + mux { + pins = "gpio71", "gpio72"; + function = "blsp1_uart"; + drive-strength = <8>; + bias-disable; + }; + }; + + leds_pins: leds_pins { + led_5g { + pins = "gpio35"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + led_2g { + pins = "gpio37"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + led_usb0 { + pins = "gpio50"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + }; + + btcoex_pins: btcoex_pins { + mux_0 { + pins = "gpio51"; + function = "pta1_1"; + drive-strength = <6>; + bias-pull-down; + }; + mux_1 { + pins = "gpio53"; + function = "pta1_0"; + drive-strength = <6>; + bias-pull-down; + }; + mux_2 { + pins = "gpio52"; + function = "pta1_2"; + drive-strength = <6>; + bias-pull-down; + }; + }; +}; + +&soc { + mdio: mdio@90000 { + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + phy-reset-gpio = <&tlmm 77 0>; + status = "ok"; + phy0: ethernet-phy@0 { + reg = <0>; + }; + phy1: ethernet-phy@1 { + reg = <1>; + }; + phy2: ethernet-phy@2 { + reg = <2>; + }; + phy3: ethernet-phy@3 { + reg = <3>; + }; + phy4: ethernet-phy@4 { + reg = <0x1c>; + }; + }; + + dp1 { + device_type = "network"; + compatible = "qcom,nss-dp"; + qcom,id = <1>; + reg = <0x3a001000 0x200>; + qcom,mactype = <0>; + local-mac-address = [000000000000]; + qcom,link-poll = <1>; + qcom,phy-mdio-addr = <0>; + phy-mode = "sgmii"; + }; + + dp2 { + device_type = "network"; + compatible = "qcom,nss-dp"; + qcom,id = <2>; + reg = <0x3a001200 0x200>; + qcom,mactype = <0>; + local-mac-address = [000000000000]; + qcom,link-poll = <1>; + qcom,phy-mdio-addr = <1>; + phy-mode = "sgmii"; + }; + + dp3 { + device_type = "network"; + compatible = "qcom,nss-dp"; + qcom,id = <3>; + reg = <0x3a001400 0x200>; + qcom,mactype = <0>; + local-mac-address = [000000000000]; + qcom,link-poll = <1>; + qcom,phy-mdio-addr = <2>; + phy-mode = "sgmii"; + }; + + dp4 { + device_type = "network"; + compatible = "qcom,nss-dp"; + qcom,id = <4>; + reg = <0x3a001600 0x200>; + qcom,mactype = <0>; + local-mac-address = [000000000000]; + qcom,link-poll = <1>; + qcom,phy-mdio-addr = <3>; + phy-mode = "sgmii"; + }; + + dp5 { + device_type = "network"; + compatible = "qcom,nss-dp"; + qcom,id = <5>; + reg = <0x3a001800 0x200>; + qcom,mactype = <0>; + local-mac-address = [000000000000]; + qcom,link-poll = <1>; + qcom,phy-mdio-addr = <28>; + phy-mode = "sgmii"; + }; + + i2c_4: i2c@78b9000 { + compatible = "qcom,i2c-qup-v2.2.1"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x78b9000 0x600>; + interrupts = ; + clocks = <&gcc GCC_BLSP1_AHB_CLK>, + <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>; + clock-names = "iface", "core"; + clock-frequency = <100000>; + dmas = <&blsp_dma 21>, <&blsp_dma 20>; + dma-names = "rx", "tx"; + pinctrl-0 = <&i2c_4_pins>; + status = "ok"; + }; + + ess-switch@3a000000 { + switch_cpu_bmp = <0x1>; /* cpu port bitmap */ + switch_lan_bmp = <0x0>; /* lan port bitmap */ + switch_wan_bmp = <0x20>; /* wan port bitmap */ + switch_inner_bmp = <0xc0>; /*inner port bitmap*/ + switch_mac_mode = <0x0>; /* mac mode for uniphy instance0*/ + switch_mac_mode1 = <0xf>; /* mac mode for uniphy instance1*/ + switch_mac_mode2 = <0xff>; /* mac mode for uniphy instance2*/ + 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 = <0x1c>; + port_mac_sel = "QGMAC_PORT"; + }; + }; + }; + + nss-macsec0 { + compatible = "qcom,nss-macsec"; + phy_addr = <0x1c>; + phy_access_mode = <0>; + mdiobus = <&mdio>; + }; + + pwm { + pinctrl-0 = <&pwm_pins>; + pinctrl-names = "default"; + used-pwm-indices = <1>, <1>, <1>, <0>; + dft-pwm-status = <0>, <1>, <0>, <0>; + status = "ok"; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-0 = <&leds_pins>; + pinctrl-names = "default"; + + led@35 { + label = "led_5g"; + gpios = <&tlmm 35 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "led_5g"; + default-state = "off"; + }; + led@37 { + label = "led_2g"; + gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "led_2g"; + default-state = "off"; + }; + led@50 { + label = "led_usb0"; + gpios = <&tlmm 50 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "usb-host"; + default-state = "off"; + }; + }; +}; + +&qpic_bam { + status = "ok"; +}; + +&qpic_nand { + status = "disable"; +}; + +&pcie_phy { + status = "ok"; +}; + +&pcie0 { +#if defined(__CNSS2__) + status = "ok"; +#endif +}; + +&qusb_phy_0 { + status = "ok"; +}; + +&qusb_phy_1 { + status = "ok"; +}; + +&usb2 { + status = "ok"; +}; + +&ssphy_0 { + status = "ok"; +}; + +&usb3 { + status = "ok"; +}; + +&nss_crypto { + status = "ok"; +}; + +&sd_pwrseq { + status = "disable"; +}; + +&ipq6018_l2 { + status = "disable"; +}; diff --git a/feeds/ipq807x_v5.4/ipq60xx/image/ipq60xx.mk b/feeds/ipq807x_v5.4/ipq60xx/image/ipq60xx.mk index bd49c7039..585b751fa 100644 --- a/feeds/ipq807x_v5.4/ipq60xx/image/ipq60xx.mk +++ b/feeds/ipq807x_v5.4/ipq60xx/image/ipq60xx.mk @@ -2,6 +2,17 @@ KERNEL_LOADADDR := 0x41080000 DEVICE_VARS += CE_TYPE +define Device/cig_wf660a + DEVICE_TITLE := Cigtech WF-660a + DEVICE_DTS := qcom-ipq6018-cig-wf660a + SUPPORTED_DEVICES := cig,wf660a + DEVICE_DTS_CONFIG := config@cp01-c1 + DEVICE_PACKAGES := ath11k-wifi-cig-wf660a uboot-env uboot-envtools + IMAGES := sysupgrade.tar mmc-factory.bin + IMAGE/mmc-factory.bin := append-ubi | qsdk-ipq-factory-mmc +endef +TARGET_DEVICES += cig_wf660a + define Device/cig_wf188n DEVICE_TITLE := Cigtech WF-188n DEVICE_DTS := qcom-ipq6018-cig-wf188n diff --git a/feeds/ipq807x_v5.4/ipq60xx/modules.mk b/feeds/ipq807x_v5.4/ipq60xx/modules.mk index 1d51296d6..b75eb7021 100644 --- a/feeds/ipq807x_v5.4/ipq60xx/modules.mk +++ b/feeds/ipq807x_v5.4/ipq60xx/modules.mk @@ -77,6 +77,23 @@ endef $(eval $(call KernelPackage,usb-dwc3-qcom-internal)) +define KernelPackage/diag-char + TITLE:=CHAR DIAG + KCONFIG:= CONFIG_DIAG_MHI=y@ge5.4 \ + CONFIG_DIAG_OVER_PCIE=n@ge5.4 \ + CONFIG_DIAGFWD_BRIDGE_CODE=y \ + CONFIG_DIAG_CHAR=m + DEPENDS:=+kmod-lib-crc-ccitt + FILES:=$(LINUX_DIR)/drivers/char/diag/diagchar.ko +endef + +define KernelPackage/diag-char/description + CHAR DIAG +endef + +$(eval $(call KernelPackage,diag-char)) + + define KernelPackage/bootconfig SUBMENU:=Other modules TITLE:=Bootconfig partition for failsafe diff --git a/profiles/cig_wf660a.yml b/profiles/cig_wf660a.yml new file mode 100755 index 000000000..bae5e590d --- /dev/null +++ b/profiles/cig_wf660a.yml @@ -0,0 +1,41 @@ +--- +profile: cig_wf660a +target: ipq60xx +subtarget: generic +description: Build image for the Cigtech WF660a +image: bin/targets/ipq60xx/generic/openwrt-ipq60xx-cig_wf660a-squashfs-sysupgrade.tar +feeds: + - name: ipq807x + path: ../../feeds/ipq807x_v5.4 +packages: + - ipq60xx + - e2fsprogs + - ath11k-fwtest + - ftm + - gpsd + - gpsd-utils + - libgps + - gpsd-clients + - kmod-diag-char + - coreutils + - coreutils-stty +include: + - wifi-ax + - ucentral-ap + +diffconfig: | + CONFIG_PACKAGE_libblkid=y + CONFIG_PACKAGE_libext2fs=y + CONFIG_PACKAGE_libuuid=y + CONFIG_PACKAGE_libcomerr=y + CONFIG_PACKAGE_libss=y + CONFIG_PACKAGE_i2c-tools=y + CONFIG_PACKAGE_libi2c=y + CONFIG_PACKAGE_coreutils=y + CONFIG_PACKAGE_coreutils-stty=y + CONFIG_PACKAGE_kmod-i2c-core=y + CONFIG_PACKAGE_gpsd=y + CONFIG_PACKAGE_gpsd-utils=y + CONFIG_PACKAGE_libgps=y + CONFIG_PACKAGE_gpsd-clients=y + CONFIG_PACKAGE_kmod-diag-char=y