nRF7002 Init hang

I have a custom board that consists of a nRF52840 and a nRF7002 WiFi companion chip, connected via SPI. (not QSPI)

I wrote a tiny test program that configures the nRF7002 connection and pins, but does not interact with it in the event loop. I had a few errors related to SPI initialization because of wrong pin mappings, but fixed all of those.

However, now the only log output I receive is this:

[00:00:00.003,662] <inf> wifi_nrf_bus: SPIM spi@40004000: freq = 8 MHz
[00:00:00.003,692] <inf> wifi_nrf_bus: SPIM spi@40004000: latency = 0

It appears to never reach the event loop and hang at this point. What is a good next step to debug this and/or what other information can I provide?

I am fairly new to the Nordic ecosystem and am stuck here.

Thanks!

Parents
  • Hi,

    Have you commisioned the board? Ie. mainly written to the OTP?

    To make sure things are connected correctly, you could also try the bustest at /tests/boards/nrf/nrf70/bustest in the SDK.

    Regards,

    Elfving

  • Thank you and sorry for the delay, I just returned from a business trip. The board is not commissioned yet, but I know that this will need to happen before I can fully use it.

    I was able to find an issue with reverse IOVDD and BUCKEN polarity. I am now making it much further in the nRF7002 init:

    ```
    [00:00:00.001,434] <dbg> wifi_nrf_bus: rpu_gpio_config: GPIO configuration done...
    [00:00:00.003,662] <dbg> wifi_nrf_bus: rpu_pwron: Bucken = 1, IOVDD = 1
    [00:00:00.003,723] <inf> wifi_nrf_bus: SPIM spi@40004000: freq = 8 MHz
    [00:00:00.003,753] <inf> wifi_nrf_bus: SPIM spi@40004000: latency = 0
    [00:00:00.003,814] <dbg> wifi_nrf_bus: rpu_wrsr2: Written 0x1 to WRSR2
    [00:00:00.003,936] <dbg> wifi_nrf_bus: spim_read_reg: err: 0 -> 0 0 0 0 0 0
    [00:00:00.003,936] <dbg> wifi_nrf_bus: spim_wait_while_rpu_wake_write: RDSR2 = 0x0
    [00:00:00.005,157] <dbg> wifi_nrf_bus: spim_read_reg: err: 0 -> 0 0 0 0 0 0
    [00:00:00.005,157] <dbg> wifi_nrf_bus: spim_wait_while_rpu_wake_write: RDSR2 = 0x0
    [00:00:00.006,378] <dbg> wifi_nrf_bus: spim_read_reg: err: 0 -> 0 0 0 0 0 0
    [00:00:00.006,378] <dbg> wifi_nrf_bus: spim_wait_while_rpu_wake_write: RDSR2 = 0x0
    [00:00:00.007,659] <dbg> wifi_nrf_bus: spim_read_reg: err: 0 -> 0 0 0 0 0 0

    ```

    It is reaching my event loop after this. Interestingly, trying to read RDSR instead of RDSR2, I am seeing good results:

    ```
    [00:00:52.795,867] <inf> n70probe: RDSR=0x42
    [00:00:52.895,996] <inf> n70probe: RDSR=0x42
    [00:00:52.996,124] <inf> n70probe: RDSR=0x42
    [00:00:53.096,252] <inf> n70probe: RDSR=0x42

    ```

Reply
  • Thank you and sorry for the delay, I just returned from a business trip. The board is not commissioned yet, but I know that this will need to happen before I can fully use it.

    I was able to find an issue with reverse IOVDD and BUCKEN polarity. I am now making it much further in the nRF7002 init:

    ```
    [00:00:00.001,434] <dbg> wifi_nrf_bus: rpu_gpio_config: GPIO configuration done...
    [00:00:00.003,662] <dbg> wifi_nrf_bus: rpu_pwron: Bucken = 1, IOVDD = 1
    [00:00:00.003,723] <inf> wifi_nrf_bus: SPIM spi@40004000: freq = 8 MHz
    [00:00:00.003,753] <inf> wifi_nrf_bus: SPIM spi@40004000: latency = 0
    [00:00:00.003,814] <dbg> wifi_nrf_bus: rpu_wrsr2: Written 0x1 to WRSR2
    [00:00:00.003,936] <dbg> wifi_nrf_bus: spim_read_reg: err: 0 -> 0 0 0 0 0 0
    [00:00:00.003,936] <dbg> wifi_nrf_bus: spim_wait_while_rpu_wake_write: RDSR2 = 0x0
    [00:00:00.005,157] <dbg> wifi_nrf_bus: spim_read_reg: err: 0 -> 0 0 0 0 0 0
    [00:00:00.005,157] <dbg> wifi_nrf_bus: spim_wait_while_rpu_wake_write: RDSR2 = 0x0
    [00:00:00.006,378] <dbg> wifi_nrf_bus: spim_read_reg: err: 0 -> 0 0 0 0 0 0
    [00:00:00.006,378] <dbg> wifi_nrf_bus: spim_wait_while_rpu_wake_write: RDSR2 = 0x0
    [00:00:00.007,659] <dbg> wifi_nrf_bus: spim_read_reg: err: 0 -> 0 0 0 0 0 0

    ```

    It is reaching my event loop after this. Interestingly, trying to read RDSR instead of RDSR2, I am seeing good results:

    ```
    [00:00:52.795,867] <inf> n70probe: RDSR=0x42
    [00:00:52.895,996] <inf> n70probe: RDSR=0x42
    [00:00:52.996,124] <inf> n70probe: RDSR=0x42
    [00:00:53.096,252] <inf> n70probe: RDSR=0x42

    ```

Children
Related