LittleFS: identical project working on nRF52840 but not nRF54L15

I've been testing the littlefs sample on NCS v2.8.0 and v2.9.0 with an external SD card. Initially I tested the sample with an nRF52840-DK and everything worked as expected, the program is able to read from and write to the card. For some reason, the same sample doesn't work when testing on an nRF54L15-DK. My overlays for both are below, along with my prj.conf file. Is there anything else I'm missing for the 54L15? The only real difference between the overlays is that I swapped the standard pins for the SPI bus on the 54L15, but I use these pins across several projects and they don't conflict with anything on the DK to my knowledge.

nRF54L15

&spi21 {
    status = "okay";
	pinctrl-0 = <&spi21_default>;
	pinctrl-names = "default";
    cs-gpios = <&gpio2 10 (GPIO_ACTIVE_LOW)>;
    sdhc-spi-slot@0 {
		compatible = "zephyr,sdhc-spi-slot";
		reg = <0x0>;
		spi-max-frequency = <DT_FREQ_M(1)>;
        status = "okay";
        mmc {
            compatible = "zephyr,sdmmc-disk";
            status = "okay";
        };
	};
};

&pinctrl {
	spi21_default: spi21_default {
		group2 {
			psels = <NRF_PSEL(SPIM_MOSI, 1, 12)>,
					<NRF_PSEL(SPIM_SCK, 1, 8)>,
					<NRF_PSEL(SPIM_MISO, 1, 11)>;
			nordic,drive-mode = <NRF_DRIVE_H0H1>;
		};
	};
};

&mx25r64 {
	status = "disabled";
};

&spi00 {
	status = "disabled";
};

nRF52840:

&spi3 {
    status = "okay";
	sdhc-spi-slot@0 {
		compatible = "zephyr,sdhc-spi-slot";
		reg = <0x0>;
		spi-max-frequency = <DT_FREQ_M(1)>;
        status = "okay";
        mmc {
            compatible = "zephyr,sdmmc-disk";
            status = "okay";
        };
	};
};

&mx25r64 {
	status = "disabled";
};

prj.conf:

CONFIG_MAIN_STACK_SIZE=8192
CONFIG_HEAP_MEM_POOL_SIZE=8192

CONFIG_DISK_ACCESS=y
CONFIG_DISK_DRIVERS=y
CONFIG_DISK_DRIVER_SDMMC=y

CONFIG_DEBUG=y
CONFIG_LOG=y
CONFIG_LOG_MODE_MINIMAL=y
CONFIG_FS_LOG_LEVEL_DBG=y
CONFIG_FS_LITTLEFS_CACHE_SIZE=256
CONFIG_FS_LITTLEFS_LOOKAHEAD_SIZE=32

CONFIG_FILE_SYSTEM=y
CONFIG_FILE_SYSTEM_LITTLEFS=y

CONFIG_FS_LITTLEFS_BLK_DEV=y
CONFIG_FS_LITTLEFS_FMP_DEV=n
CONFIG_APP_LITTLEFS_STORAGE_BLK_SDMMC=y

CONFIG_SPI=y
CONFIG_SDHC=y

My program gets stuck here on the nRF54L15:

[00:00:00.430,473] <dbg> fs: fs_register: fs register 1: 0
*** Booting nRF Connect SDK v2.9.0-7787b2649840 ***
*** Using Zephyr OS v3.7.99-1f8f3dc29142 ***
Sample program to r/w files on littlefs
[00:00:00.448,527] <inf> littlefs: LittleFS version 2.9, disk version 2.1
[00:00:00.489,682] <inf> sd: Maximum SD clock is under 25MHz, using clock of 1000000Hz
[00:00:00.498,812] <inf> littlefs: FS at SDMMC: is 15523840 0x200-byte blocks with 512 cycle
[00:00:00.507,626] <inf> littlefs: sizes: rd 512 ; pr 512 ; ca 512 ; la 2048
[00:01:38.768,193] <err> sd: Failed to read from SDMMC -22
[00:01:38.774,311] <err> sd: Card read failed
[00:01:38.779,387] <wrn> littlefs: can't mount (LFS -22); formatting
[00:03:17.040,571] <err> sd: Failed to read from SDMMC -22
[00:03:17.046,683] <err> sd: Card read failed
[00:03:17.051,752] <err> littlefs: format failed (LFS -22)
[00:03:17.057,910] <err> fs: fs mount error (-22)

Parents
  • Hello,

    What kind of SD Card reader do you use? And what is it's required input voltage, and more specifically, what voltage does it accept as logic high on the signal GPIOs?

    By default, the VDD and GPIO voltage of the nRF54L15 DKs are lower than they were on the nRF52840. 

    You can, however, open the nRF Connect for Desktop -> Board Configurator, select the nRF54L15DK, and adjust the VDD output to 3.3v, and see if that works with your SD Card reader.

    Best regards,

    Edvin

Reply
  • Hello,

    What kind of SD Card reader do you use? And what is it's required input voltage, and more specifically, what voltage does it accept as logic high on the signal GPIOs?

    By default, the VDD and GPIO voltage of the nRF54L15 DKs are lower than they were on the nRF52840. 

    You can, however, open the nRF Connect for Desktop -> Board Configurator, select the nRF54L15DK, and adjust the VDD output to 3.3v, and see if that works with your SD Card reader.

    Best regards,

    Edvin

Children
Related