From eb66feb5c5706cb3d1d8d4723355fc042c7c93b5 Mon Sep 17 00:00:00 2001 From: Wingate Chi Date: Fri, 25 Apr 2025 07:25:03 +0000 Subject: [PATCH] qca-wifi-7: Support Sonicfi RAP750E-H Fixes: WIFI-14563 Signed-off-by: Wingate Chi --- .github/workflows/build-dev.yml | 2 +- feeds/qca-wifi-7/ath12k-wifi/Makefile | 15 + .../ath12k-wifi/board-2.bin.rap750e_h.IPQ5332 | Bin 0 -> 89292 bytes .../ath12k-wifi/board-2.bin.rap750e_h.QCN6432 | Bin 0 -> 126156 bytes .../ipq53xx/base-files/etc/board.d/01_leds | 1 + .../ipq53xx/base-files/etc/board.d/02_network | 9 +- .../etc/hotplug.d/firmware/10-ath12k-caldata | 4 +- .../base-files/lib/upgrade/platform.sh | 3 +- .../ipq53xx/dts/ipq5332-sonicfi-rap750e-h.dts | 687 ++++++++++++++++++ feeds/qca-wifi-7/ipq53xx/image/ipq53xx.mk | 14 + profiles/sonicfi_rap750e-h.yml | 16 + 11 files changed, 745 insertions(+), 6 deletions(-) create mode 100755 feeds/qca-wifi-7/ath12k-wifi/board-2.bin.rap750e_h.IPQ5332 create mode 100755 feeds/qca-wifi-7/ath12k-wifi/board-2.bin.rap750e_h.QCN6432 create mode 100755 feeds/qca-wifi-7/ipq53xx/dts/ipq5332-sonicfi-rap750e-h.dts create mode 100755 profiles/sonicfi_rap750e-h.yml diff --git a/.github/workflows/build-dev.yml b/.github/workflows/build-dev.yml index 6a76d484f..f7549d09d 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_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' ] + 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' ] steps: - uses: actions/checkout@v3 diff --git a/feeds/qca-wifi-7/ath12k-wifi/Makefile b/feeds/qca-wifi-7/ath12k-wifi/Makefile index 0f82c0e00..e5c861595 100755 --- a/feeds/qca-wifi-7/ath12k-wifi/Makefile +++ b/feeds/qca-wifi-7/ath12k-wifi/Makefile @@ -48,6 +48,11 @@ $(call Package/ath12k-wifi-default) TITLE:=board-2.bin for RAP7710c_341x endef +define Package/ath12k-wifi-sonicfi-rap750e-h +$(call Package/ath12k-wifi-default) + TITLE:=board-2.bin for RAP750e_h +endef + define Package/ath12k-wifi-sonicfi-rap750w-311a $(call Package/ath12k-wifi-default) TITLE:=board-2.bin for RAP750W_311a @@ -95,6 +100,15 @@ define Package/ath12k-wifi-sonicfi-rap7110c-341x/install $(INSTALL_DATA) ./board-2.bin.rap7110c_341x.IPQ5332 $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin endef +define Package/ath12k-wifi-sonicfi-rap750e-h/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_h.IPQ5332 $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin + $(INSTALL_DATA) ./board-2.bin.rap750e_h.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/ @@ -138,6 +152,7 @@ endef $(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-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_h.IPQ5332 b/feeds/qca-wifi-7/ath12k-wifi/board-2.bin.rap750e_h.IPQ5332 new file mode 100755 index 0000000000000000000000000000000000000000..3a02dc3c09463b2f8a94e1421b27f90825d39c09 GIT binary patch literal 89292 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

p)*<-}wMzv4`UzX?u@|TuUEF+V9g!w- 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 literal 0 HcmV?d00001 diff --git a/feeds/qca-wifi-7/ath12k-wifi/board-2.bin.rap750e_h.QCN6432 b/feeds/qca-wifi-7/ath12k-wifi/board-2.bin.rap750e_h.QCN6432 new file mode 100755 index 0000000000000000000000000000000000000000..f0b74618748a7eb543591f56df2ad8f3c96ad94a GIT binary patch literal 126156 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 +#include +#include +#include "ipq5332-default-memory.dtsi" + +/ { + model = "SONICFI RAP750E-H"; + compatible = "sonicfi,rap750e-h","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 346e0624b..7590bdc70 100755 --- a/feeds/qca-wifi-7/ipq53xx/image/ipq53xx.mk +++ b/feeds/qca-wifi-7/ipq53xx/image/ipq53xx.mk @@ -65,6 +65,20 @@ define Device/sonicfi_rap7110c_341x endef TARGET_DEVICES += sonicfi_rap7110c_341x +define Device/sonicfi_rap750e_h + DEVICE_TITLE := SONICFI RAP750E-H + DEVICE_DTS := ipq5332-sonicfi-rap750e-h + DEVICE_DTS_DIR := ../dts + DEVICE_DTS_CONFIG := config@mi01.3-c2 + SUPPORTED_DEVICES := sonicfi,rap750e-h + 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-h ath12k-firmware-ipq5332-peb -ath12k-firmware-qcn92xx +endef +TARGET_DEVICES += sonicfi_rap750e_h + define Device/sonicfi_rap750w_311a DEVICE_TITLE := SONICFI RAP750W-311A DEVICE_DTS := ipq5332-sonicfi-rap750w-311a diff --git a/profiles/sonicfi_rap750e-h.yml b/profiles/sonicfi_rap750e-h.yml new file mode 100755 index 000000000..ea038322e --- /dev/null +++ b/profiles/sonicfi_rap750e-h.yml @@ -0,0 +1,16 @@ +--- +profile: sonicfi_rap750e_h +target: ipq53xx +subtarget: generic +description: Build image for the SONICFI RAP750E-H +image: bin/targets/ipq53xx/generic/openwrt-ipq53xx-sonicfi_rap750e_h-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 \ No newline at end of file