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)