Adding OpenWrt support for Xiaomi AX3600 (Part 1)

packet comming, but ping failed and can't capture data by tcpdump.

eth2 Link encap:Ethernet HWaddr 86:89:8E:F8:AF:C0
inet addr:192.168.2.130 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::8489:8eff:fef8:afc0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:15004 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2226363 (2.1 MiB) TX bytes:0 (0.0 B)
Base address:0x1400

Not so good.
Not sure where are the stats counted from.
NO interrupts, NO packets.

13: 0 0 0 0 GIC-0 377 Level edma_txcmpl
14: 0 0 0 0 GIC-0 385 Level edma_rxfill
15: 2 0 0 0 GIC-0 393 Level edma_rxdesc
16: 0 0 0 0 GIC-0 376 Level edma_misc

With the gcc-ipq807x.c and qca-ssdk, qca-nss-dp, NIC works well.

eth2      Link encap:Ethernet  HWaddr 9E:1C:80:07:99:B5
          inet addr:192.168.2.143  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::9c1c:80ff:fe07:99b5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2862 errors:0 dropped:0 overruns:0 frame:0
          TX packets:25 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:445800 (435.3 KiB)  TX bytes:2348 (2.2 KiB)
          Base address:0x1400

root@OpenWrt:/# ping 192.168.2.1
PING 192.168.2.1 (192.168.2.1): 56 data bytes
64 bytes from 192.168.2.1: seq=0 ttl=64 time=0.401 ms
64 bytes from 192.168.2.1: seq=1 ttl=64 time=0.265 ms
^C
--- 192.168.2.1 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.265/0.333/0.401 ms

root@OpenWrt:/# cat /proc/interrupts
           CPU0       CPU1       CPU2       CPU3
  3:       5716       1817       2486       2072     GIC-0  20 Level     arch_timer
  5:          0          0          0          0     GIC-0  39 Level     arch_mem_timer
  8:       1218          0          0          0     GIC-0 340 Level     msm_serial0
  9:          0          0          0          0     GIC-0 270 Level     bam_dma
 11:       6966          0          0          0     GIC-0 178 Level     bam_dma
 13:         43          0          0          0     GIC-0 377 Level     edma_txcmpl
 14:          0          0          0          0     GIC-0 385 Level     edma_rxfill
 15:       3241          0          0          0     GIC-0 393 Level     edma_rxdesc
 16:          0          0          0          0     GIC-0 376 Level     edma_misc
IPI0:       831       1241       1682       1251       Rescheduling interrupts
IPI1:         1        102        103        103       Function call interrupts
IPI2:         0          0          0          0       CPU stop interrupts
IPI3:         0          0          0          0       CPU stop (for crash dump) interrupts
IPI4:         0          0          0          0       Timer broadcast interrupts
IPI5:         0          0          0          0       IRQ work interrupts
IPI6:         0          0          0          0       CPU wake-up interrupts
Err:          0
1 Like

Can you push your changes for that, would be interesting to see.

I replace the whole directory drivers/clk/qcom from qsdk. I'll try to fix the gcc-ipx8074.c then I'll push it.

Ethernet works.(qca-ssdk & qca-nss-dp from qsdk)

https://github.com/gmzhuo/openwrt/commit/f5039c5dc368060d758ea0a7c8ba25cf2437a29c

2 Likes

Amazing work, ill test it out later

Also I have extracted the DTS from the latest FW :

https://pastebin.com/raw/cCYCVXzN

EDIT :

Also if someone could get me the output of cat /sys/kernel/debug/clk/clk_summary from the stock firmware that would be amazing (still hunting the PCIe issues)

root@XiaoQiang:~# cat /sys/kernel/debug/clk/clk_summary
   clock                         enable_cnt  prepare_cnt        rate   accuracy   phase
