[PATCH 2/3] arm64: dts: sophgo: add initial Milk-V Duo S board support

Michael Opdenacker michael.opdenacker at rootcommit.com
Sun Oct 26 15:48:50 PDT 2025


Hi Joshua

Thanks a lot for working on support for Milk-V Duo S. I'll be happy to 
test your V3 :)

On 10/26/25 22:35, Joshua Milas wrote:
> Inochi,
>
> Thanks for pointing me twards duo-pinmux. I was able to use it to get
> the default config which is uart0, spi3, and i2c4. I can change the
> dts to match, but...
>
>> I suggest enabling devices that are accessed by default
> Would we rather enable anything that can be accessed by the pinmux?

If I understand correctly, you can't do that because there will be 
conflicts.
 From the Duo S pinout diagram 
(https://milkv.io/duo-s/duos-pinout.webp), on headers 41 and 39, you 
have to choose between MIPI, I2C2, PWM12/13 or SD1. If at least 2 of 
these are selected at the same time, there will be a conflict, and I 
assume that the pinctrl controller driver will flag it.

Then it sounds complicated to define a default combination for the whole 
board, because it's like a default use model. Who gets to choose? What 
Inochi suggests is to follow the vendor kernel choice, which would 
correspond to the way the vendor intended the board to be used. However 
the community could choose another default way to use the board, so the 
choice may be up to the first contributor to the mainline kernel for 
this board, possibly revised through later discussions.

I guess there are cases when the choice is easy:

- When only one configuration is available for a set of pins
- When there are important devices on I2C or SPI buses on the board. 
Then, you want to find a way to prioritize such buses. Fortunately, I 
guess the board design also guides you to the right choice.

I was facing the the same question today on another board, and that's 
why I'm happy it's raised here. As thousands of DTS files have been 
written before, I'd love to hear from people with experience on this 
topic. Are guidelines written anywhere for board DTS creators?

Cheers
Michael.

-- 
Michael Opdenacker
Root Commit
Yocto Project and OpenEmbedded Training course - Learn by doing:
https://rootcommit.com/training/yocto/




More information about the linux-riscv mailing list