QCN9074 dts changes on IPQ8074 QSDK 12.5

Iam working on IPQ8072A board with QSDK 12.5 chipcode, I successfully compiled 12.5QSDK against my IPQ8072A platform in my Ubuntu 22 setup. But wile loading it in my IPQ8072A, I am getting below crash,
wlan: [3642:I:ANY] =======ol_if_register_wifi3_0==========
[ 15.697956]
[ 15.697994] wlan: [3642:I:ANY] osif_nss_register_module: NSS wifi ops registered for target_type:1 with soc_ops:0000000025d891dd
[ 15.704797] remoteproc remoteproc1: powering up QCN9000_PCI0
[ 15.716672] remoteproc remoteproc1: Direct firmware load for qcn9000/amss.bin failed with error -2
[ 15.722210] remoteproc remoteproc1: Falling back to sysfs fallback for: qcn9000/amss.bin
[ 15.752481] remoteproc remoteproc1: request_firmware failed: -12
[ 15.752510] cnss[27]: ERR: cnss_register_subsys: Failed to boot device QCN9000_PCI0 (-12)
[ 15.757607] qmi_history_index [127]
[ 15.765624] cnss[27]: ERR: ASSERT at line 5868
[ 15.769061] ------------[ cut here ]------------
[ 15.773428] kernel BUG at target-aarch64/linux-ipq807x_generic/qca-cnss-g347ed75/main.c:5868!
############ END ###########

DTS file

ipq8074-hk09.dts

// 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 = "Qualcomm Technologies, Inc. IPQ8074/AP-HK09";
	compatible = "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";
		ethernet2 = "/soc/dp3";
		ethernet3 = "/soc/dp4";
		ethernet4 = "/soc/dp5";
		ethernet5 = "/soc/dp6";
	};

	chosen {
		stdout-path = "serial0";
	};

	soc {
		pinctrl@1000000 {
			button_pins: button_pins {
				wps_button {
					pins = "gpio34";
					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 {
				led_2g {
					pins = "gpio42";
					function = "gpio";
					drive-strength = <8>;
					bias-pull-down;
				};

				led_5g {
					pins = "gpio43";
					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 = <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 = <24>;
			phy-mode = "sgmii";
		};

		dp6 {
			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 = "wps";
				linux,code = <KEY_WPS_BUTTON>;
				gpios = <&tlmm 34 GPIO_ACTIVE_LOW>;
				linux,input-type = <1>;
				debounce-interval = <60>;
			};
		};

		leds {
			compatible = "gpio-leds";
			pinctrl-0 = <&led_pins>;
			pinctrl-names = "default";

			led_2g {
				label = "led_2g";
				gpio = <&tlmm 42 GPIO_ACTIVE_HIGH>;
				default-state = "off";
			};

			led_5g {
				label = "led_5g";
				gpio = <&tlmm 43 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";
				};
			};
		};

		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>;
		};
	};
};

I think my default DTS file won't work for this radio,
I request changes to make this radio work.
Thank you in advance

It appears you are using firmware that is not from the official OpenWrt project.

When using forks/offshoots/vendor-specific builds that are "based on OpenWrt", there may be many differences compared to the official versions (hosted by OpenWrt.org). Some of these customizations may fundamentally change the way that OpenWrt works. You might need help from people with specific/specialized knowledge about the firmware you are using, so it is possible that advice you get here may not be useful.

You may find that the best options are:

  1. Install an official version of OpenWrt, if your device is supported (see https://firmware-selector.openwrt.org).
  2. Ask for help from the maintainer(s) or user community of the specific firmware that you are using.
  3. Provide the source code for the firmware so that users on this forum can understand how your firmware works (OpenWrt forum users are volunteers, so somebody might look at the code if they have time and are interested in your issue).

If you believe that this specific issue is common to generic/official OpenWrt and/or the maintainers of your build have indicated as such, please feel free to clarify.

Offering a bounty might also be a good incentive ?

that's for OP to decide/offer, not me :slight_smile:

Thank you for the reply.