----------------------------------------------------------------------------------------
 uniphy2_gcc_tx_clk                       1            1   125000000          0 0
    nss_port6_tx_clk_src                  1            1   125000000          0 0
       nss_port6_tx_div_clk_src           2            2   125000000          0 0
          gcc_uniphy2_port6_tx_clk           1            1   125000000          0 0
          gcc_nss_port6_tx_clk            1            1   125000000          0 0
 uniphy2_gcc_rx_clk                       1            1   125000000          0 0
    nss_port6_rx_clk_src                  1            1   125000000          0 0
       nss_port6_rx_div_clk_src           2            2   125000000          0 0
          gcc_uniphy2_port6_rx_clk           1            1   125000000          0 0
          gcc_nss_port6_rx_clk            1            1   125000000          0 0
 uniphy1_gcc_tx_clk                       0            0   125000000          0 0
 uniphy1_gcc_rx_clk                       0            0   125000000          0 0
 uniphy0_gcc_tx_clk                       5            5   125000000          0 0
    nss_port5_tx_clk_src                  1            1   125000000          0 0
       nss_port5_tx_div_clk_src           3            3   125000000          0 0
          gcc_uniphy1_port5_tx_clk           1            1   125000000          0 0
          gcc_uniphy0_port5_tx_clk           1            1   125000000          0 0
          gcc_nss_port5_tx_clk            1            1   125000000          0 0
    nss_port1_tx_clk_src                  1            1   125000000          0 0
       nss_port1_tx_div_clk_src           2            2   125000000          0 0
          gcc_uniphy0_port1_tx_clk           1            1   125000000          0 0
          gcc_nss_port1_tx_clk            1            1   125000000          0 0
    nss_port2_tx_clk_src                  1            1   125000000          0 0
       nss_port2_tx_div_clk_src           2            2   125000000          0 0
          gcc_uniphy0_port2_tx_clk           1            1   125000000          0 0
          gcc_nss_port2_tx_clk            1            1   125000000          0 0
    nss_port3_tx_clk_src                  1            1   125000000          0 0
       nss_port3_tx_div_clk_src           2            2   125000000          0 0
          gcc_uniphy0_port3_tx_clk           1            1   125000000          0 0
          gcc_nss_port3_tx_clk            1            1   125000000          0 0
    nss_port4_tx_clk_src                  1            1   125000000          0 0
       nss_port4_tx_div_clk_src           2            2   125000000          0 0
          gcc_uniphy0_port4_tx_clk           1            1   125000000          0 0
          gcc_nss_port4_tx_clk            1            1   125000000          0 0
 uniphy0_gcc_rx_clk                       5            5   125000000          0 0
    nss_port5_rx_clk_src                  1            1   125000000          0 0
       nss_port5_rx_div_clk_src           3            3   125000000          0 0
          gcc_uniphy1_port5_rx_clk           1            1   125000000          0 0
          gcc_uniphy0_port5_rx_clk           1            1   125000000          0 0
          gcc_nss_port5_rx_clk            1            1   125000000          0 0
    nss_port1_rx_clk_src                  1            1   125000000          0 0
       nss_port1_rx_div_clk_src           2            2   125000000          0 0
          gcc_uniphy0_port1_rx_clk           1            1   125000000          0 0
          gcc_nss_port1_rx_clk            1            1   125000000          0 0
    nss_port2_rx_clk_src                  1            1   125000000          0 0
       nss_port2_rx_div_clk_src           2            2   125000000          0 0
          gcc_uniphy0_port2_rx_clk           1            1   125000000          0 0
          gcc_nss_port2_rx_clk            1            1   125000000          0 0
    nss_port3_rx_clk_src                  1            1   125000000          0 0
       nss_port3_rx_div_clk_src           2            2   125000000          0 0
          gcc_uniphy0_port3_rx_clk           1            1   125000000          0 0
          gcc_nss_port3_rx_clk            1            1   125000000          0 0
    nss_port4_rx_clk_src                  1            1   125000000          0 0
       nss_port4_rx_div_clk_src           2            2   125000000          0 0
          gcc_uniphy0_port4_rx_clk           1            1   125000000          0 0
          gcc_nss_port4_rx_clk            1            1   125000000          0 0
 pcie20_phy0_pipe_clk                     1            1   250000000          0 0
    pcie0_pipe_clk_src                    1            1   250000000          0 0
       gcc_pcie0_pipe_clk                 1            1   250000000          0 0
 usb3phy_1_cc_pipe_clk                    0            0   125000000          0 0
    usb1_pipe_clk_src                     0            0   125000000          0 0
       gcc_usb1_pipe_clk                  0            0   125000000          0 0
 usb3phy_0_cc_pipe_clk                    1            1   125000000          0 0
    usb0_pipe_clk_src                     1            1   125000000          0 0
       gcc_usb0_pipe_clk                  1            1   125000000          0 0
 pcie20_phy1_pipe_clk                     0            0   125000000          0 0
    pcie1_pipe_clk_src                    0            0   125000000          0 0
       gcc_pcie1_pipe_clk                 0            0   125000000          0 0
 bias_pll_nss_noc_clk                     1            1   416500000          0 0
    nss_noc_bfdcd_clk_src                 1            1   416500000          0 0
       nss_noc_clk_src                    6            6   416500000          0 0
          gcc_ubi1_nc_axi_clk             1            1   416500000          0 0
          gcc_ubi0_nc_axi_clk             1            1   416500000          0 0
          gcc_ubi1_axi_clk                1            1   416500000          0 0
          gcc_ubi0_axi_clk                1            1   416500000          0 0
          gcc_nss_noc_clk                 2            2   416500000          0 0
          gcc_mem_noc_nss_axi_clk           2            2   416500000          0 0
 bias_pll_cc_clk                          1            1   300000000          0 0
    nss_ppe_clk_src                      16           16   300000000          0 0
       gcc_port6_mac_clk                  1            1   300000000          0 0
       gcc_port5_mac_clk                  1            1   300000000          0 0
       gcc_port4_mac_clk                  1            1   300000000          0 0
       gcc_port3_mac_clk                  1            1   300000000          0 0
       gcc_port2_mac_clk                  1            1   300000000          0 0
       gcc_port1_mac_clk                  1            1   300000000          0 0
       gcc_nssnoc_ppe_clk                 1            1   300000000          0 0
       gcc_nssnoc_ppe_cfg_clk             1            1   300000000          0 0
       gcc_nss_ppe_ipe_clk                1            1   300000000          0 0
       gcc_nss_ppe_clk                    1            1   300000000          0 0
       gcc_nss_ppe_cfg_clk                1            1   300000000          0 0
       gcc_nss_ppe_btq_clk                1            1   300000000          0 0
       gcc_nss_edma_clk                   1            1   300000000          0 0
       gcc_nss_edma_cfg_clk               1            1   300000000          0 0
       gcc_crypto_ppe_clk                 1            1   300000000          0 0
       nss_ppe_cdiv_clk_src               1            1    75000000          0 0
          gcc_nss_ptp_ref_clk             2            2    75000000          0 0
 xo                                      10           10    19200000          0 0
    apss_pll_early                        1            1  1017600000          0 0
       apcs_alias0_clk_src                1            1  1017600000          0 0
          apcs_alias0_core_clk            1            1  1017600000          0 0
       apss_pll                           0            0  1017600000          0 0
    adss_pwm_clk_src                      0            0    19200000          0 0
       gcc_adss_pwm_clk                   0            0    19200000          0 0
    audio_pll_main                        0            0   722534399          0 0
       audio_pll                          0            0   180633599          0 0
    nss_crypto_pll_main                   1            1  1200000000          0 0
       nss_crypto_pll                     1            1   600000000          0 0
          nss_crypto_clk_src              2            2   600000000          0 0
             gcc_nssnoc_crypto_clk           1            1   600000000          0 0
             gcc_nss_crypto_clk           2            2   600000000          0 0
    gpll2_main                            1            1  1152000000          0 0
       gpll2                              0            0  1152000000          0 0
    gpll4_main                            1            1  1200000000          0 0
       gpll4                              3            3  1200000000          0 0
          qdss_at_clk_src                 1            1   240000000          0 0
             gcc_qdss_at_clk              1            1   240000000          0 0
          qdss_tsctr_clk_src              1            1   600000000          0 0
             qdss_dap_sync_clk_src           1            1   150000000          0 0
                gcc_qdss_dap_clk           1            1   150000000          0 0
          apss_axi_clk_src                1            1   600000000          0 0
             gcc_apss_axi_clk             1            1   600000000          0 0
    gpll6_main                            2            2  1080000000          0 0
       gpll6_out_main_div2                0            0   540000000          0 0
       gpll6                              1            1  1080000000          0 0
          sdcc1_ice_core_clk_src           0            0   308571428          0 0
             gcc_sdcc1_ice_core_clk           0            0   308571428          0 0
          usb1_mock_utmi_clk_src           0            0    20000000          0 0
             gcc_usb1_mock_utmi_clk           0            0    20000000          0 0
          usb0_mock_utmi_clk_src           1            1    20000000          0 0
             gcc_usb0_mock_utmi_clk           1            1    20000000          0 0
    ubi32_pll_main                        1            1  1497600000          0 0
       ubi32_pll                          2            2  1497600000          0 0
          nss_ubi1_clk_src                1            1   748800000          0 0
             nss_ubi1_div_clk_src           1            1   748800000          0 0
                gcc_ubi1_core_clk           5            5   748800000          0 0
          nss_ubi0_clk_src                1            1   748800000          0 0
             nss_ubi0_div_clk_src           1            1   748800000          0 0
                gcc_ubi0_core_clk           5            5   748800000          0 0
    gpll0_main                            2            2   800000000          0 0
       gpll0_out_main_div2                1            1   400000000          0 0
          ubi_mpt_clk_src                 2            2    25000000          0 0
             gcc_ubi1_mpt_clk             1            1    25000000          0 0
             gcc_ubi0_mpt_clk             1            1    25000000          0 0
       gpll0                             10           10   800000000          0 0
          nss_ce_clk_src                  9            9   200000000          0 0
             gcc_ubi1_ahb_clk             1            1   200000000          0 0
             gcc_ubi0_ahb_clk             1            1   200000000          0 0
             gcc_nssnoc_ubi1_ahb_clk           1            1   200000000          0 0
             gcc_nssnoc_ubi0_ahb_clk           1            1   200000000          0 0
             gcc_nssnoc_ce_axi_clk           1            1   200000000          0 0
             gcc_nssnoc_ce_apb_clk           1            1   200000000          0 0
             gcc_nss_csr_clk              1            1   200000000          0 0
             gcc_nss_ce_axi_clk           1            1   200000000          0 0
             gcc_nss_ce_apb_clk           1            1   200000000          0 0
          pcie0_rchng_clk_src             1            1   100000000          0 0
             gcc_pcie0_rchng_clk           1            1   100000000          0 0
          system_noc_bfdcd_clk_src           2            2   266666666          0 0
             system_noc_clk_src           1            1   266666666          0 0
                gcc_nssnoc_snoc_clk           2            2   266666666          0 0
          nss_imem_clk_src                1            1   400000000          0 0
             gcc_nss_imem_clk             2            2   400000000          0 0
          crypto_clk_src                  0            0   160000000          0 0
             gcc_crypto_clk               0            0   160000000          0 0
          blsp1_uart5_apps_clk_src           1            1     3686400          0 0
             gcc_blsp1_uart5_apps_clk           3            3     3686400          0 0
          blsp1_qup6_spi_apps_clk_src           0            0    50000000          0 0
             gcc_blsp1_qup6_spi_apps_clk           0            0    50000000          0 0
          blsp1_qup6_i2c_apps_clk_src           0            0    50000000          0 0
             gcc_blsp1_qup6_i2c_apps_clk           0            0    50000000          0 0
          blsp1_qup5_spi_apps_clk_src           0            0    50000000          0 0
             gcc_blsp1_qup5_spi_apps_clk           0            0    50000000          0 0
          blsp1_qup5_i2c_apps_clk_src           0            0    50000000          0 0
             gcc_blsp1_qup5_i2c_apps_clk           0            0    50000000          0 0
          blsp1_qup4_spi_apps_clk_src           0            0    50000000          0 0
             gcc_blsp1_qup4_spi_apps_clk           0            0    50000000          0 0
          blsp1_qup4_i2c_apps_clk_src           0            0    50000000          0 0
             gcc_blsp1_qup4_i2c_apps_clk           0            0    50000000          0 0
          blsp1_qup3_spi_apps_clk_src           0            0    50000000          0 0
             gcc_blsp1_qup3_spi_apps_clk           0            0    50000000          0 0
          blsp1_qup3_i2c_apps_clk_src           0            0    50000000          0 0
             gcc_blsp1_qup3_i2c_apps_clk           0            0    50000000          0 0
          blsp1_qup2_spi_apps_clk_src           0            0    50000000          0 0
             gcc_blsp1_qup2_spi_apps_clk           0            0    50000000          0 0
          blsp1_qup2_i2c_apps_clk_src           0            0    50000000          0 0
             gcc_blsp1_qup2_i2c_apps_clk           0            0    50000000          0 0
          blsp1_qup1_spi_apps_clk_src           1            1    50000000          0 0
             gcc_blsp1_qup1_spi_apps_clk           1            1    50000000          0 0
          blsp1_qup1_i2c_apps_clk_src           0            0    50000000          0 0
             gcc_blsp1_qup1_i2c_apps_clk           0            0    50000000          0 0
          usb1_master_clk_src             0            0   133333333          0 0
             gcc_sys_noc_usb1_axi_clk           0            0   133333333          0 0
             gcc_snoc_bus_timeout3_ahb_clk           0            0   133333333          0 0
             gcc_usb1_master_clk           0            0   133333333          0 0
          usb0_master_clk_src             3            3   133333333          0 0
             gcc_sys_noc_usb0_axi_clk           1            1   133333333          0 0
             gcc_snoc_bus_timeout2_ahb_clk           1            1   133333333          0 0
             gcc_usb0_master_clk           1            1   133333333          0 0
          pcie1_axi_clk_src               0            0   200000000          0 0
             gcc_sys_noc_pcie1_axi_clk           0            0   200000000          0 0
             gcc_pcie1_axi_s_clk           0            0   200000000          0 0
             gcc_pcie1_axi_m_clk           0            0   200000000          0 0
          pcie0_axi_clk_src               4            4   200000000          0 0
             gcc_pcie0_axi_s_bridge_clk           1            1   200000000          0 0
             gcc_sys_noc_pcie0_axi_clk           1            1   200000000          0 0
             gcc_pcie0_axi_s_clk           1            1   200000000          0 0
             gcc_pcie0_axi_m_clk           1            1   200000000          0 0
          apss_ahb_clk_src                1            1   100000000          0 0
             apss_ahb_postdiv_clk_src           1            1   100000000          0 0
                gcc_apss_ahb_clk           1            1   100000000          0 0
          pcnoc_bfdcd_clk_src             1            1   100000000          0 0
             pcnoc_clk_src               12           13   100000000          0 0
                gcc_dcc_clk               0            0   100000000          0 0
                gcc_cmn_12gpll_ahb_clk           1            1   100000000          0 0
                gcc_usb1_phy_cfg_ahb_clk           0            0   100000000          0 0
                gcc_usb0_phy_cfg_ahb_clk           1            1   100000000          0 0
                gcc_uniphy2_ahb_clk           1            1   100000000          0 0
                gcc_uniphy1_ahb_clk           1            1   100000000          0 0
                gcc_uniphy0_ahb_clk           1            1   100000000          0 0
                gcc_sdcc2_ahb_clk           0            0   100000000          0 0
                gcc_sdcc1_ahb_clk           0            0   100000000          0 0
                gcc_qpic_clk              1            1   100000000          0 0
                gcc_qpic_ahb_clk           1            2   100000000          0 0
                gcc_prng_ahb_clk           1            1   100000000          0 0
                gcc_pcie1_ahb_clk           0            0   100000000          0 0
                gcc_pcie0_ahb_clk           1            1   100000000          0 0
                gcc_nss_cfg_clk           1            1   100000000          0 0
                gcc_mdio_ahb_clk           1            1   100000000          0 0
                gcc_crypto_axi_clk           0            0   100000000          0 0
                gcc_crypto_ahb_clk           0            1   100000000          0 0
                gcc_blsp1_ahb_clk           4            5   100000000          0 0
    gp3_clk_src                           0            0    19200000          0 0
       gcc_gp3_clk                        0            0    19200000          0 0
    gp2_clk_src                           0            0    19200000          0 0
       gcc_gp2_clk                        0            0    19200000          0 0
    gp1_clk_src                           0            0    19200000          0 0
       gcc_gp1_clk                        0            0    19200000          0 0
    usb1_aux_clk_src                      0            0    19200000          0 0
       gcc_usb1_aux_clk                   0            0    19200000          0 0
    usb0_aux_clk_src                      1            1    19200000          0 0
       gcc_usb0_aux_clk                   1            1    19200000          0 0
    sdcc2_apps_clk_src                    0            0    19200000          0 0
       gcc_sdcc2_apps_clk                 0            0    19200000          0 0
    sdcc1_apps_clk_src                    0            0    19200000          0 0
       gcc_sdcc1_apps_clk                 0            0    19200000          0 0
    pcie1_aux_clk_src                     0            0    19200000          0 0
       gcc_pcie1_aux_clk                  0            0    19200000          0 0
    pcie0_aux_clk_src                     1            1    19200000          0 0
       gcc_pcie0_aux_clk                  1            1    19200000          0 0
    blsp1_uart6_apps_clk_src              0            0    19200000          0 0
       gcc_blsp1_uart6_apps_clk           0            0    19200000          0 0
    blsp1_uart4_apps_clk_src              0            0    19200000          0 0
       gcc_blsp1_uart4_apps_clk           0            0    19200000          0 0
    blsp1_uart3_apps_clk_src              0            0    19200000          0 0
       gcc_blsp1_uart3_apps_clk           0            0    19200000          0 0
    blsp1_uart2_apps_clk_src              0            0    19200000          0 0
       gcc_blsp1_uart2_apps_clk           0            0    19200000          0 0
    blsp1_uart1_apps_clk_src              0            0    19200000          0 0
       gcc_blsp1_uart1_apps_clk           0            0    19200000          0 0
    gcc_xo_clk_src                        7            7    19200000          0 0
       gcc_cmn_12gpll_sys_clk             1            1    19200000          0 0
       gcc_uniphy2_sys_clk                1            1    19200000          0 0
       gcc_uniphy1_sys_clk                1            1    19200000          0 0
       gcc_uniphy0_sys_clk                1            1    19200000          0 0
       gcc_nssnoc_qosgen_ref_clk           1            1    19200000          0 0
       gcc_xo_clk                         1            1    19200000          0 0
       gcc_xo_div4_clk_src                1            1     4800000          0 0
          gcc_nssnoc_timeout_ref_clk           1            1     4800000          0 0
 sleep_clk                                2            2       32000          0 0
    gcc_sleep_clk_src                     2            2       32000          0 0
       gcc_usb1_sleep_clk                 0            0       32000          0 0
       gcc_usb0_sleep_clk                 1            1       32000          0 0
