From edfd2883f510603e3f558c59b78d325d964374a6 Mon Sep 17 00:00:00 2001 From: jackcybertan Date: Thu, 22 May 2025 10:08:46 +0800 Subject: [PATCH] qca-wifi-7: Support for CyberTAN RAP750E-S AP Signed-off-by: jackcybertan --- .github/workflows/build-dev.yml | 2 +- feeds/qca-wifi-7/ath12k-wifi/Makefile | 15 + .../ath12k-wifi/board-2.bin.rap750e_s.IPQ5332 | Bin 0 -> 89292 bytes .../ath12k-wifi/board-2.bin.rap750e_s.QCN6432 | Bin 0 -> 126156 bytes .../ipq53xx/base-files/etc/board.d/01_leds | 1 + .../ipq53xx/base-files/etc/board.d/02_network | 6 +- .../etc/hotplug.d/firmware/10-ath12k-caldata | 2 + .../base-files/lib/upgrade/platform.sh | 1 + .../ipq53xx/dts/ipq5332-sonicfi-rap750e-s.dts | 687 ++++++++++++++++++ feeds/qca-wifi-7/ipq53xx/image/ipq53xx.mk | 14 + profiles/sonicfi_rap750e-s.yml | 16 + 11 files changed, 741 insertions(+), 3 deletions(-) create mode 100644 feeds/qca-wifi-7/ath12k-wifi/board-2.bin.rap750e_s.IPQ5332 create mode 100644 feeds/qca-wifi-7/ath12k-wifi/board-2.bin.rap750e_s.QCN6432 create mode 100755 feeds/qca-wifi-7/ipq53xx/dts/ipq5332-sonicfi-rap750e-s.dts create mode 100755 profiles/sonicfi_rap750e-s.yml diff --git a/.github/workflows/build-dev.yml b/.github/workflows/build-dev.yml index cc2cc2495..509fbe2b7 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_rap650c', 'sonicfi_rap7110c-341x', 'sonicfi_rap750e-h', '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', 'emplus_wap588m', 'zyxel_nwa130be' ] + 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_rap750e-h', 'sonicfi_rap750e-s', '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', 'emplus_wap588m', 'zyxel_nwa130be' ] steps: - uses: actions/checkout@v3 diff --git a/feeds/qca-wifi-7/ath12k-wifi/Makefile b/feeds/qca-wifi-7/ath12k-wifi/Makefile index e483581b2..96a0542a1 100755 --- a/feeds/qca-wifi-7/ath12k-wifi/Makefile +++ b/feeds/qca-wifi-7/ath12k-wifi/Makefile @@ -53,6 +53,11 @@ $(call Package/ath12k-wifi-default) TITLE:=board-2.bin for RAP750e_h endef +define Package/ath12k-wifi-sonicfi-rap750e-s +$(call Package/ath12k-wifi-default) + TITLE:=board-2.bin for RAP750E-S +endef + define Package/ath12k-wifi-sonicfi-rap750w-311a $(call Package/ath12k-wifi-default) TITLE:=board-2.bin for RAP750W_311a @@ -118,6 +123,15 @@ define Package/ath12k-wifi-sonicfi-rap750e-h/install $(INSTALL_DATA) ./ipq5332_qcn6432.regdb $(1)/lib/firmware/ath12k/QCN6432/hw1.0/regdb.bin endef +define Package/ath12k-wifi-sonicfi-rap750e-s/install + $(INSTALL_DIR) $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/ + $(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN6432/hw1.0/ + $(INSTALL_DATA) ./board-2.bin.rap750e_s.IPQ5332 $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin + $(INSTALL_DATA) ./board-2.bin.rap750e_s.QCN6432 $(1)/lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin +# $(INSTALL_DATA) ./ipq5332_qcn6432.regdb $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/regdb.bin + $(INSTALL_DATA) ./ipq5332_qcn6432.regdb $(1)/lib/firmware/ath12k/QCN6432/hw1.0/regdb.bin +endef + define Package/ath12k-wifi-sonicfi-rap750w-311a/install $(INSTALL_DIR) $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/ $(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN6432/hw1.0/ @@ -176,6 +190,7 @@ $(eval $(call BuildPackage,ath12k-wifi-cig-wf189)) $(eval $(call BuildPackage,ath12k-wifi-edgecore-eap105)) $(eval $(call BuildPackage,ath12k-wifi-sonicfi-rap7110c-341x)) $(eval $(call BuildPackage,ath12k-wifi-sonicfi-rap750e-h)) +$(eval $(call BuildPackage,ath12k-wifi-sonicfi-rap750e-s)) $(eval $(call BuildPackage,ath12k-wifi-sonicfi-rap750w-311a)) $(eval $(call BuildPackage,ath12k-wifi-cig-wf189w)) $(eval $(call BuildPackage,ath12k-wifi-cig-wf189h)) diff --git a/feeds/qca-wifi-7/ath12k-wifi/board-2.bin.rap750e_s.IPQ5332 b/feeds/qca-wifi-7/ath12k-wifi/board-2.bin.rap750e_s.IPQ5332 new file mode 100644 index 0000000000000000000000000000000000000000..4dc108833d56e30628bb88595d57ae1de8884fa9 GIT binary patch literal 89292 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 Cw6??m literal 0 HcmV?d00001 diff --git a/feeds/qca-wifi-7/ipq53xx/base-files/etc/board.d/01_leds b/feeds/qca-wifi-7/ipq53xx/base-files/etc/board.d/01_leds index 3736ff40d..6a8421d2a 100755 --- a/feeds/qca-wifi-7/ipq53xx/base-files/etc/board.d/01_leds +++ b/feeds/qca-wifi-7/ipq53xx/base-files/etc/board.d/01_leds @@ -15,6 +15,7 @@ sercomm,ap72tip) ;; sonicfi,rap7110c-341x|\ sonicfi,rap750e-h|\ +sonicfi,rap750e-s|\ sonicfi,rap750w-311a) ucidef_set_led_default "power" "POWER" "pwm:blue" "on" ;; diff --git a/feeds/qca-wifi-7/ipq53xx/base-files/etc/board.d/02_network b/feeds/qca-wifi-7/ipq53xx/base-files/etc/board.d/02_network index a2432d63e..2a9b785f7 100755 --- a/feeds/qca-wifi-7/ipq53xx/base-files/etc/board.d/02_network +++ b/feeds/qca-wifi-7/ipq53xx/base-files/etc/board.d/02_network @@ -20,7 +20,8 @@ ipq53xx_setup_interfaces() ucidef_set_interfaces_lan_wan "eth1" "eth0" ;; sonicfi,rap7110c-341x|\ - sonicfi,rap750e-h) + sonicfi,rap750e-h|\) + sonicfi,rap750e-s) ucidef_set_interfaces_lan_wan "" "eth0" ;; cig,wf189w) @@ -89,7 +90,8 @@ qcom_setup_macs() ucidef_set_wireless_macaddr_base 6g $(macaddr_add "$wan_mac" 4) ;; sonicfi,rap7110c-341x|\ - sonicfi,rap750e-h) + sonicfi,rap750e-h|\ + sonicfi,rap750e-s) wan_mac=$(cat /sys/class/net/eth0/address) ucidef_set_wireless_macaddr_base 2g $(macaddr_add "$wan_mac" 1) ucidef_set_wireless_macaddr_base 5g $(macaddr_add "$wan_mac" 2) diff --git a/feeds/qca-wifi-7/ipq53xx/base-files/etc/hotplug.d/firmware/10-ath12k-caldata b/feeds/qca-wifi-7/ipq53xx/base-files/etc/hotplug.d/firmware/10-ath12k-caldata index 3442e780d..bf79789b2 100755 --- a/feeds/qca-wifi-7/ipq53xx/base-files/etc/hotplug.d/firmware/10-ath12k-caldata +++ b/feeds/qca-wifi-7/ipq53xx/base-files/etc/hotplug.d/firmware/10-ath12k-caldata @@ -76,6 +76,7 @@ ath12k/IPQ5332/hw1.0/caldata.bin) caldata_extract_mmc "0:ART" 0x1000 0xF800 ;; sonicfi,rap750e-h|\ + sonicfi,rap750e-s|\ sonicfi,rap750w-311a) caldata_extract "0:ART" 0x1000 0xf800 ;; @@ -101,6 +102,7 @@ ath12k/QCN92XX/hw1.0/cal-pci-0001:01:00.0.bin) ath12k/QCN6432/hw1.0/caldata_1.bin) case "$board" in sonicfi,rap750e-h|\ + sonicfi,rap750e-s|\ sonicfi,rap750w-311a) caldata_extract "0:ART" 0x12800 0x18800 ;; diff --git a/feeds/qca-wifi-7/ipq53xx/base-files/lib/upgrade/platform.sh b/feeds/qca-wifi-7/ipq53xx/base-files/lib/upgrade/platform.sh index 8305293a2..2d27922f4 100755 --- a/feeds/qca-wifi-7/ipq53xx/base-files/lib/upgrade/platform.sh +++ b/feeds/qca-wifi-7/ipq53xx/base-files/lib/upgrade/platform.sh @@ -166,6 +166,7 @@ platform_do_upgrade() { emmc_do_upgrade "$1" ;; sonicfi,rap750e-h|\ + sonicfi,rap750e-s|\ sonicfi,rap750w-311a) sonicfi_dualimage_check nand_upgrade_tar "$1" diff --git a/feeds/qca-wifi-7/ipq53xx/dts/ipq5332-sonicfi-rap750e-s.dts b/feeds/qca-wifi-7/ipq53xx/dts/ipq5332-sonicfi-rap750e-s.dts new file mode 100755 index 000000000..bcdf1c929 --- /dev/null +++ b/feeds/qca-wifi-7/ipq53xx/dts/ipq5332-sonicfi-rap750e-s.dts @@ -0,0 +1,687 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) +/* + * IPQ5332 RDP477 board device tree source + * + * Copyright (c) 2020-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; + +#include "ipq5332.dtsi" +#include +#include +#include +#include "ipq5332-default-memory.dtsi" + +/ { + model = "SONICFI RAP750E-S"; + compatible = "sonicfi,rap750e-s","qcom,ipq5332-ap-mi01.3-c2", "qcom,ipq5332"; + +#ifdef __IPQ_MEM_PROFILE_512_MB__ + /* 512M Memory Layout for IPQ5332 + QCN6432 + * +==========+==============+========================+ + * | | | | + * | Region | Start Offset | Size | + * | | | | + * +---------+--------------+-------------------------+ + * | Q6 | | | + * | code/ | 0x4A900000 | 20MB | + * | data | | | + * +---------+--------------+-------------------------+ + * | IPQ5332 | | | + * | data | 0x4BD00000 | 17MB | + * +---------+--------------+-------------------------+ + * | IPQ5332 | | | + * | M3 Dump | 0x4CE00000 | 1MB | + * +---------+--------------+-------------------------+ + * | IPQ5332 | | | + * | QDSS | 0x4CF00000 | 1MB | + * +---------+--------------+-------------------------+ + * |IPQ5332 | | | + * | CALDB | 0x4D000000 | 3MB | + * +---------+--------------+-------------------------+ + * |QCN6432_1| | | + * | data | 0x4D300000 | 16MB | + * +---------+--------------+-------------------------+ + * |QCN6432_1| | | + * | M3 Dump | 0x4E300000 | 1MB | + * +---------+--------------+-------------------------+ + * |QCN6432_1| | | + * | QDSS | 0x4E400000 | 1MB | + * +---------+--------------+-------------------------+ + * |QCN6432_1| | | + * | CALDB | 0x4E500000 | 5MB | + * +---------+--------------+-------------------------+ + * |QCN6432_1| | | + * |MEM_HOLE | 0x4EA00000 | 5MB | + * +---------+--------------+-------------------------+ + * | | | | + * | MLO | 0x4EF00000 | 17MB | + * +==================================================+ + * | | + * | | + * | | + * | Rest of memory for Linux | + * | | + * | | + * | | + * +==================================================+ + */ + + reserved-memory { + + /delete-node/ m3_dump@4cc00000; + /delete-node/ q6_etr_dump@1; + /delete-node/ mlo_global_mem_0@0x4db00000; + /delete-node/ wcnss@4a900000; + /delete-node/ q6_caldb_region@4ce00000; + + q6_mem_regions: q6_mem_regions@4A900000 { + no-map; + reg = <0x0 0x4A900000 0x0 0x4600000>; + }; + + q6_code_data: q6_code_data@4A900000 { + no-map; + reg = <0x0 0x4A900000 0x0 0x1400000>; + }; + + q6_ipq5332_data: q6_ipq5332_data@4BD00000 { + no-map; + reg = <0x0 0x4BD00000 0x0 0x1100000>; + }; + + m3_dump: m3_dump@4CE00000 { + no-map; + reg = <0x0 0x4CE00000 0x0 0x100000>; + }; + + q6_etr_region: q6_etr_dump@4CF00000 { + no-map; + reg = <0x0 0x4CF00000 0x0 0x100000>; + }; + + q6_ipq5332_caldb: q6_ipq5332_caldb@4D000000 { + no-map; + reg = <0x0 0x4D000000 0x0 0x300000>; + }; + + q6_qcn6432_data_1: q6_qcn6432_data_1@4D300000 { + no-map; + reg = <0x0 0x4D300000 0x0 0x1000000>; + }; + + m3_dump_qcn6432_1: m3_dump_qcn6432_1@4E300000 { + no-map; + reg = <0x0 0x4E300000 0x0 0x100000>; + }; + + q6_qcn6432_etr_1: q6_qcn6432_etr_1@4E400000 { + no-map; + reg = <0x0 0x4E400000 0x0 0x100000>; + }; + + q6_qcn6432_caldb_1: q6_qcn6432_caldb_1@4E500000 { + no-map; + reg = <0x0 0x4E500000 0x0 0x500000>; + }; + + mlo_global_mem0: mlo_global_mem_0@4EF00000 { + no-map; + reg = <0x0 0x4EF00000 0x0 0x1100000>; + }; + }; +#else + /* 1G Memory Layout for IPQ5332 + QCN6432 + * +==========+==============+========================+ + * | | | | + * | Region | Start Offset | Size | + * | | | | + * +---------+--------------+-------------------------+ + * | Q6 | | | + * | code/ | 0x4A900000 | 20MB | + * | data | | | + * +---------+--------------+-------------------------+ + * | IPQ5332 | | | + * | data | 0x4BD00000 | 21MB | + * +---------+--------------+-------------------------+ + * | IPQ5332 | | | + * | M3 Dump | 0x4D200000 | 1MB | + * +---------+--------------+-------------------------+ + * | IPQ5332 | | | + * | QDSS | 0x4D300000 | 1MB | + * +---------+--------------+-------------------------+ + * |IPQ5332 | | | + * | CALDB | 0x4D400000 | 5MB | + * +---------+--------------+-------------------------+ + * |QCN6432_1| | | + * | data | 0x4D900000 | 21MB | + * +---------+--------------+-------------------------+ + * |QCN6432_1| | | + * | M3 Dump | 0x4EE00000 | 1MB | + * +---------+--------------+-------------------------+ + * |QCN6432_1| | | + * | QDSS | 0x4EF00000 | 1MB | + * +---------+--------------+-------------------------+ + * |QCN6432_1| | | + * | CALDB | 0x4F000000 | 5MB | + * +---------+--------------+-------------------------+ + * |QCN6432_1| | | + * |MEM_HOLE | 0x4F500000 | 5MB | + * +---------+--------------+-------------------------+ + * | | | | + * | MLO | 0x4FA00000 | 17MB | + * +==================================================+ + * | | + * | | + * | | + * | Rest of memory for Linux | + * | | + * | | + * | | + * +==================================================+ + */ + reserved-memory { + + /delete-node/ m3_dump@4cc00000; + /delete-node/ q6_etr_dump@1; + /delete-node/ mlo_global_mem_0@0x4db00000; + /delete-node/ wcnss@4a900000; + /delete-node/ q6_caldb_region@4ce00000; + + q6_mem_regions: q6_mem_regions@4A900000 { + no-map; + reg = <0x0 0x4A900000 0x0 0x5100000>; + }; + q6_code_data: q6_code_data@4A900000 { + no-map; + reg = <0x0 0x4A900000 0x0 0x1400000>; + }; + q6_ipq5332_data: q6_ipq5332_data@4BD00000 { + no-map; + reg = <0x0 0x4BD00000 0x0 0x1500000>; + }; + 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_ipq5332_caldb: q6_ipq5332_caldb@4D400000 { + no-map; + reg = <0x0 0x4D400000 0x0 0x500000>; + }; + q6_qcn6432_data_1: q6_qcn6432_data_1@4D900000 { + no-map; + reg = <0x0 0x4D900000 0x0 0x1500000>; + }; + m3_dump_qcn6432_1: m3_dump_qcn6432_1@4EE00000 { + no-map; + reg = <0x0 0x4EE00000 0x0 0x100000>; + }; + q6_qcn6432_etr_1: q6_qcn6432_etr_1@4EF00000 { + no-map; + reg = <0x0 0x4EF00000 0x0 0x100000>; + }; + q6_qcn6432_caldb_1: q6_qcn6432_caldb_1@4F000000 { + no-map; + reg = <0x0 0x4F000000 0x0 0x500000>; + }; + mlo_global_mem0: mlo_global_mem_0@4FA00000 { + no-map; + reg = <0x0 0x4FA00000 0x0 0x1100000>; + }; + }; + +#endif + aliases { + serial0 = &blsp1_uart0; + serial1 = &blsp1_uart1; + 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@0 { + mdio:mdio@90000 { + pinctrl-0 = <&mdio1_pins>; + pinctrl-names = "default"; + /*gpio26 for manhattan reset*/ + phy-reset-gpio = <&tlmm 26 GPIO_ACTIVE_LOW>; + status = "okay"; + + phy0: ethernet-phy@0 { + reg = <16>; + }; + }; + + + gpio_keys { + compatible = "gpio-keys"; + pinctrl-0 = <&button_pins>; + pinctrl-names = "default"; + status = "okay"; + + button@1 { + label = "reset"; + linux,code = ; + gpios = <&tlmm 24 GPIO_ACTIVE_LOW>; + linux,input-type = <1>; + debounce-interval = <60>; + }; + }; + + pwmleds { + compatible = "pwm-leds"; + + red { + label = "pwm:red"; + pwms = <&pwm 2 1250000>; + max-brightness = <255>; + linux,default-trigger = "none"; + }; + + green { + label = "pwm:green"; + pwms = <&pwm 3 1250000>; + max-brightness = <255>; + linux,default-trigger = "none"; + }; + + led_power: blue { + label = "pwm:blue"; + pwms = <&pwm 1 1250000>; + max-brightness = <255>; + linux,default-trigger = "none"; + }; + + white { + label = "pwm:white"; + pwms = <&pwm 0 1250000>; + max-brightness = <255>; + linux,default-trigger = "none"; + }; + }; + + ess-instance { + num_devices = <0x1>; + + ess-switch@3a000000 { + switch_cpu_bmp = <0x1>; /* cpu port bitmap */ + switch_lan_bmp = <0x4>; /* lan port bitmap */ + switch_wan_bmp = <0x0>; /* wan port bitmap */ + switch_mac_mode = <0xff>; /* 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@1 { + port_id = <2>; + phy_address = <16>; + }; + }; + }; + }; + + dp1 { + device_type = "network"; + compatible = "qcom,nss-dp"; + qcom,id = <2>; + reg = <0x3a504000 0x4000>; + qcom,mactype = <1>; + local-mac-address = [000000000000]; + mdio-bus = <&mdio>; + qcom,phy-mdio-addr = <16>; + qcom,link-poll = <1>; + phy-mode = "sgmii"; + }; + + /* EDMA host driver configuration for the board */ + edma@3ab00000 { + qcom,txdesc-ring-start = <4>; /* Tx desc ring start ID */ + qcom,txdesc-rings = <12>; /* Total number of Tx desc rings to be provisioned */ + qcom,mht-txdesc-rings = <8>; /* Extra Tx desc rings to be provisioned for MHT SW ports */ + qcom,txcmpl-ring-start = <4>; /* Tx complete ring start ID */ + qcom,txcmpl-rings = <12>; /* Total number of Tx complete rings to be provisioned */ + qcom,mht-txcmpl-rings = <8>; /* Extra Tx complete rings to be provisioned for mht sw ports. */ + qcom,rxfill-ring-start = <4>; /* Rx fill ring start ID */ + qcom,rxfill-rings = <4>; /* Total number of Rx fill rings to be provisioned */ + qcom,rxdesc-ring-start = <12>; /* Rx desc ring start ID */ + qcom,rxdesc-rings = <4>; /* Total number of Rx desc rings to be provisioned */ + qcom,rx-page-mode = <0>; /* Rx fill ring page mode */ + qcom,tx-map-priority-level = <1>; /* Tx priority level per port */ + qcom,rx-map-priority-level = <1>; /* Rx priority level per core */ + qcom,ppeds-num = <2>; /* Number of PPEDS nodes */ + /* PPE-DS node format: */ + qcom,ppeds-map = <1 1 1 1 32 8>, /* PPEDS Node#0 ring and queue map */ + <2 2 2 2 40 8>; /* PPEDS Node#1 ring and queue map */ + qcom,txdesc-map = <8 9 10 11>, /* Port0 per-core Tx ring map */ + <12 13 14 15>, /* MHT-Port1 per-core Tx ring map */ + <4 5 6 7>, /* MHT-Port2 per-core Tx ring map/packets from vp*/ + <16 17 18 19>, /* MHT-Port3 per-core Tx ring map */ + <20 21 22 23>; /* MHT-Port4 per-core Tx ring map */ + qcom,txdesc-fc-grp-map = <1 2 3 4 5>; /* Per GMAC flow control group map */ + qcom,rxfill-map = <4 5 6 7>; /* Per-core Rx fill ring map */ + qcom,rxdesc-map = <12 13 14 15>; /* Per-core Rx desc ring map */ + qcom,rx-queue-start = <0>; /* Rx queue start */ + qcom,rx-ring-queue-map = <0 8 16 24>, /* Priority 0 queues per-core Rx ring map */ + <1 9 17 25>, /* Priority 1 queues per-core Rx ring map */ + <2 10 18 26>, /* Priority 2 queues per-core Rx ring map */ + <3 11 19 27>, /* Priority 3 queues per-core Rx ring map */ + <4 12 20 28>, /* Priority 4 queues per-core Rx ring map */ + <5 13 21 29>, /* Priority 5 queues per-core Rx ring map */ + <6 14 22 30>, /* Priority 6 queues per-core Rx ring map */ + <7 15 23 31>; /* Priority 7 queues per-core Rx ring map */ + interrupts = <0 163 4>, /* Tx complete ring id #4 IRQ info */ + <0 164 4>, /* Tx complete ring id #5 IRQ info */ + <0 165 4>, /* Tx complete ring id #6 IRQ info */ + <0 166 4>, /* Tx complete ring id #7 IRQ info */ + <0 167 4>, /* Tx complete ring id #8 IRQ info */ + <0 168 4>, /* Tx complete ring id #9 IRQ info */ + <0 169 4>, /* Tx complete ring id #10 IRQ info */ + <0 170 4>, /* Tx complete ring id #11 IRQ info */ + <0 171 4>, /* Tx complete ring id #12 IRQ info */ + <0 172 4>, /* Tx complete ring id #13 IRQ info */ + <0 173 4>, /* Tx complete ring id #14 IRQ info */ + <0 174 4>, /* Tx complete ring id #15 IRQ info */ + <0 139 4>, /* Rx desc ring id #12 IRQ info */ + <0 140 4>, /* Rx desc ring id #13 IRQ info */ + <0 141 4>, /* Rx desc ring id #14 IRQ info */ + <0 142 4>, /* Rx desc ring id #15 IRQ info */ + <0 191 4>, /* Misc error IRQ info */ + <0 160 4>, /* PPEDS Node #1(TxComp ring id #1) TxComplete IRQ info */ + <0 128 4>, /* PPEDS Node #1(Rx Desc ring id #1) Rx Desc IRQ info */ + <0 152 4>, /* PPEDS Node #1(RxFill Desc ring id #1) Rx Fill IRQ info */ + <0 161 4>, /* PPEDS Node #2(TxComp ring id #2) TxComplete IRQ info */ + <0 129 4>, /* PPEDS Node #2(Rx Desc ring id #2) Rx Desc IRQ info */ + <0 153 4>, /* PPEDS Node #2(RxFill Desc ring id #2) Rx Fill IRQ info */ + <0 175 4>, /* MHT port Tx complete ring id #16 IRQ info */ + <0 176 4>, /* MHT port Tx complete ring id #17 IRQ info */ + <0 177 4>, /* MHT port Tx complete ring id #18 IRQ info */ + <0 178 4>, /* MHT port Tx complete ring id #19 IRQ info */ + <0 179 4>, /* MHT port Tx complete ring id #20 IRQ info */ + <0 180 4>, /* MHT port Tx complete ring id #21 IRQ info */ + <0 181 4>, /* MHT port Tx complete ring id #22 IRQ info */ + <0 182 4>; /* MHT port Tx complete ring id #23 IRQ info */ + }; + + wsi: wsi { + id = <0>; + num_chip = <2>; + status = "okay"; + chip_info = <0 1 1>, + <1 1 0>; + }; + + q6v5_wcss: remoteproc@d100000 { + boot-args = <0x1 0x4 0x3 0x0 0x26 0x2>; + memory-region = <&q6_mem_regions>; + + q6_wcss_pd1: remoteproc_pd1 { + status = "okay"; + }; + + q6_wcss_pd2: remoteproc_pd2 { + compatible = "qcom,ipq5332-wcss-pcie-mpd"; + firmware = "IPQ5332/q6_fw2.mdt"; + m3_firmware = "qcn6432/iu_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"; + status = "okay"; + }; + }; + }; +}; + +&blsp1_uart0 { + pinctrl-0 = <&serial_0_pins>; + pinctrl-names = "default"; + status = "okay"; +}; +/* +&blsp1_uart1 { + pinctrl-0 = <&serial_1_pins>; + pinctrl-names = "default"; + status = "disabled"; +}; +*/ +&blsp1_i2c1 { + clock-frequency = <400000>; + pinctrl-0 = <&i2c_1_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&blsp1_spi0 { + status = "disabled"; +}; + +&sdhc { + bus-width = <4>; + max-frequency = <192000000>; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + non-removable; + pinctrl-0 = <&sdc_default_state>; + pinctrl-names = "default"; + status = "disabled"; +}; + +&sleep_clk { + clock-frequency = <32000>; +}; + +&xo { + clock-frequency = <24000000>; +}; + +&qpic_bam { + status = "okay"; +}; + +&qpic_nand { + pinctrl-0 = <&qspi_default_state>; + pinctrl-names = "default"; + status = "okay"; + + nandcs@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <1>; + + nand-ecc-strength = <8>; + nand-ecc-step-size = <512>; + nand-bus-width = <8>; + }; +}; + +/* PINCTRL */ + +&tlmm { + qspi_default_state: qspi-default-state { + qspi_clock { + pins = "gpio13"; + function = "qspi_clk"; + drive-strength = <8>; + bias-pull-down; + }; + + qspi_cs { + pins = "gpio12"; + function = "qspi_cs"; + drive-strength = <8>; + bias-pull-up; + }; + + qspi_data { + pins = "gpio8", "gpio9", "gpio10", "gpio11"; + function = "qspi_data"; + drive-strength = <8>; + bias-pull-down; + }; + }; + + pwm_pins: pwm_pinmux { + /* PWM LED GREEN */ + mux_1 { + pins = "gpio43"; + function = "pwm0"; + drive-strength = <8>; + }; + /* PWM LED BLUE */ + mux_2 { + pins = "gpio45"; + function = "pwm0"; + drive-strength = <8>; + }; + /* PWM LED RED */ + mux_3 { + pins = "gpio44"; + function = "pwm0"; + drive-strength = <8>; + }; + /* PWM LED WHITE */ + mux_4 { + pins = "gpio46"; + function = "pwm0"; + drive-strength = <8>; + }; + }; +/* + serial_1_pins: serial1-pinmux { + pins = "gpio33", "gpio34", "gpio35", "gpio36"; + function = "blsp1_uart2"; + drive-strength = <8>; + bias-pull-up; + }; +*/ + i2c_1_pins: i2c-1-state { + pins = "gpio29", "gpio30"; + function = "blsp1_i2c0"; + drive-strength = <8>; + bias-pull-up; + }; +/* + gpio_leds_default: gpio-leds-default-state { + pins = "gpio36"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; +*/ + button_pins: button-state { + pins = "gpio24"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + }; + + sdc_default_state: sdc-default-state { + clk-pins { + pins = "gpio13"; + function = "sdc_clk"; + drive-strength = <8>; + bias-disable; + }; + + cmd-pins { + pins = "gpio12"; + function = "sdc_cmd"; + drive-strength = <8>; + bias-pull-up; + }; + + data-pins { + pins = "gpio8", "gpio9", "gpio10", "gpio11"; + function = "sdc_data"; + drive-strength = <8>; + bias-pull-up; + }; + }; +}; + +&license_manager { + status = "okay"; +}; + +&usb3 { + qcom,select-utmi-as-pipe-clk; + status = "disabled"; +}; + +&pwm { + pinctrl-0 = <&pwm_pins>; + used-pwm-indices = <1>, <1>, <1>, <1>; + pinctrl-names = "default"; + status = "okay"; +}; + +&hs_m31phy_0 { + status = "okay"; +}; + +&wifi0 { + qcom,multipd_arch; + qcom,rproc = <&q6_wcss_pd1>; + qcom,rproc_rpd = <&q6v5_wcss>; + qcom,userpd-subsys-name = "q6v5_wcss_userpd1"; + qcom,bdf-addr = <0x4BD00000 0x4BD00000 0x0 0x0 0x0 0x0>; + qcom,caldb-addr = <0x4D400000 0x4D000000 0x0 0x0 0x0 0x0>; +#ifdef __IPQ_MEM_PROFILE_512_MB__ + qcom,tgt-mem-mode = <1>; + qcom,caldb-size = <0x300000>; +#else + qcom,tgt-mem-mode = <0>; + qcom,caldb-size = <0x500000>; +#endif + qcom,board_id = <0x1b>; + memory-region = <&q6_ipq5332_data>; + qcom,wsi = <&wsi>; + qcom,wsi_index = <0>; + status = "okay"; +}; + +&wifi1 { + qcom,multipd_arch; + qcom,rproc = <&q6_wcss_pd2>; + qcom,rproc_rpd = <&q6v5_wcss>; + qcom,userpd-subsys-name = "q6v5_wcss_userpd2"; + qcom,bdf-addr = <0x4D900000 0x4D300000 0x0 0x0 0x0 0x0>; + qcom,caldb-addr = <0x4F000000 0x4E500000 0x0 0x0 0x0 0x0>; + qcom,umac-irq-reset-addr = <0x20000884>; + qcom,caldb-size = <0x500000>; +#ifdef __IPQ_MEM_PROFILE_512_MB__ + qcom,tgt-mem-mode = <1>; +#else + qcom,tgt-mem-mode = <0>; +#endif + qcom,board_id = <0x060>; + memory-region = <&q6_qcn6432_data_1>; + qcom,wsi = <&wsi>; + qcom,wsi_index = <1>; + status = "okay"; + interrupts = ; + interrupt-names = "umac_reset"; +}; diff --git a/feeds/qca-wifi-7/ipq53xx/image/ipq53xx.mk b/feeds/qca-wifi-7/ipq53xx/image/ipq53xx.mk index 24b4609e8..4cb3ff7b5 100755 --- a/feeds/qca-wifi-7/ipq53xx/image/ipq53xx.mk +++ b/feeds/qca-wifi-7/ipq53xx/image/ipq53xx.mk @@ -79,6 +79,20 @@ define Device/sonicfi_rap750e_h endef TARGET_DEVICES += sonicfi_rap750e_h +define Device/sonicfi_rap750e_s + DEVICE_TITLE := SONICFI RAP750E-S + DEVICE_DTS := ipq5332-sonicfi-rap750e-s + DEVICE_DTS_DIR := ../dts + DEVICE_DTS_CONFIG := config@mi01.3-c2 + SUPPORTED_DEVICES := sonicfi,rap750e-s + IMAGES := sysupgrade.tar nand-factory.bin nand-factory.ubi + IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata + IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand + IMAGE/nand-factory.ubi := append-ubi + DEVICE_PACKAGES := ath12k-wifi-sonicfi-rap750e-s ath12k-firmware-ipq5332-peb -ath12k-firmware-qcn92xx +endef +TARGET_DEVICES += sonicfi_rap750e_s + define Device/sonicfi_rap750w_311a DEVICE_TITLE := SONICFI RAP750W-311A DEVICE_DTS := ipq5332-sonicfi-rap750w-311a diff --git a/profiles/sonicfi_rap750e-s.yml b/profiles/sonicfi_rap750e-s.yml new file mode 100755 index 000000000..9ce58fd76 --- /dev/null +++ b/profiles/sonicfi_rap750e-s.yml @@ -0,0 +1,16 @@ +--- +profile: sonicfi_rap750e_s +target: ipq53xx +subtarget: generic +description: Build image for the SONICFI RAP750E-S +image: bin/targets/ipq53xx/generic/openwrt-ipq53xx-sonicfi_rap750e_s-squashfs-sysupgrade.tar +feeds: + - name: qca + path: ../../feeds/qca-wifi-7 +include: + - ucentral-ap +packages: + - ipq53xx + - qca-ssdk-shell +diffconfig: | + CONFIG_KERNEL_IPQ_MEM_PROFILE=512