[PATCH v2 0/3] riscv: dts: starfive: add Milkv Mars board device tree

Emil Renner Berthing emil.renner.berthing at canonical.com
Sat Dec 2 14:07:50 PST 2023


Jisheng Zhang wrote:
> The Milkv Mars is a development board based on the Starfive JH7110 SoC.
> The board features:
>
> - JH7110 SoC
> - 1/2/4/8 GiB LPDDR4 DRAM
> - AXP15060 PMIC
> - 40 pin GPIO header
> - 3x USB 3.0 host port
> - 1x USB 2.0 host port
> - 1x M.2 E-Key
> - 1x eMMC slot
> - 1x MicroSD slot
> - 1x QSPI Flash
> - 1x 1Gbps Ethernet port
> - 1x HDMI port
> - 1x 2-lane DSI and 1x 4-lane DSI
> - 1x 2-lane CSI
>
> patch1 adds 'cpus' label
> patch2 adds "milkv,mars" board dt-binding
> patch3 adds the devicetree file describing the currently supported
> features:
> Namely PMIC, UART, I2C, GPIO, SD card, QSPI Flash, eMMC and Ethernet.
>
> Since v1:
>  - add two new patches which add "cpus" label and board dt-binding
>  - adopt Krzysztof's suggestions, thanks
>
> Hi Conor,
>
> I see you have sent a patch which moves the timebase-frequency property
> to soc dtsi, but this series doesn't rebase on that. I can update it
> once your patch is merged.

Hi Jisheng,

Thanks for working on this! On the JH7110 the mtime derives almost directly
from the external oscillator like this:

osc (24MHz) -> rtc_toggle (div 6) -> mtime (4MHz)

So to me it makes sense to define the timebase-frequency in the same file as
the frequency of the external oscillator.

In general it looks good, but if you do

  diff -Naur jh7110-{starfive-visionfive-2.dtsi,milkv-mars.dts}

you'll see that those two files are almost identical. Even external clock
speeds and all the pin configuration are the same. I'd strongly prefer to have
all that factored out in a common .dtsi so fixes don't get out of sync.

/Emil



More information about the linux-riscv mailing list