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
  • Hi,

     

    In system off mode, the cores are switched off, and the system should be in sleep mode.

    If you see excessive current draw at this point, I would recommend that you look into your gpio states, specifically the CSN pin in this case. This should be high in idle state.

    Are you testing on a custom board or a nRF54L15-DK?

     

    Kind regards,

    Håkon

  • Could you clarify if you are referring to the CSN (Chip Select) pin? If so, yes, it remains HIGH during System OFF mode.

    I am currently building for the nrf54l15 target, and my custom board uses the same flash IC and the same configuration as the DK.

    For context, this is a custom board. The baseline consumption is 2.6 µA when the flash is not in use, so the 6.3 mA draw appears specifically linked to the SQSPI being enabled.

  • I’m not entirely sure what information would help you diagnose this issue. Please let me know what details would be useful (for example logs, configuration files, DTS, power measurements, etc.), and I’ll provide whatever I can.

    Also, I don’t currently have the DK with me to run additional tests. If there’s another way we can work around this or gather useful information without the DK, please let me know.

  • Given that LOAD_SWITCH is 1.7V, and you state this

    excuse me this was GND1 relative to GND when both GNDs are disconnected. I was measuring the wrong pin

    Regards,

  • 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) 
  • 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?

Reply
  • 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?

Children
Related