NHS2x34_Init() hangs indefinitely waiting for the NHS2634's interrupt pin to go high. I'd like help determining whether this points to a hardware issue, a power-sequencing issue, or a firmware configuration problem.
Sequence of events:
1. NHS2634_HOSTIF_InitSpiAndInterrupt() runs and returns success.
2. NHS2x34_PMC_ResetAFE() is called. This issues an SPI write to the PMC control register (setting the AFE reset bit). It returns success (status = 0).
3. The code then waits in the following loop, expecting the chip to assert its interrupt pin high once it is ready to accept further SPI commands. This loop never exits.
while (!NHS2634_HOSTIF_GetInterruptPinLevel()) { }
Diagnostics already run:
1. Confirmed via SEGGER RTT logging that the loop is genuinely spinning (a live poll counter increments continuously into the tens of millions), not frozen or crashed. The CPU is alive and actively re-checking the pin.
2. Attached a debugger (J-Link/GDB) and halted mid-loop twice. The program counter was inside NHS2634_HOSTIF_GetInterruptPinLevel() calling GPIO_PinRead() both times, consistent with active polling.
3. Read back the PMC control register immediately after writing it. Expected a non-zero pattern reflecting the reset bit plus the write-protection byte just sent, but got back 0x00000000.
4. Ran a raw SPI loopback test (shorting MOSI to MISO directly on the sensor connector, with the NHS2634 module fully disconnected). Still got 0x00000000 back on a distinctive test pattern, instead of an echo of the transmitted bytes.
5. Repeated all of the above with the NHS2634 module completely unplugged. Results were identical to when it is connected.
What I am trying to determine:
I am using the official NXP-provided SDK and have not modified the driver code. I need to determine whether this is a hardware issue, a power-sequencing issue, or a firmware configuration issue on my side, and whether this looks like a hardware fault specific to my unit.
Any guidance on where to look next would be appreciated.