High Current Consumption (6.3mA) in System OFF with SQSPI Enabled on nRF54L15

Hi nordic team,
I have tried enabling SQSPI on the system off sample, but the power consumption jumped to 6.3mA in system off mode; I tried to disable the cpulfpr core but couldn't find anything, so I have attached my sample code with system off and sqspi enabled to help identify why the current remains so high.
Regards,

1581.system_off.zip

Parents Reply
  • You can also search around for "floating inputs" - this will cause excessive current consumption in your custom board unless properly addressed.

    I had a thought that the higher current might be caused by GND1 floating during System OFF.

    To test this, I performed the following:

    1. Removed the external flash, after which the current dropped to ~0.6 mA.

    2. After that, I removed all 3.3 V components that could potentially create a path to GND to simulate the System OFF condition without the possibility of GND1 floating. The current consumption remained ~0.6 mA.

      Note: in both cases I shorted both GND planes (GND and GND1) 
Children
  • Hi,

     

    Q1: Is this replicable on other boards, including a nRF54L15-DK?

    Q2: Can you share how you setup the pull for the different GPIOs, ie. an updated version of your system_off sample?

    Kind regards,

    Håkon

  • Hi,
    The 0.6 mA was beacuse I was powering using J-link once I switched to a different supply, I was getting 80uA (typical for this hardware).

    Is this replicable on other boards, including a nRF54L15-DK?

    As mentioned earlier I am unable to test currently on dk. However, I replicate this with another PCB and it resulted on same behaviour. Removing flash from circuit reduced power consumption to 80uA on system off mode. So I guess it's ground floating issue with flash.

    On code I have noticed that this behaviour started once I added this to my dts.

    / {
    	chosen {
    		nordic,pm-ext-flash = &mx25r64;
    	};
    
    	reserved-memory {
    		#address-cells = <1>;
    		#size-cells = <1>;
    		ranges;
    
    		softperipheral_ram: memory@2003c000 {
    			reg = <0x2003c000 0x4000>;
    			ranges = <0 0x2003c000 0x4000>;
    			#address-cells = <1>;
    			#size-cells = <1>;
    
    			sqspi: sqspi@3b40 {
    				compatible = "nordic,nrf-sqspi";
    				#address-cells = <1>;
    				#size-cells = <0>;
    				reg = <0x3b40 0x200>;
    				status = "okay";
    				zephyr,pm-device-runtime-auto;
    			};
    		};
    	};
    
    };
    
    &cpuflpr_vpr {
    	pinctrl-0 = <&sqspi_default>;
    	pinctrl-1 = <&sqspi_sleep>;
    	pinctrl-names = "default", "sleep";
    	interrupts = <76 NRF_DEFAULT_IRQ_PRIORITY>;
    	status = "okay";
    };
    
    &sqspi {
    	mx25r64: mx25r6435f@0 {
    		compatible = "mxicy,mx25r", "jedec,mspi-nor";
    		status = "okay";
    		reg = <0>;
    		jedec-id = [c2 28 17];
    		quad-enable-requirements = "S1B6";
    		sfdp-bfp = [
    			e5 20 f1 ff  ff ff ff 03  44 eb 08 6b  08 3b 04 bb
    			ee ff ff ff  ff ff 00 ff  ff ff 00 ff  0c 20 0f 52
    			10 d8 00 ff  23 72 f5 00  82 ed 04 cc  44 83 68 44
    			30 b0 30 b0  f7 c4 d5 5c  00 be 29 ff  f0 d0 ff ff
    		];
    		size = <67108864>;
    		has-dpd;
    		t-enter-dpd = <10000>;
    		t-exit-dpd = <35000>;
    		t-reset-pulse = <10000>;
    		t-reset-recovery = <35000>;
    
    		mspi-max-frequency = <DT_FREQ_M(8)>;
    		mspi-io-mode = "MSPI_IO_MODE_QUAD_1_4_4";
    		mspi-data-rate = "MSPI_DATA_RATE_SINGLE";
    		mspi-hardware-ce-num = <1>;
    		mspi-cpp-mode = "MSPI_CPP_MODE_0";
    		mspi-endian = "MSPI_BIG_ENDIAN";
    		mspi-ce-polarity = "MSPI_CE_ACTIVE_LOW";
    	};
    };
    
     

    is there a way to revert these settings before the MCU power off?

    Q2: Can you share how you setup the pull for the different GPIOs, ie. an updated version of your system_off sample?

    I was adding GPIO_PULL_DOWN flag to configuration. but since we found out that flash is causing this issue do you still need this?

  • Hi,

    Great to hear that you found the root cause. You are using the exact same flash as present on the nRF54L15-DK. 

    Check the state of the SPI pins towards the flash device. If I forced CSN low, then I measured an additional 5.1 mA added current.

     

    Ghazi-Faisal said:
    is there a way to revert these settings before the MCU power off?

    If you use the power management subsys, and the sys_power_off API, it should be automatically handled:

    https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/device_guides/coprocessors/power_management.html#power_management_strategies

    I see that CONFIG_PM_DEVICE_RUNTIME is not selected, however; this seems to have little effect when using the build .hex file that was included in your .zip file.

     

    Could you check that your CSN pin is not floating while in system off mode, ie. is at VDD level?

     

    Kind regards,

    Håkon

  • Could you check that your CSN pin is not floating while in system off mode, ie. is at VDD level?

    yes it's at VDD level in system off mode

  • It is very strange that this causes ~6 mA current consumption.

    Can you share the log output from when the current consumption is high?

    Just want to know if the the firmware runs as expected, and is not halted/faulting for some reason? Ie. can you generate a wake-up condition using the button, and see that the log outputs correctly etc?

     

    Kind regards,

    Håkon

Related