root@XiaoQiang:~#

1 Like

Thanks, the clocks do look odd on mainline

OpenWRT

 gcc_pcie0_pipe_clk_src               0        0        0   250000000          0     0  5000
 xo                                   5        5        0    19200000          0     0  50000
    pcie0_pipe_clk_src                0        0        0    19200000          0     0  50000
       gcc_pcie0_pipe_clk             0        0        0    19200000          0     0  50000

Stock

 pcie20_phy0_pipe_clk                     1            1   250000000          0 0
    pcie0_pipe_clk_src                    1            1   250000000          0 0
       gcc_pcie0_pipe_clk                 1            1   250000000          0 0

QSDK

 pcie20_phy0_pipe_clk                     0            0   250000000          0 0  
    pcie0_pipe_clk_src                    0            0   250000000          0 0  
       gcc_pcie0_pipe_clk                 0            0   250000000          0 0  

Failed to start ath11k.

[    8.373500] ath11k c000000.wifi: failed to get rproc
[    8.373531] ath11k c000000.wifi: failed to init core: -22
[    8.377628] ath11k: probe of c000000.wifi failed with error -22

That could well bee the wcss-pil and smp2p definitions, the ipq6018 has them defined in mainline here

https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git/tree/arch/arm64/boot/dts/qcom/ipq6018.dtsi?h=arm64-for-5.9#n370

Also the wcss-pil driver needs the firmware IPQ8074/q6_fw.mdt

Full log message:

