diff --git a/.github/workflows/build-dev.yml b/.github/workflows/build-dev.yml index 4505f1c52..d848f777a 100755 --- a/.github/workflows/build-dev.yml +++ b/.github/workflows/build-dev.yml @@ -21,7 +21,7 @@ jobs: strategy: fail-fast: false matrix: - target: [ 'cig_wf186h', 'cig_wf186w', 'cig_wf188n', 'cig_wf189', 'cig_wf196', 'cig_wf196', 'cybertan_eww631-a1', 'cybertan_eww631-b1', 'sonicfi_rap630w-312g', 'sonicfi_rap63xc-211g', 'sonicfi_rap630c-311g', 'sonicfi_rap630w-311g', 'sonicfi_rap630w-211g', 'sonicfi_rap7110c-341x', 'sonicfi_rap750w-311a', 'edgecore_eap101', 'edgecore_eap102', 'edgecore_eap104', 'edgecore_eap105', 'edgecore_eap111', 'edgecore_eap112', 'edgecore_oap101', 'edgecore_oap101-6e', 'edgecore_oap101e', 'edgecore_oap101e-6e', 'edgecore_oap103', 'hfcl_ion4xe', 'hfcl_ion4xi', 'hfcl_ion4x', 'hfcl_ion4x_2', 'hfcl_ion4x_3', 'hfcl_ion4xi_w', 'hfcl_ion4x_w', 'indio_um-305ax', 'senao_iap4300m', 'senao_iap2300m', 'senao_jeap6500', 'udaya_a6-id2', 'udaya_a6-od2', 'yuncore_ax820', 'yuncore_ax840', 'yuncore_fap640', 'yuncore_fap650', 'yuncore_fap655' ] + target: [ 'cig_wf186h', 'cig_wf186w', 'cig_wf188n', 'cig_wf189', 'cig_wf196', 'cig_wf196', 'cybertan_eww631-a1', 'cybertan_eww631-b1', 'sonicfi_rap630w-312g', 'sonicfi_rap63xc-211g', 'sonicfi_rap630c-311g', 'sonicfi_rap630w-311g', 'sonicfi_rap630w-211g', 'sonicfi_rap650c', 'sonicfi_rap7110c-341x', 'sonicfi_rap750w-311a', 'edgecore_eap101', 'edgecore_eap102', 'edgecore_eap104', 'edgecore_eap105', 'edgecore_eap111', 'edgecore_eap112', 'edgecore_oap101', 'edgecore_oap101-6e', 'edgecore_oap101e', 'edgecore_oap101e-6e', 'edgecore_oap103', 'hfcl_ion4xe', 'hfcl_ion4xi', 'hfcl_ion4x', 'hfcl_ion4x_2', 'hfcl_ion4x_3', 'hfcl_ion4xi_w', 'hfcl_ion4x_w', 'indio_um-305ax', 'senao_iap4300m', 'senao_iap2300m', 'senao_jeap6500', 'udaya_a6-id2', 'udaya_a6-od2', 'yuncore_ax820', 'yuncore_ax840', 'yuncore_fap640', 'yuncore_fap650', 'yuncore_fap655' ] steps: - uses: actions/checkout@v3 diff --git a/feeds/ipq807x_v5.4/ath11k-wifi/Makefile b/feeds/ipq807x_v5.4/ath11k-wifi/Makefile index fb1c93778..d158bf6de 100755 --- a/feeds/ipq807x_v5.4/ath11k-wifi/Makefile +++ b/feeds/ipq807x_v5.4/ath11k-wifi/Makefile @@ -53,6 +53,7 @@ ALLWIFIBOARDS:= \ sonicfi-rap630c-311g \ sonicfi-rap630w-311g \ sonicfi-rap630w-312g \ + sonicfi-rap650c \ tplink-ex227 \ tplink-ex447 \ yuncore-ax840 \ @@ -410,6 +411,7 @@ $(eval $(call generate-ath11k-wifi-package,indio-um-510axm-v1,Indio UM-510AXM V1 $(eval $(call generate-ath11k-wifi-package,sonicfi-rap630c-311g,Sonicfi RAP630C 311G)) $(eval $(call generate-ath11k-wifi-package,sonicfi-rap630w-311g,Sonicfi RAP630W 311G)) $(eval $(call generate-ath11k-wifi-package,sonicfi-rap630w-312g,Sonicfi RAP630W 312G)) +$(eval $(call generate-ath11k-wifi-package,sonicfi-rap650c,SonicFi RAP650C)) $(eval $(call generate-ath11k-wifi-package,tplink-ex227,TP-Link EX227)) $(eval $(call generate-ath11k-wifi-package,tplink-ex447,TP-Link EX447)) $(eval $(call generate-ath11k-wifi-package,yuncore-ax840,YunCore AX840)) diff --git a/feeds/ipq807x_v5.4/ath11k-wifi/board-sonicfi-rap650c.bin.IPQ8074 b/feeds/ipq807x_v5.4/ath11k-wifi/board-sonicfi-rap650c.bin.IPQ8074 new file mode 100644 index 000000000..637e8fd2f Binary files /dev/null and b/feeds/ipq807x_v5.4/ath11k-wifi/board-sonicfi-rap650c.bin.IPQ8074 differ diff --git a/feeds/ipq807x_v5.4/ipq807x/base-files/etc/board.d/01_leds b/feeds/ipq807x_v5.4/ipq807x/base-files/etc/board.d/01_leds index c3c0d37fb..d53c857c7 100755 --- a/feeds/ipq807x_v5.4/ipq807x/base-files/etc/board.d/01_leds +++ b/feeds/ipq807x_v5.4/ipq807x/base-files/etc/board.d/01_leds @@ -21,6 +21,7 @@ edgecore,oap103) ucidef_set_led_wlan "power" "POWER" "green:power" "default-on" ;; sonicfi,rap630w-311g|\ +sonicfi,rap650c|\ cybertan,eww631-b1) ucidef_set_led_default "power" "POWER" "sys:blue" "on" ;; diff --git a/feeds/ipq807x_v5.4/ipq807x/base-files/etc/board.d/02_network b/feeds/ipq807x_v5.4/ipq807x/base-files/etc/board.d/02_network index 0be4450b3..70539436d 100755 --- a/feeds/ipq807x_v5.4/ipq807x/base-files/etc/board.d/02_network +++ b/feeds/ipq807x_v5.4/ipq807x/base-files/etc/board.d/02_network @@ -24,6 +24,7 @@ qcom_setup_interfaces() edgecore,eap102|\ edgecore,oap102|\ edgecore,oap103|\ + sonicfi,rap650c|\ cig,wf196) ucidef_set_interface_lan "eth1" ucidef_set_interface_wan "eth0" @@ -50,6 +51,16 @@ qcom_setup_macs() ip link set eth1 address $lan_mac ucidef_set_label_macaddr $wan_mac ;; + sonicfi,rap650c) + mac=$(fw_printenv -n BaseMacAddress) + [ -z "$mac" ] && return; + wan_mac=$(macaddr_canonicalize $mac) + lan_mac=$(macaddr_add "$wan_mac" 1) + ucidef_set_network_device_mac eth0 $wan_mac + ucidef_set_network_device_mac eth1 $lan_mac + ip link set eth0 address $wan_mac + ip link set eth1 address $lan_mac + ;; *) wan_mac=$(cat /sys/class/net/eth0/address) lan_mac=$(macaddr_add "$wan_mac" 1) diff --git a/feeds/ipq807x_v5.4/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata b/feeds/ipq807x_v5.4/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata index 8ccb1afe9..baec71c76 100755 --- a/feeds/ipq807x_v5.4/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata +++ b/feeds/ipq807x_v5.4/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata @@ -16,6 +16,20 @@ ath11k_generate_macs() { echo -ne \\x${mac3//:/\\x} >> /lib/firmware/ath11k-macs } +ath11k_generate_macs_sonicfi() { + mac=$(fw_printenv -n BaseMacAddress) + [ -z "$mac" ] && return; + + touch /lib/firmware/ath11k-macs + eth=$(macaddr_canonicalize $mac) + mac1=$(macaddr_add $eth 2) + mac2=$(macaddr_add $eth 3) + mac3=$(macaddr_add $eth 4) + 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 +} + ath11k_generate_macs_wf196() { touch /lib/firmware/ath11k-macs mac=$(grep BaseMacAddress= /dev/mtd18 | cut -dx -f2) @@ -63,6 +77,7 @@ case "$FIRMWARE" in tplink,ex227|\ tplink,ex447|\ yuncore,ax840|\ + sonicfi,rap650c|\ sercomm,wallaby) caldata_extract "0:ART" 0x1000 0x20000 ;; @@ -97,6 +112,9 @@ ath11k-macs) cig,wf196) ath11k_generate_macs_wf196 ;; + sonicfi*) + ath11k_generate_macs_sonicfi + ;; esac ;; ath11k/IPQ8074/hw2.0/board.bin) diff --git a/feeds/ipq807x_v5.4/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-pdev-stats b/feeds/ipq807x_v5.4/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-pdev-stats index 12ac910d8..198a6ecff 100755 --- a/feeds/ipq807x_v5.4/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-pdev-stats +++ b/feeds/ipq807x_v5.4/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-pdev-stats @@ -10,7 +10,8 @@ case "$board" in ln -s /sys/kernel/debug/ath11k/ipq6018\ hw1.0/mac1/fw_stats/pdev_stats /tmp/pdev_stats_phy2g ;; "edgecore,eap102"|\ - "edgecore,oap103") + "edgecore,oap103"|\ + "sonicfi,rap650c") ln -s /sys/kernel/debug/ath11k/ipq8074\ hw2.0/mac0/fw_stats/pdev_stats /tmp/pdev_stats_phy5g ln -s /sys/kernel/debug/ath11k/ipq8074\ hw2.0/mac1/fw_stats/pdev_stats /tmp/pdev_stats_phy2g ;; diff --git a/feeds/ipq807x_v5.4/ipq807x/base-files/lib/upgrade/platform.sh b/feeds/ipq807x_v5.4/ipq807x/base-files/lib/upgrade/platform.sh index 6d28b9800..4746b06f4 100755 --- a/feeds/ipq807x_v5.4/ipq807x/base-files/lib/upgrade/platform.sh +++ b/feeds/ipq807x_v5.4/ipq807x/base-files/lib/upgrade/platform.sh @@ -29,6 +29,7 @@ platform_check_image() { edgecore,oap102|\ edgecore,oap103|\ edgecore,eap106|\ + sonicfi,rap650c|\ tplink,ex227|\ tplink,ex447) [ "$magic_long" = "73797375" ] && return 0 @@ -83,5 +84,17 @@ platform_do_upgrade() { fi nand_upgrade_tar "$1" ;; + sonicfi,rap650c) + boot_part=$(fw_printenv -n bootfrom) + [ ${#boot_part} -eq 0 ] && boot_part=0 + echo "Current bootfrom is $boot_part" + if [[ $boot_part == 1 ]]; then + CI_UBIPART="rootfs" + CI_FWSETENV="bootfrom 0" + elif [[ $boot_part == 0 ]]; then + CI_UBIPART="rootfs_1" + CI_FWSETENV="bootfrom 1" + fi + nand_upgrade_tar "$1" esac } diff --git a/feeds/ipq807x_v5.4/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq807x-rap650c.dts b/feeds/ipq807x_v5.4/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq807x-rap650c.dts new file mode 100644 index 000000000..e6a5bcad2 --- /dev/null +++ b/feeds/ipq807x_v5.4/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq807x-rap650c.dts @@ -0,0 +1,650 @@ +// SPDX-License-Identifier: GPL-2.0-only +/dts-v1/; +/* Copyright (c) 2020 The Linux Foundation. All rights reserved. + */ +#include "ipq8074.dtsi" +#include "ipq8074-hk-cpu.dtsi" + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + model = "SonicFi RAP650C"; + compatible = "sonicfi,rap650c", "qcom,ipq8074-ap-hk09", "qcom,ipq8074"; + qcom,msm-id = <0x157 0x0>, <0x187 0x0>; + interrupt-parent = <&intc>; + + aliases { + serial0 = &blsp1_uart5; + /* Aliases as required by u-boot to patch MAC addresses */ + ethernet0 = "/soc/dp1"; + ethernet1 = "/soc/dp2"; + + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; + }; + + chosen { + stdout-path = "serial0"; + }; + + soc { + pinctrl@1000000 { + button_pins: button_pins { + reset_button { + pins = "gpio57"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + }; + }; + + usb_mux_sel_pins: usb_mux_pins { + mux { + pins = "gpio27"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + }; + + pcie0_pins: pcie_pins { + pcie0_rst { + pins = "gpio58"; + function = "pcie0_rst"; + drive-strength = <8>; + bias-pull-down; + }; + pcie0_wake { + pins = "gpio59"; + function = "pcie0_wake"; + drive-strength = <8>; + bias-pull-down; + }; + }; + + mdio_pins: mdio_pinmux { + mux_0 { + pins = "gpio68"; + function = "mdc"; + drive-strength = <8>; + bias-pull-up; + }; + mux_1 { + pins = "gpio69"; + function = "mdio"; + drive-strength = <8>; + bias-pull-up; + }; + mux_2 { + pins = "gpio25"; + function = "gpio"; + bias-pull-up; + }; + mux_3 { + pins = "gpio44"; + function = "gpio"; + bias-pull-up; + }; + }; + + led_pins: led_pins { + red { + pins = "gpio0"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + + green { + pins = "gpio2"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + + blue { + pins = "gpio9"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + }; + + spi_3_pins: spi_3_pins { + mux { + pins = "gpio50", "gpio52", "gpio53"; + function = "blsp3_spi"; + drive-strength = <8>; + bias-disable; + }; + spi_cs { + pins = "gpio22"; + function = "blsp3_spi2"; + drive-strength = <8>; + bias-disable; + }; + quartz_interrupt { + pins = "gpio47"; + function = "gpio"; + input; + bias-disable; + }; + quartz_reset { + pins = "gpio21"; + function = "gpio"; + output-low; + bias-disable; + }; + }; + }; + + serial@78b3000 { + status = "ok"; + }; + + dp1 { + 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 = <24>; + phy-mode = "sgmii"; + }; + + dp2 { + device_type = "network"; + compatible = "qcom,nss-dp"; + qcom,id = <6>; + reg = <0x3a001a00 0x200>; + qcom,mactype = <0>; + local-mac-address = [000000000000]; + qcom,link-poll = <1>; + qcom,phy-mdio-addr = <28>; + phy-mode = "sgmii"; + }; + + spi@78b5000 { + status = "ok"; + pinctrl-0 = <&spi_0_pins>; + pinctrl-names = "default"; + cs-select = <0>; + + m25p80@0 { + compatible = "n25q128a11"; + #address-cells = <1>; + #size-cells = <1>; + reg = <0>; + spi-max-frequency = <50000000>; + }; + }; + + spi@78b8000 { + status = "ok"; + pinctrl-0 = <&spi_3_pins>; + pinctrl-names = "default"; + cs-select = <2>; + quartz-reset-gpio = <&tlmm 21 1>; + + spidev3: spi@3 { + compatible = "qti,spidev"; + reg = <0>; + spi-max-frequency = <24000000>; + }; + }; + + dma@7984000 { + status = "ok"; + }; + + nand@79b0000 { + status = "ok"; + + nand@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <1>; + + nand-ecc-strength = <4>; + nand-ecc-step-size = <512>; + nand-bus-width = <8>; + }; + }; + + qusb@79000 { + status = "ok"; + }; + + ssphy@78000 { + status = "ok"; + }; + + usb3@8A00000 { + status = "ok"; + }; + + qusb@59000 { + status = "ok"; + }; + + ssphy@58000 { + status = "ok"; + }; + + usb3@8C00000 { + status = "ok"; + }; + + phy@84000 { + status = "ok"; + }; + + phy@86000 { + status = "ok"; + }; + + pci@20000000 { + perst-gpio = <&tlmm 58 1>; + status = "ok"; + }; + + gpio_keys { + compatible = "gpio-keys"; + pinctrl-0 = <&button_pins>; + pinctrl-names = "default"; + status = "ok"; + + button@1 { + label = "reset"; + linux,code = ; + gpios = <&tlmm 57 GPIO_ACTIVE_LOW>; + linux,input-type = <1>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-0 = <&led_pins>; + pinctrl-names = "default"; + + red { + label = "sys:red"; + gpio = <&tlmm 0 GPIO_ACTIVE_HIGH>; + default-state = "off"; + }; + + green { + label = "sys:green"; + gpio = <&tlmm 2 GPIO_ACTIVE_HIGH>; + default-state = "off"; + }; + + led_power: blue { + label = "sys:blue"; + gpio = <&tlmm 9 GPIO_ACTIVE_HIGH>; + default-state = "off"; + }; + }; + + mdio: mdio@90000 { + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + phy-reset-gpio = <&tlmm 37 0 &tlmm 25 0 &tlmm 44 0>; + 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 = <24>; + }; + phy5: ethernet-phy@5 { + reg = <28>; + }; + }; + + ess-switch@3a000000 { + switch_cpu_bmp = <0x1>; /* cpu port bitmap */ + switch_lan_bmp = <0x3e>; /* lan port bitmap */ + switch_wan_bmp = <0x40>; /* wan port bitmap */ + switch_mac_mode = <0x0>; /* mac mode for uniphy instance0*/ + switch_mac_mode1 = <0xf>; /* mac mode for uniphy instance1*/ + switch_mac_mode2 = <0xf>; /* 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 = <24>; + port_mac_sel = "QGMAC_PORT"; + }; + port@5 { + port_id = <6>; + phy_address = <28>; + port_mac_sel = "QGMAC_PORT"; + }; + }; + port_scheduler_resource { + port@0 { + port_id = <0>; + ucast_queue = <0 143>; + mcast_queue = <256 271>; + l0sp = <0 35>; + l0cdrr = <0 47>; + l0edrr = <0 47>; + l1cdrr = <0 7>; + l1edrr = <0 7>; + }; + port@1 { + port_id = <1>; + ucast_queue = <144 159>; + mcast_queue = <272 275>; + l0sp = <36 39>; + l0cdrr = <48 63>; + l0edrr = <48 63>; + l1cdrr = <8 11>; + l1edrr = <8 11>; + }; + port@2 { + port_id = <2>; + ucast_queue = <160 175>; + mcast_queue = <276 279>; + l0sp = <40 43>; + l0cdrr = <64 79>; + l0edrr = <64 79>; + l1cdrr = <12 15>; + l1edrr = <12 15>; + }; + port@3 { + port_id = <3>; + ucast_queue = <176 191>; + mcast_queue = <280 283>; + l0sp = <44 47>; + l0cdrr = <80 95>; + l0edrr = <80 95>; + l1cdrr = <16 19>; + l1edrr = <16 19>; + }; + port@4 { + port_id = <4>; + ucast_queue = <192 207>; + mcast_queue = <284 287>; + l0sp = <48 51>; + l0cdrr = <96 111>; + l0edrr = <96 111>; + l1cdrr = <20 23>; + l1edrr = <20 23>; + }; + port@5 { + port_id = <5>; + ucast_queue = <208 223>; + mcast_queue = <288 291>; + l0sp = <52 55>; + l0cdrr = <112 127>; + l0edrr = <112 127>; + l1cdrr = <24 27>; + l1edrr = <24 27>; + }; + port@6 { + port_id = <6>; + ucast_queue = <224 239>; + mcast_queue = <292 295>; + l0sp = <56 59>; + l0cdrr = <128 143>; + l0edrr = <128 143>; + l1cdrr = <28 31>; + l1edrr = <28 31>; + }; + port@7 { + port_id = <7>; + ucast_queue = <240 255>; + mcast_queue = <296 299>; + l0sp = <60 63>; + l0cdrr = <144 159>; + l0edrr = <144 159>; + l1cdrr = <32 35>; + l1edrr = <32 35>; + }; + }; + port_scheduler_config { + port@0 { + port_id = <0>; + l1scheduler { + group@0 { + sp = <0 1>; /*L0 SPs*/ + /*cpri cdrr epri edrr*/ + cfg = <0 0 0 0>; + }; + }; + l0scheduler { + group@0 { + /*unicast queues*/ + ucast_queue = <0 4 8>; + /*multicast queues*/ + mcast_queue = <256 260>; + /*sp cpri cdrr epri edrr*/ + cfg = <0 0 0 0 0>; + }; + group@1 { + ucast_queue = <1 5 9>; + mcast_queue = <257 261>; + cfg = <0 1 1 1 1>; + }; + group@2 { + ucast_queue = <2 6 10>; + mcast_queue = <258 262>; + cfg = <0 2 2 2 2>; + }; + group@3 { + ucast_queue = <3 7 11>; + mcast_queue = <259 263>; + cfg = <0 3 3 3 3>; + }; + }; + }; + port@1 { + port_id = <1>; + l1scheduler { + group@0 { + sp = <36>; + cfg = <0 8 0 8>; + }; + group@1 { + sp = <37>; + cfg = <1 9 1 9>; + }; + }; + l0scheduler { + group@0 { + ucast_queue = <144>; + ucast_loop_pri = <16>; + mcast_queue = <272>; + mcast_loop_pri = <4>; + cfg = <36 0 48 0 48>; + }; + }; + }; + port@2 { + port_id = <2>; + l1scheduler { + group@0 { + sp = <40>; + cfg = <0 12 0 12>; + }; + group@1 { + sp = <41>; + cfg = <1 13 1 13>; + }; + }; + l0scheduler { + group@0 { + ucast_queue = <160>; + ucast_loop_pri = <16>; + mcast_queue = <276>; + mcast_loop_pri = <4>; + cfg = <40 0 64 0 64>; + }; + }; + }; + port@3 { + port_id = <3>; + l1scheduler { + group@0 { + sp = <44>; + cfg = <0 16 0 16>; + }; + group@1 { + sp = <45>; + cfg = <1 17 1 17>; + }; + }; + l0scheduler { + group@0 { + ucast_queue = <176>; + ucast_loop_pri = <16>; + mcast_queue = <280>; + mcast_loop_pri = <4>; + cfg = <44 0 80 0 80>; + }; + }; + }; + port@4 { + port_id = <4>; + l1scheduler { + group@0 { + sp = <48>; + cfg = <0 20 0 20>; + }; + group@1 { + sp = <49>; + cfg = <1 21 1 21>; + }; + }; + l0scheduler { + group@0 { + ucast_queue = <192>; + ucast_loop_pri = <16>; + mcast_queue = <284>; + mcast_loop_pri = <4>; + cfg = <48 0 96 0 96>; + }; + }; + }; + port@5 { + port_id = <5>; + l1scheduler { + group@0 { + sp = <52>; + cfg = <0 24 0 24>; + }; + group@1 { + sp = <53>; + cfg = <1 25 1 25>; + }; + }; + l0scheduler { + group@0 { + ucast_queue = <208>; + ucast_loop_pri = <16>; + mcast_queue = <288>; + mcast_loop_pri = <4>; + cfg = <52 0 112 0 112>; + }; + }; + }; + port@6 { + port_id = <6>; + l1scheduler { + group@0 { + sp = <56>; + cfg = <0 28 0 28>; + }; + group@1 { + sp = <57>; + cfg = <1 29 1 29>; + }; + }; + l0scheduler { + group@0 { + ucast_queue = <224>; + ucast_loop_pri = <16>; + mcast_queue = <292>; + mcast_loop_pri = <4>; + cfg = <56 0 128 0 128>; + }; + }; + }; + port@7 { + port_id = <7>; + l1scheduler { + group@0 { + sp = <60>; + cfg = <0 32 0 32>; + }; + group@1 { + sp = <61>; + cfg = <1 33 1 33>; + }; + }; + l0scheduler { + group@0 { + ucast_queue = <240>; + ucast_loop_pri = <16>; + mcast_queue = <296>; + cfg = <60 0 144 0 144>; + }; + }; + }; + }; + }; + + nss-macsec0 { + compatible = "qcom,nss-macsec"; + phy_addr = <0x18>; + phy_access_mode = <0>; + mdiobus = <&mdio>; + }; + nss-macsec1 { + compatible = "qcom,nss-macsec"; + phy_addr = <0x1c>; + phy_access_mode = <0>; + mdiobus = <&mdio>; + }; + }; +}; + +&wifi0 { + qcom,board_id = <0x90>; +}; + +&wifi1 { + qcom,board_id = <0x290>; +}; diff --git a/feeds/ipq807x_v5.4/ipq807x/image/ipq807x.mk b/feeds/ipq807x_v5.4/ipq807x/image/ipq807x.mk index fa9ccf0e0..487f3c322 100644 --- a/feeds/ipq807x_v5.4/ipq807x/image/ipq807x.mk +++ b/feeds/ipq807x_v5.4/ipq807x/image/ipq807x.mk @@ -57,6 +57,17 @@ define Device/edgecore_eap106 endef #TARGET_DEVICES += edgecore_eap106 +define Device/sonicfi_rap650c + DEVICE_TITLE := SonicFi RAP650C + DEVICE_DTS := qcom-ipq807x-rap650c + DEVICE_DTS_CONFIG=config@hk09 + SUPPORTED_DEVICES := sonicfi,rap650c + DEVICE_PACKAGES := ath11k-wifi-sonicfi-rap650c uboot-envtools + IMAGES := sysupgrade.tar nand-factory.bin nand-factory.ubi + IMAGE/nand-factory.ubi := append-ubi +endef +TARGET_DEVICES += sonicfi_rap650c + define Device/tplink_ex227 DEVICE_TITLE := TP-Link EX227 DEVICE_DTS := qcom-ipq807x-ex227 diff --git a/profiles/sonicfi_rap650c.yml b/profiles/sonicfi_rap650c.yml new file mode 100644 index 000000000..ed09bd1aa --- /dev/null +++ b/profiles/sonicfi_rap650c.yml @@ -0,0 +1,15 @@ +--- +profile: sonicfi_rap650c +target: ipq807x +subtarget: generic +description: Build image for the SonicFi RAP650C +image: bin/targets/ipq807x/generic/openwrt-ipq807x-sonicfi_rap650c-squashfs-sysupgrade.tar +feeds: + - name: ipq807x + path: ../../feeds/ipq807x_v5.4 +include: + - ucentral-ap +packages: + - ipq807x +diffconfig: | + CONFIG_KERNEL_IPQ_MEM_PROFILE=0