Hi
I struggle with my external QSPI flash and power consumption of our custom board (at least I think that would be the problem with too high idle power consumption). We use W25Q512 flash and the device works with this overlay:
&qspi { status = "okay"; pinctrl-0 = <&qspi_default>; pinctrl-1 = <&qspi_sleep>; pinctrl-names = "default", "sleep"; w25q512: w25q512_0@0 { compatible = "nordic,qspi-nor"; reg = <0>; sck-frequency = <133000000>; jedec-id = [ef 40 20]; readoc = "read4o"; writeoc = "pp4o"; size = <DT_SIZE_M(512)>; //512Mb has-dpd; t-enter-dpd = <3000>; t-exit-dpd = <3000>;
We optimized our code to go sleep after some measurements (it's a battery powered sensor device), but I see still 2..3 mA current draw. I almost scrapped one board searching where the power goes and last thing (ofcourse NRF52840 too) on the board was flash chip -- the current draw with flash chip was 1.9 mA and when I removed the chip, fall the power consumption in idle mode to 30..35 uA.
I tried pm_device_action(flash_dev, PM_DEVICE_ACTION_SUSPEND), errata 122 fix (*(volatile uint32_t *)0x40029010ul = 1ul; *(volatile uint32_t *)0x40029054ul = 1ul;) and nrfx_qspi_uninit(); but the power consumption did not change at all after them.
Can I do something else with my flash or maybe has someone used the same chip and knows a bit more about that?
SDK, we use, is NRFConnect 2.6.0
Tiit