NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/60977: SD card initialization failed in SPI mode



>Number:         60977
>Category:       kern
>Synopsis:       SD card initialization failed in SPI mode
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Nov 07 02:05:00 +0000 2026
>Originator:     Est Suzumenomiya
>Release:        11.99.10
>Organization:
>Environment:
NetBSD boom68k 11.99.10 NetBSD 11.99.10 (BOOM68K) #0: Fri Nov  6 18:55:13 JST 2026  est@ursula:/home/est/opt/build/netbsd-hb68k/obj/sys/arch/hb68k/compile/BOOM68K hb68k

>Description:
When initializing a SD card driver in SPI mode (currently under development), the response to ACMD13 (SD_STATUS) is not being received correctly.
>How-To-Repeat:
call sdmmc_mem_send_ssr via sdmmc_mem_sd_init in sdmmc_mem.c
>Fix:
The response for ACMD13 is indicated as R2ã??in SD Specifications Part 1 Physical Layer Simplified Specification Version 9.10 Table 7-4 (SPI mode).
Therefore, it should be fixed as below, and it actually works.

--- sdmmc_mem.c.ORIG    2026-09-23 11:07:57.744182837 +0900
+++ sdmmc_mem.c 2026-11-07 10:20:51.867489377 +0900
@@ -1399,7 +1399,7 @@
        cmd.c_datalen = datalen;
        cmd.c_blklen = datalen;
        cmd.c_arg = 0;
-       cmd.c_flags = SCF_CMD_ADTC | SCF_CMD_READ | SCF_RSP_R1 | SCF_RSP_SPI_R1;
+       cmd.c_flags = SCF_CMD_ADTC | SCF_CMD_READ | SCF_RSP_R1 | SCF_RSP_SPI_R2;
        cmd.c_opcode = SD_APP_SD_STATUS;
        if (ISSET(sc->sc_caps, SMC_CAPS_DMA))
                cmd.c_dmamap = sc->sc_dmap;




Home | Main Index | Thread Index | Old Index