Re: [PATCH v2 0/2] board: sophgo: add support for Milk-V Duo 256M

Andrei Lalaev <[email protected]>
Newsgroups org.u-boot-project.lists.u-boot
Message-ID <[email protected]>
On 25.08.26 14:24, Hiago De Franco wrote:
> Hi Andrei,
> 
> On Sat, Aug 22, 2026 at 11:15:10AM +0200, Andrei Lalaev wrote:
>> Hi Hiago,
>>
>> Thank you for the patches.
>>
>> From your cover letter I understood that SD card is supported.
>> However whatever I try, I always get the following error:
>>
>>     U-Boot 2026.07-00002-gbd5e3de2ed6a (Aug 22 2026 - 10:27:48 +0200)milkv_duo_256m
>>
>>     DRAM:  256 MiB
>>     Core:  20 devices, 13 uclasses, devicetree: separate
>>     MMC:   mmc@4310000: 0
>>     Loading Environment from nowhere... OK
>>     In:    serial@4140000
>>     Out:   serial@4140000
>>     Err:   serial@4140000
>>     Net:
>>     Warning: ethernet@4070000 (eth0) using random MAC address - 16:21:8c:10:cd:96
>>     eth0: ethernet@4070000
>>     Hit any key to stop autoboot: 0
>>     milkv_duo_256m# mmc info
>>     Card did not respond to voltage select! : -110
>>     milkv_duo_256m# mmc rescan
>>     Card did not respond to voltage select! : -110
>>
>>
>> I tried 2 different SD cards and got the same result.
>>
>> Am I doing something wrong, or is there something else I need to configure?
> 
> You are most likely missing this patch:
> 
> https://lore.kernel.org/all/[email protected]/
> 
> This is needed in order to make the SD card work. This patch is already
> merged on main branch, as commit 3a4a8963aace ("mmc: cv1800b_sdhci:
> honor 'no-1-8-v' DT property").
> 
> Check this patch and let me know if it works now ;)

Thank you for your response:)

I also tried the latest main branch (so all patches are definitely included)
and had the same problem.

I guess I somehow managed to fix the problem, so below I'll describe what I did
and would like to hear your thoughts about it.


When I generated `fip.bin` using precompiled binaries from fiptool repo [1],
it started working most of the time. Previously I was using an FSBL manually generated
using official SDK [2]. However, I would still occasionally get
voltage select error and timeouts.

So I started comparing FSBL and U-boot from Sophgo (2021.10) and
I couldn't find any differences that could explain this behaviour.

Today I found out that the kernel DTS configures the SD0_CLK pin to a different value [3].
By default, we have 0x48 in IOBLK_G10_REG_SD0_CLK register, but if I set it to 0x84
like kernel does, it magically starts to work all the time.

I understand why increasing the drive strength fixed timeout issues, but I don't understand
why I don't see the same problem with the U-Boot from Sophgo (2021.10).

1 - https://github.com/sophgo/fiptool
2 - https://github.com/milkv-duo/duo-buildroot-sdk-v2/tree/main
3 - https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/riscv/boot/dts/sophgo/sg2002-milkv-duo256m.dts#n68

>>
>>
>> Best regards,
>> Andrei Lalaev
> 
> Regards,
> Hiago.


-- 
Best regards,
Andrei Lalaev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.