[PATCH v2 0/8] Add support for StarFive VisionFive 2 Lite board
Emil Renner Berthing
emil.renner.berthing at canonical.com
Sat Nov 15 08:28:32 PST 2025
Quoting E Shattow (2025-11-13 16:16:12)
>
>
> On 11/13/25 02:42, Emil Renner Berthing wrote:
> > Quoting Hal Feng (2025-11-13 04:42:05)
> >>> On 12.11.25 21:54, Emil Renner Berthing wrote:
> >>> Quoting Hal Feng (2025-11-07 10:55:22)
> >>>> VisionFive 2 Lite is a mini SBC based on the StarFive JH7110S
> >>>> industrial SoC which can run at -40~85 degrees centigrade and up to
> >>>> 1.25GHz.
> > [...]
> >>> Currently the JH7110 device trees are layed out like this, with a nice separation
> >>> between the SoC description and board descriptions:
> >>>
> >>> jh7110.dtsi # JH7110 SoC description
> >>> |- jh7110-common.dtsi # Peripherals common to all JH7110 boards
> >>> |- jh7110-starfive-visionfive-2.dtsi # Peripherals common to VF2 boards
> >>> | |- <VF2 boards> # Final VF2 board descriptions
> >>> |- jh7110-milkv-marscm.dtsi # Peripherals common to Mars CM boards
> >>> | |- <Mars CM boards> # Final Mars CM board descriptions
> >>> |- <other boards> # Other JH7110 board descriptions
> >>>
> >>> With this series it moves to
> >>>
> >>> jh711x.dtsi
> >>> |- jh711x-common.dtsi
> >>> |- jh7110-common.dtsi
> >>> | |- <jh7110 boards>
> >>> |- jh7110s-common.dtsi
> >>> |- <jh7110s boards>
> >>>
> >>> ..which I can't even give clear labels like above. In other words when new
> >>> patches are sent in it would not be easy to explain exactly where each change
> >>> should go and why.
> >>> I'm also worried that you'll find that more of the peripherals on the JH7110S
> >>> need special handling and a new jh7110s-... compatible string. Then I guess
> >>> they'll need to jump from jh7110x.dtsi two levels down to jh7110{,s}-
> >>> common.dtsi which then both describe SoC and board properties.
> >>>
> >>> If you're serious about calling this a new SoC then I'd expect something more
> >>> like this:
> >>>
> >>> jh711x.dtsi # Peripherals common to both SoCs
> >>> |- jh7110.dtsi # JH7110 SoC description
> >>> | |- jh7110-common.dtsi # Peripherals common to all JH7110 boards
> >>> | |- jh7110-starfive-visionfive-2.dtsi # Peripherals common to VF2 boards
> >>> | | |- <VF2 boards> # Final VF2 board descriptions
> >>> | |- jh7110-milkv-marscm.dtsi # Peripherals common to Mars CM boards
> >>> | | |- <Mars CM boards> # Final Mars CM board descriptions
> >>> | |- <other boards> # Other JH7110 board descriptions
> >>> |- jh7110s.dtsi # JH7110S SoC description
> >>> |- jh7110s-common.dtsi # Peripherals common to all JH7110S boards
> >>> |- <JH7110S boards> # Final JH7110S board descriptions
> >>>
> >>> I know this will mean some duplication in jh7110{,s}-common.dtsi, but I
> >>> would prefer that to not having a clear explanation of what each file describes.
> >>>
> >>> Do you think this layout could work for you?
> >>
> >> Yeah, it is clearer for developers and maintainers.
> >>
> >> Considering Conor's suggestion, what about:
> >>
> >> jh7110.dtsi # JH7110 SoC description
> >> |- jh7110-common.dtsi # Peripherals common to all JH7110 boards
> >> |- jh7110-starfive-visionfive-2.dtsi # Peripherals common to VF2 boards
> >> | |- <VF2 boards> # Final VF2 board descriptions
> >> |- jh7110-milkv-marscm.dtsi # Peripherals common to Mars CM boards
> >> | |- <Mars CM boards> # Final Mars CM board descriptions
> >> |- <other boards> # Other JH7110 board descriptions
> >> |- <JH7110S boards>
> >>
>
> JH-7110 and JH-7110I reference docs are listed (not any JH-7110S) at:
> https://doc-en.rvspace.org/Doc_Center/datasheet_0.html
>
> Does the JH-7110I use the OPP table for JH-7110 or JH-7110S?
>
> >> Move the opp table from jh7110.dtsi to jh7110-common.dtsi.
> >> Remove jh7110s-common.dtsi, because only one board uses JH7110S now.
> >
> > This patchset adds 2 different boards. Has this changed?
> >
> > Also this would mean that you're not using the starfive,jh7110s compatible or
> > any other starfive,jh7110s-.. compatible strings, so effectively you're not
> > treating it as a new chip, but just a board that needs a different opp table.
> >
> > I see now that the opp table is effectively the only difference between the two
> > chips in this patchset, so if that's closer to reality then what you suggest is
> > fine with me.
> >
> > /Emil
>
> Are we now re-visiting Hal's suggestion then (during code review for
> Milk-V Mars CM and Mars CM Lite) to split out the OPP tables and make
> them per-board, as before introduction of the StarFive VisionFive 2 Lite
> board(s) ?
>
> Can we then do as from where we are now before this series:
>
> - Move "the JH-7110" OPP table into jh7110-common-opp-1500.dtsi
>
> - Each board jh7110-{deepcomputing,milkv,pine64,starfive}*.dts includes
> said OPP dtsi file.
>
> and for this series:
>
> - Drop the adding of a new compatible
>
> - Add "the JH-7110S" OPP table into jh7110-common-opp-1250.dtsi
>
> - Use existing jh7110-* prefix for "JH-7110S" board dtsi and dts,
> include jh7110-common.dtsi as usual, and include jh7110-common-opp-1250.dtsi
>
> The exact filename pattern for the OPP tables I suggest here are
> approximations, however that idea is my suggestion if we're just doing a
> breakout of the tables and not a new compatible.
>
> I am positive on having the 1250MHz OPP tables split out into dtsi
> instead of stuffing them into the VisionFive 2 Lite common dtsi. That's
> all it is?
I think this suggestion makes sense if we're 100% sure the JH7110 and JH7110S
will only ever differ by the opp table. If there is any chance we'll need to add
different compatible string for some peripheral then I think Hal's suggestion
will be easier untangle. We'll even be able to do it without touching all the
board dts files once again.
I'm interested to hear Hal's opinion on this. Hopefully they'll have
more details
on the two version of the JH7110.
/Emil
More information about the linux-riscv
mailing list