root@OpenWrt:/# dmesg
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.4.52 (zgm@zgm-system-ubuntu) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r13926+4-f94b09867d)) #0 SMP PREEMPT Mon Jul 27 02:30:46 2020
[    0.000000] Machine model: AX3600
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] On node 0 totalpages: 109568
[    0.000000]   DMA32 zone: 1712 pages used for memmap
[    0.000000]   DMA32 zone: 0 pages reserved
[    0.000000]   DMA32 zone: 109568 pages, LIFO batch:31
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.0 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.0
[    0.000000] psci: OSI mode supported.
[    0.000000] percpu: Embedded 21 pages/cpu s48408 r8192 d29416 u86016
[    0.000000] pcpu-alloc: s48408 r8192 d29416 u86016 alloc=21*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 107856
[    0.000000] Kernel command line:
[    0.000000] Dentry cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 397688K/438272K available (6908K kernel code, 410K rwdata, 2204K rodata, 12224K init, 272K bss, 40584K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000]  Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] random: get_random_bytes called from start_kernel+0x2ec/0x44c with crng_init=0
[    0.000000] arch_timer: cp15 and mmio timer(s) running at 19.20MHz (virt/virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
[    0.000005] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
[    0.000199] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=76800)
[    0.000212] pid_max: default: 32768 minimum: 301
[    0.000337] Mount-cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
[    0.000349] Mountpoint-cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
[    0.023974] ASID allocator initialised with 32768 entries
[    0.031970] rcu: Hierarchical SRCU implementation.
[    0.040244] EFI services will not be available.
[    0.048009] smp: Bringing up secondary CPUs ...
[    0.080308] Detected VIPT I-cache on CPU1
[    0.080360] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.112338] Detected VIPT I-cache on CPU2
[    0.112372] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.144404] Detected VIPT I-cache on CPU3
[    0.144436] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.144507] smp: Brought up 1 node, 4 CPUs
[    0.144528] SMP: Total of 4 processors activated.
[    0.144536] CPU features: detected: 32-bit EL0 Support
[    0.144544] CPU features: detected: CRC32 instructions
[    0.144588] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.144596] CPU: All CPU(s) started at EL1
[    0.144617] alternatives: patching kernel code
[    0.152553] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.152575] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.152765] pinctrl core: initialized pinctrl subsystem
[    0.153223] DMI not present or invalid.
[    0.153507] NET: Registered protocol family 16
[    0.153810] DMA: preallocated 256 KiB pool for atomic allocations
[    0.156333] cpuidle: using governor ladder
[    0.156359] cpuidle: using governor menu
[    0.156484] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.158027] Soc version 2
[    0.226187] pps_core: LinuxPPS API ver. 1 registered
[    0.226199] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.226216] PTP clock support registered
[    0.226628] Advanced Linux Sound Architecture Driver Initialized.
[    0.227268] clocksource: Switched to clocksource arch_sys_counter
[    0.227891] thermal_sys: Registered thermal governor 'step_wise'
[    0.227894] thermal_sys: Registered thermal governor 'user_space'
[    0.228130] NET: Registered protocol family 2
[    0.228721] tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.228744] TCP established hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.228793] TCP bind hash table entries: 4096 (order: 4, 65536 bytes, linear)
[    0.228870] TCP: Hash tables configured (established 4096 bind 4096)
[    0.228953] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.228977] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.229140] NET: Registered protocol family 1
[    0.229168] PCI: CLS 0 bytes, default 64
[    0.293634] workingset: timestamp_bits=46 max_order=17 bucket_order=0
[    0.298229] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.298239] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.318615] qcom-qmp-phy 84000.phy: fixed freq 250000000
[    0.319361] qcom-qmp-phy 84000.phy: Registered Qcom-QMP phy
[    0.320281] qcom-pcie 20000000.pci: host bridge /soc/pci@20000000 ranges:
[    0.320317] qcom-pcie 20000000.pci:    IO 0x20200000..0x202fffff -> 0x20200000
[    0.320341] qcom-pcie 20000000.pci:   MEM 0x20220000..0x2fffffff -> 0x20220000
[    1.436933] qcom-pcie 20000000.pci: Phy link never came up
[    1.438505] qcom-pcie 20000000.pci: cannot initialize host
[    1.438661] qcom-pcie: probe of 20000000.pci failed with error -110
[    1.441483] msm_serial 78b3000.serial: msm_serial: detected port #0
[    1.441512] msm_serial 78b3000.serial: uartclk = 3686400
[    1.441546] 78b3000.serial: ttyMSM0 at MMIO 0x78b3000 (irq = 8, base_baud = 230400) is a MSM
[    1.441564] msm_serial: console setup on port #0
[    1.981522] printk: console [ttyMSM0] enabled
[    1.986372] msm_serial 78b1000.serial: msm_serial: detected port #1
[    1.990386] msm_serial 78b1000.serial: uartclk = 19200000
[    1.996464] 78b1000.serial: ttyMSM1 at MMIO 0x78b1000 (irq = 10, base_baud = 1200000) is a MSM
[    2.002186] msm_serial: driver initialized
[    2.017075] brd: module loaded
[    2.025350] nand: device found, Manufacturer ID: 0xef, Chip ID: 0xaa
[    2.025379] nand: Winbond W29N02GZ
[    2.030787] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    2.034070] 17 fixed-partitions partitions found on MTD device qcom_nand.0
[    2.041541] Creating 17 MTD partitions on "qcom_nand.0":
[    2.048398] 0x000000000000-0x000000100000 : "0:SBL1"
[    2.055309] 0x000000100000-0x000000200000 : "0:MIBIB"
[    2.060179] 0x000000200000-0x000000500000 : "0:QSEE"
[    2.066797] 0x000000500000-0x000000580000 : "0:DEVCFG"
[    2.069758] 0x000000580000-0x000000600000 : "0:RPM"
[    2.074705] 0x000000600000-0x000000680000 : "0:CDT"
[    2.079490] 0x000000680000-0x000000700000 : "0:APPSBLENV"
[    2.084345] 0x000000700000-0x000000800000 : "0:APPSBL"
[    2.090282] 0x000000800000-0x000000880000 : "0:ART"
[    2.094945] 0x000000880000-0x000000900000 : "bdata"
[    2.099721] 0x000000900000-0x000000980000 : "crash"
[    2.104636] 0x000000980000-0x000000a00000 : "crash_syslog"
[    2.109435] 0x000000a00000-0x000002dc0000 : "rootfs"
[    2.118486] random: fast init done
[    2.143556] mtd: device 12 (rootfs) set to be root filesystem
[    2.143830] mtdsplit: no squashfs found in "rootfs"
[    2.148298] 0x000002dc0000-0x00000adc0000 : "rootfs_1"
[    2.254750] 0x00000adc0000-0x00000cc80000 : "overlay"
[    2.279662] 0x00000cc80000-0x00000cd00000 : "rsvd0"
[    2.280649] 0x00000cd00000-0x00000d600000 : "0:WIFIFW"
[    2.291871] libphy: Fixed MDIO Bus: probed
[    2.503887] qca-mdio 90000.mdio: Could not find phy-reset-gpio
[    2.504010] libphy: qca_mdio: probed
[    2.536823] qca-mdio 90000.mdio: qca-mdio driver was registered
[    2.536942] i2c /dev entries driver
[    2.542208] sdhci: Secure Digital Host Controller Interface driver
[    2.545028] sdhci: Copyright(c) Pierre Ossman
[    2.551271] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.556260] remoteproc remoteproc0: releasing cd00000.q6v5_wcss
[    2.562963] NET: Registered protocol family 10
[    2.567877] Segment Routing with IPv6
[    2.571646] NET: Registered protocol family 17
[    2.575346] 8021q: 802.1Q VLAN Support v1.8
[    2.596893] remoteproc remoteproc0: releasing cd00000.q6v5_wcss
[    2.597574] remoteproc remoteproc0: releasing cd00000.q6v5_wcss
[    2.601930] hctosys: unable to open rtc device (rtc0)
[    2.608216] ------------[ cut here ]------------
[    2.612726] gcc_usb1_master_clk status stuck at 'on'
[    2.612773] WARNING: CPU: 3 PID: 1 at drivers/clk/qcom/clk-branch.c:92 clk_branch_toggle+0x130/0x140
[    2.622368] Modules linked in:
[    2.631475] CPU: 3 PID: 1 Comm: swapper/0 Not tainted 5.4.52 #0
[    2.634341] Hardware name: AX3600 (DT)
[    2.640155] pstate: 60400085 (nZCv daIf +PAN -UAO)
[    2.643977] pc : clk_branch_toggle+0x130/0x140
[    2.648750] lr : clk_branch_toggle+0x130/0x140
[    2.653174] sp : ffffffc01002bca0
[    2.657601] x29: ffffffc01002bca0 x28: 0000000000000000
[    2.660990] x27: 0000000000000000 x26: ffffffc01097047c
[    2.666371] x25: ffffffc010965528 x24: ffffffc0108f2080
[    2.671666] x23: 0000000000000000 x22: ffffffc01043f880
[    2.676961] x21: ffffffc011591ee8 x20: 0000000000000000
[    2.682256] x19: 0000000000000000 x18: 0000000000001800
[    2.687553] x17: 0000000000001400 x16: 0000000000001c00
[    2.692846] x15: 0000000000001000 x14: ffffffc0115ceb12
[    2.698142] x13: 0000000000000000 x12: ffffffc0115ce000
[    2.703438] x11: 0000000000000004 x10: 000000000000000d
[    2.708732] x9 : ffffffc01002bca0 x8 : 6b63757473207375
[    2.714028] x7 : 74617473206b6c63 x6 : ffffffc0115ce1c0
[    2.719322] x5 : 0000000000000000 x4 : 0000000000000000
[    2.724617] x3 : 00000000ffffffff x2 : ffffffc00e9a3000
[    2.729912] x1 : ffffff801e860000 x0 : 0000000000000028
[    2.735208] Call trace:
[    2.740500]  clk_branch_toggle+0x130/0x140
[    2.742672]  clk_branch2_disable+0x18/0x20
[    2.746839]  clk_disable_unused_subtree+0xd0/0x110
[    2.750920]  clk_disable_unused_subtree+0x2c/0x110
[    2.755695]  clk_disable_unused_subtree+0x2c/0x110
[    2.760469]  clk_disable_unused_subtree+0x2c/0x110
[    2.765243]  clk_disable_unused_subtree+0x2c/0x110
[    2.770017]  clk_disable_unused+0x3c/0x120
[    2.774793]  do_one_initcall+0x74/0x1b0
[    2.778871]  kernel_init_freeable+0x190/0x224
[    2.782606]  kernel_init+0x10/0xfc
[    2.787116]  ret_from_fork+0x10/0x18
[    2.790414] ---[ end trace ecce55b6d1fca594 ]---
[    2.794525] ------------[ cut here ]------------
[    2.798748] gcc_usb0_master_clk status stuck at 'on'
[    2.798783] WARNING: CPU: 3 PID: 1 at drivers/clk/qcom/clk-branch.c:92 clk_branch_toggle+0x130/0x140
[    2.808306] Modules linked in:
[    2.817412] CPU: 3 PID: 1 Comm: swapper/0 Tainted: G        W         5.4.52 #0
[    2.820281] Hardware name: AX3600 (DT)
[    2.827482] pstate: 60400085 (nZCv daIf +PAN -UAO)
[    2.831303] pc : clk_branch_toggle+0x130/0x140
[    2.836076] lr : clk_branch_toggle+0x130/0x140
[    2.840500] sp : ffffffc01002bca0
[    2.844926] x29: ffffffc01002bca0 x28: 0000000000000000
[    2.848315] x27: 0000000000000000 x26: ffffffc01097047c
[    2.853698] x25: ffffffc010965528 x24: ffffffc0108f2198
[    2.858993] x23: 0000000000000000 x22: ffffffc01043f880
[    2.864288] x21: ffffffc011592268 x20: 0000000000000000
[    2.869583] x19: 0000000000000000 x18: 0000000000001800
[    2.874878] x17: 0000000000001400 x16: 0000000000001c00
[    2.880173] x15: 0000000000001000 x14: ffffffc0115ceb12
[    2.885468] x13: 0000000000000000 x12: ffffffc0115ce000
[    2.890764] x11: 0000000000000004 x10: 000000000000000d
[    2.896059] x9 : ffffffc01002bca0 x8 : 6b63757473207375
[    2.901354] x7 : 74617473206b6c63 x6 : ffffffc0115ce1c0
[    2.906650] x5 : 0000000000000000 x4 : 0000000000000000
[    2.911944] x3 : 00000000ffffffff x2 : ffffffc00e9a3000
[    2.917240] x1 : ffffff801e860000 x0 : 0000000000000028
[    2.922533] Call trace:
[    2.927825]  clk_branch_toggle+0x130/0x140
[    2.929998]  clk_branch2_disable+0x18/0x20
[    2.934165]  clk_disable_unused_subtree+0xd0/0x110
[    2.938246]  clk_disable_unused_subtree+0x2c/0x110
[    2.943020]  clk_disable_unused_subtree+0x2c/0x110
[    2.947795]  clk_disable_unused_subtree+0x2c/0x110
[    2.952569]  clk_disable_unused_subtree+0x2c/0x110
[    2.957344]  clk_disable_unused+0x3c/0x120
[    2.962117]  do_one_initcall+0x74/0x1b0
[    2.966196]  kernel_init_freeable+0x190/0x224
[    2.969931]  kernel_init+0x10/0xfc
[    2.974443]  ret_from_fork+0x10/0x18
[    2.977740] ---[ end trace ecce55b6d1fca595 ]---
[    2.982084] ALSA device list:
[    2.986086]   No soundcards found.
[    2.996454] Freeing unused kernel memory: 12224K
[    3.007342] Run /init as init process
[    3.033933] init: Console is alive
[    3.039448] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    3.039649] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    3.054602] init: - preinit -
[    3.131106] random: jshn: uninitialized urandom read (4 bytes read)
[    3.139101] random: jshn: uninitialized urandom read (4 bytes read)
[    7.199628] procd: - early -
[    7.724335] procd: - ubus -
[    7.726765] random: ubusd: uninitialized urandom read (4 bytes read)
[    7.774122] random: ubusd: uninitialized urandom read (4 bytes read)
[    7.774314] random: ubusd: uninitialized urandom read (4 bytes read)
[    7.780071] procd: - init -
[    7.905796] kmodloader: loading kernel modules from /etc/modules.d/*
[    7.919330] urngd: v1.0.2 started.
[    7.956429] random: crng init done
[    7.956457] random: 5 urandom warning(s) missed due to ratelimiting
[    7.998007] ssdk_switch_device_num_init[998]:INFO:
[    7.998012] ess-switch dts node number: 1
[    8.001807] ssdk_dt_get_switch_node[836]:INFO:
[    8.001809] ess-switch DT exist!
[    8.010139] ssdk_dt_parse_access_mode[737]:INFO:
[    8.010142] switch_access_mode: local bus
[    8.018115] ssdk_dt_parse_access_mode[750]:INFO:
[    8.018117] switchreg_base_addr: 0x3a000000
[    8.026709] ssdk_dt_parse_access_mode[751]:INFO:
[    8.026712] switchreg_size: 0x1000000
[    8.035461] ssdk_dt_parse_mac_mode[242]:INFO:
[    8.035464] mac mode = 0x0
[    8.043359] ssdk_dt_parse_mac_mode[251]:INFO:
[    8.043361] mac mode1 = 0xff
[    8.050392] ssdk_dt_parse_mac_mode[260]:INFO:
[    8.050394] mac mode2 = 0xff
[    8.057662] ssdk_dt_parse_uniphy[279]:INFO:
[    8.057665] ess-uniphy DT exist!
[    8.064881] ssdk_plat_init start
[    8.068032] clock node goted
[    8.071127] in ssdk_ppe_fixed_clock_init
[    8.074014] find clock cmn_ahb_clk 00000000182037a7
[    8.077998] set rate
[    8.083026] enable
[    8.085216] find clock cmn_sys_clk 00000000e42171b6
[    8.087103] set rate
[    8.092315] enable
[    8.094488] find clock uniphy0_ahb_clk 0000000026c4429a
[    8.096401] set rate
[    8.101957] enable
[    8.104132] find clock uniphy0_sys_clk 00000000fcb98094
[    8.106028] set rate
[    8.111588] enable
[    8.113758] find clock uniphy1_ahb_clk 00000000b10f66d6
[    8.115672] set rate
[    8.121222] enable
[    8.123404] find clock uniphy1_sys_clk 00000000651984dc
[    8.125297] set rate
[    8.130858] enable
[    8.133040] find clock uniphy2_ahb_clk 0000000032a28538
[    8.134934] set rate
[    8.140494] enable
[    8.142668] find clock uniphy2_sys_clk 000000008f65b1d1
[    8.144578] set rate
[    8.150127] enable
[    8.152312] find clock port1_mac_clk 00000000ee2af56a
[    8.154204] set rate
[    8.159513] enable
[    8.161767] find clock port2_mac_clk 000000002e2e0a54
[    8.163674] set rate
[    8.168903] enable
[    8.171229] find clock port3_mac_clk 00000000dd5dc05b
[    8.173137] set rate
[    8.178360] enable
[    8.180701] find clock port4_mac_clk 000000002bc7d661
[    8.182590] set rate
[    8.187823] enable
[    8.190155] find clock port5_mac_clk 000000001e3fa817
[    8.192061] set rate
[    8.197284] enable
[    8.199632] find clock port6_mac_clk 000000004a5c3956
[    8.201513] set rate
[    8.206748] enable
[    8.209088] find clock nss_ppe_clk 000000009a416372
[    8.210975] set rate
[    8.216209] enable
[    8.218367] find clock nss_ppe_cfg_clk 00000000e3af2527
[    8.220272] set rate
[    8.225846] enable
[    8.228015] find clock nssnoc_ppe_clk 000000000edb2e6b
[    8.229898] set rate
[    8.235134] enable
[    8.237564] find clock nssnoc_ppe_cfg_clk 00000000c2210c72
[    8.239457] set rate
[    8.245028] enable
[    8.247459] find clock nss_edma_clk 000000005b39e70d
[    8.249343] set rate
[    8.254579] enable
[    8.256836] find clock nss_edma_cfg_clk 00000000175f2f65
[    8.258718] set rate
[    8.264301] enable
[    8.266548] find clock nss_ppe_ipe_clk 00000000a82eb34f
[    8.268453] set rate
[    8.274023] enable
[    8.276196] find clock nss_ppe_btq_clk 00000000d022dfa5
[    8.278076] set rate
[    8.283664] enable
[    8.285820] find clock gcc_mdio_ahb_clk 000000003d971d35
[    8.287723] set rate
[    8.293273] enable
[    8.295552] find clock gcc_nss_noc_clk 00000000ea8ece1a
[    8.297434] set rate
[    8.303019] enable
[    8.305190] find clock gcc_nssnoc_snoc_clk 00000000f7d496ea
[    8.307069] set rate
[    8.312994] enable
[    8.315162] find clock gcc_mem_noc_nss_axi_clk 00000000154ff39a
[    8.317065] set rate
[    8.323328] enable
[    8.325493] find clock gcc_nss_crypto_clk 00000000ede23705
[    8.327394] set rate
[    8.332958] enable
[    8.335552] ------------[ cut here ]------------
[    8.337278] nss_crypto_pll_main failed to enable!
[    8.342184] WARNING: CPU: 3 PID: 190 at drivers/clk/qcom/clk-alpha-pll.c:183 wait_for_pll+0xbc/0xc8
[    8.346747] Modules linked in: qca_ssdk(+) michael_mic
[    8.355600] CPU: 3 PID: 190 Comm: kmodloader Tainted: G        W         5.4.52 #0
[    8.360806] Hardware name: AX3600 (DT)
[    8.368353] pstate: 60400085 (nZCv daIf +PAN -UAO)
[    8.372089] pc : wait_for_pll+0xbc/0xc8
[    8.376861] lr : wait_for_pll+0xbc/0xc8
[    8.380590] sp : ffffffc011cd36c0
[    8.384410] x29: ffffffc011cd36c0 x28: ffffffc010133dc0
[    8.387886] x27: 0000000000000024 x26: 0000000000000001
[    8.393267] x25: 0000000001000000 x24: ffffffc010919b18
[    8.398564] x23: ffffffc0108f2a50 x22: 0000000000000000
[    8.403858] x21: 0000000080000000 x20: ffffffc011596018
[    8.409154] x19: 0000000000000000 x18: 0000000000000000
[    8.414449] x17: 0000000000000000 x16: 0000000000000000
[    8.419744] x15: ffffffffffffffff x14: ffffffc0115ceb10
[    8.425039] x13: 0000000000000000 x12: ffffffc0115ce000
[    8.430333] x11: 0000000000000004 x10: 000000000000000d
[    8.435630] x9 : ffffffc011cd343c x8 : 0000000000000001
[    8.440925] x7 : 0000000000000000 x6 : 000000000000015a
[    8.446220] x5 : 0000000000000000 x4 : 0000000000000000
[    8.451514] x3 : 00000000ffffffff x2 : ffffffc011576f00
[    8.456810] x1 : ffffff801dbfcb00 x0 : 0000000000000025
[    8.462105] Call trace:
[    8.467398]  wait_for_pll+0xbc/0xc8
[    8.469570]  clk_alpha_pll_enable+0xdc/0x108
[    8.473046]  clk_core_enable+0x64/0xb0
[    8.477555]  clk_core_enable+0x48/0xb0
[    8.481115]  clk_core_enable+0x48/0xb0
[    8.484847]  clk_core_enable+0x48/0xb0
[    8.488580]  clk_core_enable_lock+0x20/0x40
[    8.492312]  clk_enable+0x14/0x28
[    8.497153]  shiva_port_ctrl_init+0x2dc/0x3f4 [qca_ssdk]
[    8.500568]  ssdk_ppe_clock_init+0x2cc/0x13b0 [qca_ssdk]
[    8.505912]  ssdk_plat_init+0x3d8/0x550 [qca_ssdk]
[    8.511194]  init_module+0x27c/0x2000 [qca_ssdk]
[    8.515149]  do_one_initcall+0x74/0x1b0
[    8.519919]  do_init_module+0x50/0x208
[    8.523476]  load_module+0x1bb8/0x2090
[    8.527296]  __do_sys_init_module+0x1ec/0x2f8
[    8.531031]  __arm64_sys_init_module+0x18/0x20
[    8.535458]  el0_svc_common.constprop.2+0x7c/0xe8
[    8.539797]  el0_svc_handler+0x6c/0x88
[    8.544568]  el0_svc+0x8/0xc
[    8.548214] ---[ end trace ecce55b6d1fca596 ]---
[    8.551370] find clock gcc_nss_imem_clk 000000003643a472
[    8.555871] set rate
[    8.561175] enable
[    8.563443] find clock gcc_nss_ptp_ref_clk 000000006eaf39a6
[    8.565316] set rate
[    8.571329] enable
[    8.573385] finish ssdk_ppe_fixed_clock_init
[    8.575308] ppe clock inited
[    8.627280] ppe cmnblk clock inited
[    8.629523] ssdk_ppe_clock_init[473]:INFO:
[    8.629526] ppe and uniphy clock init successfully!
[    8.634020] ssdk_probe[1892]:INFO:
[    8.634022] ess_rst doesn't exist!
[    8.642832] remoteproc remoteproc0: releasing cd00000.q6v5_wcss
[    8.647402] HPPE initializing...
[    8.651514] malibu_phy_api_ops_init[2851]:INFO:
[    8.651517] qca probe malibu phy driver succeeded!
[    8.662668] regi_init[3409]:INFO:
[    8.662671] Initializing HPPE!!
[    8.883307] ssdk_ppe_reset_init[747]:INFO:
[    8.883311] ppe reset successfully!
[    8.889667] qca_hppe_tdm_hw_init[737]:INFO:
[    8.889670] tdm setup num=96
[    8.894188] qca_hppe_portctrl_hw_init[165]:INFO:
[    8.894191] Hawkeye PPE port initializing
[    9.119383] ssdk_switch_register[1631]:INFO:
[    9.119387] Chip version 0x1500
[    9.122726] qca_link_polling_select[1283]:INFO:
[    9.122728] link-polling-required node does not exist
[    9.130099] ssdk_switch_register[1656]:INFO:
[    9.130101] polling is selected
[    9.139648] regi_init[3413]:INFO:
[    9.139651] Initializing HPPE Done!!
[    9.146057] regi_init[3457]:INFO:
[    9.146060] qca-ssdk module init succeeded!
[    9.157737] EDMA ver 1 hw init
[    9.157983] EDMA HW Reset completed succesfully
[    9.160025] Num rings - TxDesc:1 (23-23) TxCmpl:1 (7-7)
[    9.164421] RxDesc:1 (15-15) RxFill:1 (7-7)
[    9.170311] GMAC1(000000008341ce71) Invalid MAC@ - using a6:66:b0:14:8b:0c
[    9.176906] remoteproc remoteproc0: releasing cd00000.q6v5_wcss
[    9.180920] GMAC2(00000000ee838715) Invalid MAC@ - using 62:8c:f2:21:e8:dc
[    9.187527] remoteproc remoteproc0: releasing cd00000.q6v5_wcss
[    9.190949] GMAC3(00000000aff7f989) Invalid MAC@ - using 9a:56:40:c1:db:93
[    9.194432] remoteproc remoteproc0: releasing cd00000.q6v5_wcss
[    9.201841] GMAC4(000000008177f724) Invalid MAC@ - using 12:40:a6:77:47:42
[    9.207462] remoteproc remoteproc0: releasing cd00000.q6v5_wcss
[    9.213342] GMAC5(00000000bdfe7fe8) Invalid MAC@ - using ce:99:03:7e:59:85
[    9.220894] remoteproc remoteproc0: releasing cd00000.q6v5_wcss
[    9.226149] **********************************************************
[    9.233570] remoteproc remoteproc0: releasing cd00000.q6v5_wcss
[    9.237587] * NSS Data Plane driver
[    9.237590] **********************************************************
[    9.259056] Loading modules backported from Linux version v5.8-rc2-0-g48778464bb7d
[    9.260089] Backport generated by backports.git v5.8-rc2-1-0-g7a69429b
[    9.276979] xt_time: kernel timezone is -0000
[    9.326584] PPP generic driver version 2.4.2
[    9.327440] NET: Registered protocol family 24
[    9.349494] ath11k c000000.wifi: failed to get rproc
[    9.349526] ath11k c000000.wifi: failed to init core: -22
[    9.353629] ath11k: probe of c000000.wifi failed with error -22
[    9.362192] kmodloader: done loading kernel modules from /etc/modules.d/*
[   14.162260] nss-dp 3a001000.dp1 eth0: nss_dp_edma: Registering netdev eth0(qcom-id:1) with EDMA
[   14.162303] nss-dp 3a001000.dp1 eth0: netif_napi_add() called with weight 100
[   14.171153] br-lan: port 1(eth0) entered blocking state
[   14.177402] br-lan: port 1(eth0) entered disabled state
[   14.182661] device eth0 entered promiscuous mode
[   14.188963] br-lan: port 1(eth0) entered blocking state
[   14.192179] br-lan: port 1(eth0) entered forwarding state
[   14.203806] nss-dp 3a001200.dp2 eth1: nss_dp_edma: Registering netdev eth1(qcom-id:2) with EDMA
[   15.171563] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[ 1837.934560] nss-dp 3a001400.dp3 eth2: nss_dp_edma: Registering netdev eth2(qcom-id:3) with EDMA
[ 1837.934769] nss-dp 3a001400.dp3 eth2: PHY Link up speed: 1000
[ 1837.943509] IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready

Still failed to start gcc_nss_crypto_clk. But it can be enabled with gcc-ipq807x.c
There are so many different in driver/clk/qcom, so it's not easy to replace gcc-ipq8074.c by gcc-ipq807x.c.

Yeah gcc-ipq807x does some compensation for V1 ipq chips as well as registering the root pcie gen3 clock (in mainline the phy driver does this).

Again looking at the clk_summery on OpenWRT mainline shows the nss crypto clocks looking much more different to what they are on QSDK or Stock

Also tested your changes for eth support, WAN port works and gets an address. However the switch does not seem to be working. [edit, all ports seem to work. just missing the switch / vlan config]

2 Likes

Iv had some some progress with at11k. I have attached is a DTS patch and makefile for the IPQ8074 firmware (didnt get chance to push it), it fixes the q6v5 loading.

DTS Patch

diff --git a/target/linux/ipq807x/config-default b/target/linux/ipq807x/config-default
index b85af2e7d2..258ef56a50 100644
--- a/target/linux/ipq807x/config-default
+++ b/target/linux/ipq807x/config-default
@@ -131,6 +131,8 @@ CONFIG_CLEANCACHE=y
 CONFIG_CLKDEV_LOOKUP=y
 CONFIG_CLONE_BACKWARDS=y
 CONFIG_CLZ_TAB=y
+CONFIG_CMDLINE="ubi.mtd=rootfs root=/dev/ubiblock0_1 rootfstype=squashfs rootwait earlycon debug"
+CONFIG_CMDLINE_FORCE=y
 CONFIG_COMMON_CLK=y
 CONFIG_COMMON_CLK_QCOM=y
 CONFIG_COMMON_CLK_XGENE=y
@@ -376,6 +378,7 @@ CONFIG_IIO=y
 CONFIG_IKCONFIG=y
 CONFIG_IKCONFIG_PROC=y
 CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
+# CONFIG_INITRAMFS_FORCE is not set
 CONFIG_INITRAMFS_SOURCE=""
 # CONFIG_IONIC is not set
 # CONFIG_IPQ_GCC_4019 is not set
@@ -526,6 +529,7 @@ CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
 # CONFIG_PINCTRL_SDM845 is not set
 # CONFIG_PINCTRL_SM8150 is not set
 # CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set
+CONFIG_PLUGIN_HOSTCC="g++"
 CONFIG_PM=y
 # CONFIG_PM8916_WATCHDOG is not set
 CONFIG_PM_CLK=y
@@ -550,9 +554,10 @@ CONFIG_PWM=y
 CONFIG_PWM_SYSFS=y
 CONFIG_QCOM_A53PLL=y
 # CONFIG_QCOM_AOSS_QMP is not set
-# CONFIG_QCOM_APCS_IPC is not set
+CONFIG_QCOM_APCS_IPC=y
 # CONFIG_QCOM_APR is not set
 CONFIG_QCOM_BAM_DMA=y
+# CONFIG_QCOM_CLK_APCS_MSM8916 is not set
 # CONFIG_QCOM_CLK_RPM is not set
 # CONFIG_QCOM_COINCELL is not set
 # CONFIG_QCOM_COMMAND_DB is not set
@@ -589,7 +594,7 @@ CONFIG_QCOM_SYSMON=y
 CONFIG_QCOM_TSENS=y
 CONFIG_QCOM_VADC_COMMON=y
 # CONFIG_QCOM_WCNSS_CTRL is not set
-# CONFIG_QCOM_WCNSS_PIL is not set
+CONFIG_QCOM_WCNSS_PIL=y
 CONFIG_QCOM_WDT=y
 # CONFIG_QCS_GCC_404 is not set
 # CONFIG_QCS_TURING_404 is not set
diff --git a/target/linux/ipq807x/files-5.4/arch/arm64/boot/dts/qcom/ipq8074-ax3600.dts b/target/linux/ipq807x/files-5.4/arch/arm64/boot/dts/qcom/ipq8074-ax3600.dts
index 3aba43194c..a8e106ff37 100644
--- a/target/linux/ipq807x/files-5.4/arch/arm64/boot/dts/qcom/ipq8074-ax3600.dts
+++ b/target/linux/ipq807x/files-5.4/arch/arm64/boot/dts/qcom/ipq8074-ax3600.dts
@@ -24,6 +24,12 @@
 		device_type = "memory";
 		reg = <0x0 0x40000000 0x0 0x20000000>;
 	};
+	
+	tcsr_mutex: hwlock {
+		compatible = "qcom,tcsr-mutex";
+		syscon = <&tcsr_mutex_regs 0 0x80>;
+		#hwlock-cells = <1>;
+	};
 
 	reserved-memory {
                 #address-cells = <2>;
@@ -64,11 +70,18 @@
                         no-map;
                         reg = <0x0 0x4e700000 0x0 0x100000>;
                 };
-				wifi_dump@50500000 {
+
+		wifi_dump@50500000 {
                         no-map;
                         reg = <0x0 0x50500000 0x0 0x200000>;
                 };
         };
+        
+        smem {
+		compatible = "qcom,smem";
+		memory-region = <&smem_region>;
+		hwlocks = <&tcsr_mutex 0>;
+	};
 
 	soc {
 		pinctrl@1000000 {
@@ -122,47 +135,27 @@
 		};
 
 
+		tcsr_mutex_regs: syscon@1905000 {
+			compatible = "syscon";
+			reg = <0x01905000 0x8000>;
+		};
 
 		apcs: syscon@b111000 {
                         compatible = "syscon";
                         reg = <0x0B111000 0x1000>;
                 };
+
 		tcsr_q6_block: syscon@1945000 {
                         compatible = "syscon";
                         reg = <0x1945000 0xE000>;
                 };
-		apcs_glb: mailbox@b111000 {
-                        compatible = "qcom,msm8996-apcs-hmss-global";
-                        qcom,ipc = <&apcs 8 8>;
-
-                        #mbox-cells = <1>;
-                };
-
-		wcss: smp2p-wcss {
-                        compatible = "qcom,smp2p";
-                        qcom,smem = <435>, <428>;
-
-                        interrupt-parent = <&intc>;
-                        interrupts = <0 322 1>;
-
-                        qcom,ipc = <&apcs 8 9>;
-
-                        qcom,local-pid = <0>;
-                        qcom,remote-pid = <1>;
-
-                        wcss_smp2p_out: master-kernel {
-                                qcom,entry-name = "master-kernel";
-                                qcom,smp2p-feature-ssr-ack;
-                                #qcom,smem-state-cells = <1>;
-                        };
 
-                        wcss_smp2p_in: slave-kernel {
-                                qcom,entry-name = "slave-kernel";
+                apcs_glb: mailbox@b111000 {
+			compatible = "qcom,ipq8074-apcs-apps-global";
+			reg = <0x0b111000 0xc>;
 
-                                interrupt-controller;
-                                #interrupt-cells = <2>;
-                        };
-                };
+			#mbox-cells = <1>;
+		};
 
 		serial@78b3000 {
 			status = "ok";
@@ -1089,6 +1082,30 @@
 
 	};
 
+	wcss: smp2p-wcss {
+		compatible = "qcom,smp2p";
+		qcom,smem = <435>, <428>;
+
+		interrupt-parent = <&intc>;
+		interrupts = <GIC_SPI 322 IRQ_TYPE_EDGE_RISING>;
+
+		mboxes = <&apcs_glb 9>;
+
+		qcom,local-pid = <0>;
+		qcom,remote-pid = <1>;
+
+		wcss_smp2p_out: master-kernel {
+			qcom,entry-name = "master-kernel";
+			#qcom,smem-state-cells = <1>;
+		};
+
+		wcss_smp2p_in: slave-kernel {
+			qcom,entry-name = "slave-kernel";
+			interrupt-controller;
+			#interrupt-cells = <2>;
+		};
+	};
+	
 	leds {
 		compatible = "gpio-leds";
 		pinctrl-0 = <&led_pins>;

package/firmware/ath11k-firmware/Makefile

#
# Copyright (C) 2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk

PKG_NAME:=ath11k-firmware
PKG_SOURCE_DATE:=2019-10-03
PKG_SOURCE_VERSION:=master
PKG_RELEASE:=1

PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/kvalo/ath11k-firmware.git

PKG_MAINTAINER:=New Maintainer <maintainer@maintainer.com>

include $(INCLUDE_DIR)/package.mk

define Package/ath11k-firmware-default
  SECTION:=firmware
  CATEGORY:=Firmware
  URL:=$(PKG_SOURCE_URL)
  DEPENDS:=
endef

define Package/ath11k-firmware-ipq8074
$(Package/ath11k-firmware-default)
  TITLE:=ath11k firmware for ipq8074 devices
endef

define Build/Compile

endef

define Package/ath11k-firmware-ipq8074/install
	$(INSTALL_DIR) $(1)/lib/firmware/IPQ8074
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/IPQ8074/hw2.0/2.1.0.1/WLAN.HK.2.1.0.1-01228-QCAHKSWPL_SILICONZ-1/m3_fw.b00 $(1)/lib/firmware/IPQ8074/
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/IPQ8074/hw2.0/2.1.0.1/WLAN.HK.2.1.0.1-01228-QCAHKSWPL_SILICONZ-1/m3_fw.b01 $(1)/lib/firmware/IPQ8074/
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/IPQ8074/hw2.0/2.1.0.1/WLAN.HK.2.1.0.1-01228-QCAHKSWPL_SILICONZ-1/m3_fw.b02 $(1)/lib/firmware/IPQ8074/
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/IPQ8074/hw2.0/2.1.0.1/WLAN.HK.2.1.0.1-01228-QCAHKSWPL_SILICONZ-1/m3_fw.flist $(1)/lib/firmware/IPQ8074/
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/IPQ8074/hw2.0/2.1.0.1/WLAN.HK.2.1.0.1-01228-QCAHKSWPL_SILICONZ-1/m3_fw.mdt $(1)/lib/firmware/IPQ8074/
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/IPQ8074/hw2.0/2.1.0.1/WLAN.HK.2.1.0.1-01228-QCAHKSWPL_SILICONZ-1/q6_fw.b00 $(1)/lib/firmware/IPQ8074/
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/IPQ8074/hw2.0/2.1.0.1/WLAN.HK.2.1.0.1-01228-QCAHKSWPL_SILICONZ-1/q6_fw.b01 $(1)/lib/firmware/IPQ8074/
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/IPQ8074/hw2.0/2.1.0.1/WLAN.HK.2.1.0.1-01228-QCAHKSWPL_SILICONZ-1/q6_fw.b02 $(1)/lib/firmware/IPQ8074/
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/IPQ8074/hw2.0/2.1.0.1/WLAN.HK.2.1.0.1-01228-QCAHKSWPL_SILICONZ-1/q6_fw.b03 $(1)/lib/firmware/IPQ8074/
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/IPQ8074/hw2.0/2.1.0.1/WLAN.HK.2.1.0.1-01228-QCAHKSWPL_SILICONZ-1/q6_fw.b04 $(1)/lib/firmware/IPQ8074/
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/IPQ8074/hw2.0/2.1.0.1/WLAN.HK.2.1.0.1-01228-QCAHKSWPL_SILICONZ-1/q6_fw.b05 $(1)/lib/firmware/IPQ8074/
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/IPQ8074/hw2.0/2.1.0.1/WLAN.HK.2.1.0.1-01228-QCAHKSWPL_SILICONZ-1/q6_fw.b07 $(1)/lib/firmware/IPQ8074/
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/IPQ8074/hw2.0/2.1.0.1/WLAN.HK.2.1.0.1-01228-QCAHKSWPL_SILICONZ-1/q6_fw.b08 $(1)/lib/firmware/IPQ8074/
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/IPQ8074/hw2.0/2.1.0.1/WLAN.HK.2.1.0.1-01228-QCAHKSWPL_SILICONZ-1/q6_fw.flist $(1)/lib/firmware/IPQ8074/
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/IPQ8074/hw2.0/2.1.0.1/WLAN.HK.2.1.0.1-01228-QCAHKSWPL_SILICONZ-1/q6_fw.mdt $(1)/lib/firmware/IPQ8074/
endef


$(eval $(call BuildPackage,ath11k-firmware-ipq8074))

Q6V5 Logs

[    2.345209] q6v5_wcss_probe ++
[    2.345406] qcom_q6v5_init
[    2.351306] remoteproc remoteproc0: cd00000.q6v5_wcss is available
[    2.356465] remoteproc remoteproc0: powering up cd00000.q6v5_wcss
[    2.362501] rproc_fw_boot ++
[    2.363095] NET: Registered protocol family 10
[    2.368636] remoteproc remoteproc0: Booting fw image IPQ8074/q6_fw.mdt, size 668
[    2.368641] rproc_fw_boot : fw loaded ++
[    2.377780] Segment Routing with IPv6
[    2.387433] NET: Registered protocol family 17
[    2.391023] 8021q: 802.1Q VLAN Support v1.8
[    2.411806] ubi0: attaching mtd12
[    2.492160] remoteproc remoteproc0: remote processor cd00000.q6v5_wcss is now up

New ath11k error

[    8.346526] ath11k c000000.wifi: can't request region for resource [mem 0x0c000000-0x0dffffff]
[    8.346564] ath11k c000000.wifi: ioremap error
[    8.354065] ath11k: probe of c000000.wifi failed with error -16

More progress after moving the ipq8074 device up in memory and enabling the QRTR IPC driver

New ipq8074 wifi range

		wifi0: wifi@D000000 {
			compatible = "qcom,ipq8074-wifi";
			reg = <0xD000000 0x2000000>;

Not totally sure how that affects things, now ath11k is loaded but seem non operational

We probably need https://patchwork.kernel.org/cover/11144493/ applied to load the m3 firmware, if anyone wants to try before I get the chance tomorrow

3 Likes

Thanks. I got SSH access. Do you if we upgrade to latest firmware and still retain SSH ?

No, you loose SSH Access when upgrading Firmware.
Workaround: Patch Firmware with https://github.com/geekman/xqrepack

1 Like

Thanks. This worked. I successfully uploaded to 67 version and still have SSH access.

1 Like