I am designing a board that uses the WINC1500 as the WiFi module. I have written the bsp and bus_wrapper functions needed for interfacing with the SMT32F4xx. Quite a bit seems to be working in that after enabling debug printing I see the chip ID was read correctly. However the 'chip_apply_conf' function never returns. It is called by 'wait_for_bootrom'.
Debugging this I see it is looping in the following code:
val32 |= rHAVE_RESERVED1_BIT; do { nm_write_reg(rNMI_GP_REG_1, val32); if(val32 != 0) { uint32 reg = 0; ret = nm_read_reg_with_ret(rNMI_GP_REG_1, ®); if(ret == M2M_SUCCESS) { if(reg == val32) break; } } else { break; } } while(1);
It loops because the value of val32 is 0x102 while the value read from the chip (reg) is 0x182.
I don't seem to be able to find the register descriptions to work out what is going on. Anyone have a link to a datasheet describing this, or know what is failing.
Many thanks,
Sid