lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <e2394c64-af36-428f-ad6e-4c7038c0301e@freeshell.de>
Date: Wed, 4 Feb 2026 15:16:36 -0800
From: E Shattow <e@...eshell.de>
To: Heinrich Schuchardt <heinrich.schuchardt@...onical.com>,
 Emil Renner Berthing <kernel@...il.dk>, Conor Dooley <conor@...nel.org>
Cc: Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
 Paul Walmsley <pjw@...nel.org>, Palmer Dabbelt <palmer@...belt.com>,
 Albert Ou <aou@...s.berkeley.edu>, Alexandre Ghiti <alex@...ti.fr>,
 linux-riscv@...ts.infradead.org, devicetree@...r.kernel.org,
 linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/1] riscv: dts: starfive: Milk-V Mars CM Lite broken-cd

Hi,

I think the correct fix will be device tree overlays per-carrier board
and not this one-size-fits-all workaround with the System-on-Module.
Review below:

On 2/4/26 08:38, Heinrich Schuchardt wrote:
> On 2/4/26 11:16, Heinrich Schuchardt wrote:
>> The card detect GPIO depends on support by the base board.
>>
>> Detecting an SD-card did not work for me with a Milk-V Mars CM Lite
>> mounted on an Waveshare CM4-IO-BASE-A board.
> 
> The schematic of the Waveshare CM4-IO-BASE-A board is available at
> https://files.waveshare.com/upload/a/aa/CM4-IO-BASE-A_V4_SchDoc.pdf
> showing pin 76 is not connected.
> 
> In https://forums.raspberrypi.com/viewtopic.php?t=291041 the Raspberry
> Foundation explicitly wrote that pin 76 should not be connected when
> using a compute module socket.
> 
> E. Shattow pointed me to a board
> https://github.com/NabuCasa/yellow/releases/download/v1.3c/
> Yellow_v1.3c_Schematic_git.8957b440adda.pdf
> that actually disregarded this advice and uses pin 76 actually as cd-
> gpio. This usage of GPIO 41 is a property of the specific base board and
> not of the Milk-V Mars CM and should be described in a device-tree
> overlay if needed.
> 
> Best regards
> 
> Heinrich
> 
>>
>> According to [1] SD_SDIO0_CD_GPIO41 is connected to pin 76 reserved.
>> The Raspberry Pi Compute Module 4 IO Board documentation marks that
>> pin as
>> reserved. The Raspberry Pi Compute Module 5 IO Board documentation
>> marks the pin as VBAT.
>>
>> Remove the cd-gpios definition and add broken-cd.
>>
>> [1]  https://github.com/milkv-mars/mars-files/blob/main/Mars-
>> CM_Hardware_Schematices/Milk-V_Mars-CM_SCH_V1.0-2023-0905_Lite.pdf
>>
>> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@...onical.com>
>> ---
>>   arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
>> b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
>> index 63aa94d65ab55..566b0bdc2800d 100644
>> --- a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
>> +++ b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
>> @@ -13,7 +13,7 @@ / {
>>     &mmc0 {
>>       bus-width = <4>;

+ /* Schematic signal SD_SDIO0_CD_GPIO41 to CM4 connector pin 76*/
+ /* Raspberry Pi CM4 specification pin 76 reserved do not connect */

>> -    cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
>> +    broken-cd;

All schematic documents for Mars CM Lite list this signal name as
`SD_SDIO0_CD_GPIO41`.

>>       disable-wp;
>>   };
>>   

The carrier board I have a schematic document for - Home Assistant
Yellow PoE rev 1.3 - lists this as SD_DETECT, apparently ignoring the
Raspberry Pi Foundation document about CM4 Compute IO specification that
explicitly says do not connect this pin to anything.

The carrier board I do not have a schematic document for - DFRobot
Compute Module 4 IoT Router Board Mini - only has SD Card and is
operational as-is.

The compatibility issue for carrier boards that more strictly follow the
Raspberry Pi CM4 IO specification may be better handled by device tree
overlays. Though this is not convenient for users and requires more
developer effort, overlays would be best to adopt dtbo per-carrier board
to describe hardware accurately.

What is needed to introduce overlays?

- E

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