* [PATCH v1] riscv: dts: starfive: Append starfive,jh7110 compatible to VisionFive 2 Lite
@ 2025-12-06 20:45 E Shattow
2025-12-08 16:29 ` Conor Dooley
0 siblings, 1 reply; 8+ messages in thread
From: E Shattow @ 2025-12-06 20:45 UTC (permalink / raw)
To: Emil Renner Berthing, Conor Dooley, Rob Herring,
Krzysztof Kozlowski, Paul Walmsley, Palmer Dabbelt, Albert Ou,
Alexandre Ghiti, Hal Feng
Cc: linux-kernel, linux-riscv, devicetree, E Shattow,
Heinrich Schuchardt, Emil Renner Berthing, Conor Dooley
Append starfive,jh7110 compatible to VisionFive 2 Lite and VisionFive 2
Lite eMMC in the "least compatible" end of the list. JH7110S on these
boards is the same tape-out as JH7110 however rated for thermal, voltage,
and frequency characteristics for a maximum of 1.25GHz operation.
Link to previous discussion suggesting this change:
https://lore.kernel.org/lkml/1f96a267-f5c6-498e-a2c4-7a47a73ea7e7@canonical.com/
Fixes: 900b32fd601b ("riscv: dts: starfive: Add VisionFive 2 Lite board device tree")
Fixes: ae264ae12442 ("riscv: dts: starfive: Add VisionFive 2 Lite eMMC board device tree")
Suggested-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Signed-off-by: E Shattow <e@freeshell.de>
---
.../dts/starfive/jh7110-starfive-visionfive-2-lite-emmc.dts | 2 +-
.../boot/dts/starfive/jh7110-starfive-visionfive-2-lite.dts | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite-emmc.dts b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite-emmc.dts
index e27a662d4022..7544efa95de4 100644
--- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite-emmc.dts
+++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite-emmc.dts
@@ -9,7 +9,7 @@
/ {
model = "StarFive VisionFive 2 Lite eMMC";
- compatible = "starfive,visionfive-2-lite-emmc", "starfive,jh7110s";
+ compatible = "starfive,visionfive-2-lite-emmc", "starfive,jh7110s", "starfive,jh7110";
};
&mmc0 {
diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite.dts b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite.dts
index b96eea4fa7d5..b9913991a1b7 100644
--- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite.dts
+++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite.dts
@@ -9,7 +9,7 @@
/ {
model = "StarFive VisionFive 2 Lite";
- compatible = "starfive,visionfive-2-lite", "starfive,jh7110s";
+ compatible = "starfive,visionfive-2-lite", "starfive,jh7110s", "starfive,jh7110";
};
&mmc0 {
base-commit: 5e5ea7f61610239fca058011e7d4f342b34d1558
--
2.50.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v1] riscv: dts: starfive: Append starfive,jh7110 compatible to VisionFive 2 Lite
2025-12-06 20:45 [PATCH v1] riscv: dts: starfive: Append starfive,jh7110 compatible to VisionFive 2 Lite E Shattow
@ 2025-12-08 16:29 ` Conor Dooley
2025-12-08 16:38 ` Heinrich Schuchardt
0 siblings, 1 reply; 8+ messages in thread
From: Conor Dooley @ 2025-12-08 16:29 UTC (permalink / raw)
To: E Shattow
Cc: Emil Renner Berthing, Rob Herring, Krzysztof Kozlowski,
Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti,
Hal Feng, linux-kernel, linux-riscv, devicetree,
Heinrich Schuchardt, Emil Renner Berthing, Conor Dooley
[-- Attachment #1: Type: text/plain, Size: 2733 bytes --]
On Sat, Dec 06, 2025 at 12:45:30PM -0800, E Shattow wrote:
> Append starfive,jh7110 compatible to VisionFive 2 Lite and VisionFive 2
> Lite eMMC in the "least compatible" end of the list. JH7110S on these
> boards is the same tape-out as JH7110 however rated for thermal, voltage,
> and frequency characteristics for a maximum of 1.25GHz operation.
>
> Link to previous discussion suggesting this change:
> https://lore.kernel.org/lkml/1f96a267-f5c6-498e-a2c4-7a47a73ea7e7@canonical.com/
>
> Fixes: 900b32fd601b ("riscv: dts: starfive: Add VisionFive 2 Lite board device tree")
> Fixes: ae264ae12442 ("riscv: dts: starfive: Add VisionFive 2 Lite eMMC board device tree")
> Suggested-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
> Signed-off-by: E Shattow <e@freeshell.de>
You can't do this without modifying the binding too, as this doesn't
pass dtbs_check.
However, is this actually correct? The frequency of operation and the
temperature range aren't a superset of what the jh7110 can do, what is
the actual advantage of having it? If there's some software that this
would make a difference for, please mention it in the commit message.
Cheers,
Conor.
> ---
> .../dts/starfive/jh7110-starfive-visionfive-2-lite-emmc.dts | 2 +-
> .../boot/dts/starfive/jh7110-starfive-visionfive-2-lite.dts | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite-emmc.dts b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite-emmc.dts
> index e27a662d4022..7544efa95de4 100644
> --- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite-emmc.dts
> +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite-emmc.dts
> @@ -9,7 +9,7 @@
>
> / {
> model = "StarFive VisionFive 2 Lite eMMC";
> - compatible = "starfive,visionfive-2-lite-emmc", "starfive,jh7110s";
> + compatible = "starfive,visionfive-2-lite-emmc", "starfive,jh7110s", "starfive,jh7110";
> };
>
> &mmc0 {
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite.dts b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite.dts
> index b96eea4fa7d5..b9913991a1b7 100644
> --- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite.dts
> +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite.dts
> @@ -9,7 +9,7 @@
>
> / {
> model = "StarFive VisionFive 2 Lite";
> - compatible = "starfive,visionfive-2-lite", "starfive,jh7110s";
> + compatible = "starfive,visionfive-2-lite", "starfive,jh7110s", "starfive,jh7110";
> };
>
> &mmc0 {
>
> base-commit: 5e5ea7f61610239fca058011e7d4f342b34d1558
> --
> 2.50.0
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] riscv: dts: starfive: Append starfive,jh7110 compatible to VisionFive 2 Lite
2025-12-08 16:29 ` Conor Dooley
@ 2025-12-08 16:38 ` Heinrich Schuchardt
2025-12-09 0:53 ` E Shattow
0 siblings, 1 reply; 8+ messages in thread
From: Heinrich Schuchardt @ 2025-12-08 16:38 UTC (permalink / raw)
To: Conor Dooley, E Shattow
Cc: Emil Renner Berthing, Rob Herring, Krzysztof Kozlowski,
Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti,
Hal Feng, linux-kernel, linux-riscv, devicetree,
Emil Renner Berthing, Conor Dooley
On 12/8/25 17:29, Conor Dooley wrote:
> On Sat, Dec 06, 2025 at 12:45:30PM -0800, E Shattow wrote:
>> Append starfive,jh7110 compatible to VisionFive 2 Lite and VisionFive 2
>> Lite eMMC in the "least compatible" end of the list. JH7110S on these
>> boards is the same tape-out as JH7110 however rated for thermal, voltage,
>> and frequency characteristics for a maximum of 1.25GHz operation.
>>
>> Link to previous discussion suggesting this change:
>> https://lore.kernel.org/lkml/1f96a267-f5c6-498e-a2c4-7a47a73ea7e7@canonical.com/
>>
>> Fixes: 900b32fd601b ("riscv: dts: starfive: Add VisionFive 2 Lite board device tree")
>> Fixes: ae264ae12442 ("riscv: dts: starfive: Add VisionFive 2 Lite eMMC board device tree")
>> Suggested-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
>> Signed-off-by: E Shattow <e@freeshell.de>
>
> You can't do this without modifying the binding too, as this doesn't
> pass dtbs_check.
>
> However, is this actually correct? The frequency of operation and the
> temperature range aren't a superset of what the jh7110 can do, what is
> the actual advantage of having it? If there's some software that this
> would make a difference for, please mention it in the commit message.
Appending "starfive,jh7110" would reduce the number of compatible
strings to check in the OpenSBI platform driver.
Best regards
Heinrich
>
> Cheers,
> Conor.
>
>> ---
>> .../dts/starfive/jh7110-starfive-visionfive-2-lite-emmc.dts | 2 +-
>> .../boot/dts/starfive/jh7110-starfive-visionfive-2-lite.dts | 2 +-
>> 2 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite-emmc.dts b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite-emmc.dts
>> index e27a662d4022..7544efa95de4 100644
>> --- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite-emmc.dts
>> +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite-emmc.dts
>> @@ -9,7 +9,7 @@
>>
>> / {
>> model = "StarFive VisionFive 2 Lite eMMC";
>> - compatible = "starfive,visionfive-2-lite-emmc", "starfive,jh7110s";
>> + compatible = "starfive,visionfive-2-lite-emmc", "starfive,jh7110s", "starfive,jh7110";
>> };
>>
>> &mmc0 {
>> diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite.dts b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite.dts
>> index b96eea4fa7d5..b9913991a1b7 100644
>> --- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite.dts
>> +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2-lite.dts
>> @@ -9,7 +9,7 @@
>>
>> / {
>> model = "StarFive VisionFive 2 Lite";
>> - compatible = "starfive,visionfive-2-lite", "starfive,jh7110s";
>> + compatible = "starfive,visionfive-2-lite", "starfive,jh7110s", "starfive,jh7110";
>> };
>>
>> &mmc0 {
>>
>> base-commit: 5e5ea7f61610239fca058011e7d4f342b34d1558
>> --
>> 2.50.0
>>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] riscv: dts: starfive: Append starfive,jh7110 compatible to VisionFive 2 Lite
2025-12-08 16:38 ` Heinrich Schuchardt
@ 2025-12-09 0:53 ` E Shattow
2025-12-09 6:18 ` Samuel Holland
0 siblings, 1 reply; 8+ messages in thread
From: E Shattow @ 2025-12-09 0:53 UTC (permalink / raw)
To: Heinrich Schuchardt, Conor Dooley
Cc: Emil Renner Berthing, Rob Herring, Krzysztof Kozlowski,
Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti,
Hal Feng, linux-kernel, linux-riscv, devicetree,
Emil Renner Berthing, Conor Dooley
On 12/8/25 08:38, Heinrich Schuchardt wrote:
> On 12/8/25 17:29, Conor Dooley wrote:
>> On Sat, Dec 06, 2025 at 12:45:30PM -0800, E Shattow wrote:
>>> Append starfive,jh7110 compatible to VisionFive 2 Lite and VisionFive 2
>>> Lite eMMC in the "least compatible" end of the list. JH7110S on these
>>> boards is the same tape-out as JH7110 however rated for thermal,
>>> voltage,
>>> and frequency characteristics for a maximum of 1.25GHz operation.
>>>
>>> Link to previous discussion suggesting this change:
>>> https://lore.kernel.org/lkml/1f96a267-f5c6-498e-
>>> a2c4-7a47a73ea7e7@canonical.com/
>>>
>>> Fixes: 900b32fd601b ("riscv: dts: starfive: Add VisionFive 2 Lite
>>> board device tree")
>>> Fixes: ae264ae12442 ("riscv: dts: starfive: Add VisionFive 2 Lite
>>> eMMC board device tree")
>>> Suggested-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
>>> Signed-off-by: E Shattow <e@freeshell.de>
>>
>> You can't do this without modifying the binding too, as this doesn't
>> pass dtbs_check.
Will fix, thanks.
>>
>> However, is this actually correct? The frequency of operation and the
>> temperature range aren't a superset of what the jh7110 can do, what is
The unanswered question what I was asking in the code review of StarFive
VisionFive 2 Lite series: What is the normal thing to do for compatible
strings of relabeled silicon when there is a suggestion of different
operational parameters?
The devicetree/usage-model documentation does mention SoC family but is
not specific about any marketing or quality assurance test for silicon
binning. For the K1/M1 SpacemiT chips relabled as Ky manufacture there's
no suggestion that the relabeled chips have different operational
parameters and so a new compatible was rejected then.
The reset condition of 1000MHz @ 0.9V on the family of JH7110/JH7110-S
boards is not present in the dts OPP tables for jh7110 and jh7110s dts.
I've asked previously [1] (in the discussions about bootph-pre-ram
hints) before having knowledge that there was a JH-7110S product
planned, what prevents JH-7110 from having more than 4 divider operating
points and including this default condition? Not having been tested
seems to be the answer. Not all testing results are published or
described in code upstream either. I'm making my guess based on what
information that is available.
1:
https://lore.kernel.org/lkml/40d77aae-9e53-4981-a2aa-dcdc6f11ac83@freeshell.de/
>> the actual advantage of having it? If there's some software that this
Unless I misunderstand the meaning (as above), then this is what is
recommended for in the documentation. Heinrich confirms this avoids the
need for checking the new "starfive,jh7110s" SoC compatible. Maybe I'm
wrong about this approach for binned silicon? Please someone give me a
clue if this was answered already and I missed it.
>> would make a difference for, please mention it in the commit message.
>
> Appending "starfive,jh7110" would reduce the number of compatible
> strings to check in the OpenSBI platform driver.
I can include the (paraphrased) above summary by Heinrich, yes. Although
now I doubt whether this is the best approach, when removal of
"starfive,jh7110s" compatible is potentially an equally valid fix, or if
we're rather considering JH7110 at 1.5GHz maximum to be a superset of
itself at 1.25GHz maximum (JH-7110S). Would we want to change all the
JH-7110 boards to then have JH-7110S as the least-compatible, if I am
understanding that meaning of "superset"? I would like to know what is
expected.
>
> Best regards
>
> Heinrich
>
>>
>> Cheers,
>> Conor.
>>
Thanks for the review, -E
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] riscv: dts: starfive: Append starfive,jh7110 compatible to VisionFive 2 Lite
2025-12-09 0:53 ` E Shattow
@ 2025-12-09 6:18 ` Samuel Holland
2025-12-10 16:43 ` Conor Dooley
0 siblings, 1 reply; 8+ messages in thread
From: Samuel Holland @ 2025-12-09 6:18 UTC (permalink / raw)
To: E Shattow, Heinrich Schuchardt, Conor Dooley
Cc: Emil Renner Berthing, Rob Herring, Krzysztof Kozlowski,
Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti,
Hal Feng, linux-kernel, linux-riscv, devicetree,
Emil Renner Berthing, Conor Dooley
On 2025-12-09 9:53 AM, E Shattow wrote:
> The unanswered question what I was asking in the code review of StarFive
> VisionFive 2 Lite series: What is the normal thing to do for compatible
> strings of relabeled silicon when there is a suggestion of different
> operational parameters?
I don't think we are very consistent on this, and some of it depends on how
different the binned chips are from each other.
Example 1: Rockchip RK3399 has several bins. RK3399-S and RK3399-T just override
the OPPs, but reuse the SoC compatible string without change. On the other hand
RK3399pro is a superset of RK3399, but uses a new compatible string without a
fallback.
Example 2: Allwinner H616 (https://linux-sunxi.org/H616) has multiple
bins/packages/die revisions. H313 is a down-binned version of H616, which reuses
the SoC compatible string without change. H700 is a superset of H616 (same die,
more pins), but uses a new compatible string without a fallback.
> I can include the (paraphrased) above summary by Heinrich, yes. Although
> now I doubt whether this is the best approach, when removal of
> "starfive,jh7110s" compatible is potentially an equally valid fix, or if
> we're rather considering JH7110 at 1.5GHz maximum to be a superset of
> itself at 1.25GHz maximum (JH-7110S). Would we want to change all the
> JH-7110 boards to then have JH-7110S as the least-compatible, if I am
> understanding that meaning of "superset"? I would like to know what is
> expected.
If starfive,jh7110 is a superset of starfive,jh7110s, yes, it would be valid to
add starfive,jh7110s as a fallback compatible string in all of the existing
board bindings. But this is not very useful, as existing software already looks
for starfive,jh7110, and you can't replace that without breaking compatibility
with existing DTs. So the advantage of one compatible string (mostly) covering
both SoCs only applies to new software.
Regards,
Samuel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] riscv: dts: starfive: Append starfive,jh7110 compatible to VisionFive 2 Lite
2025-12-09 6:18 ` Samuel Holland
@ 2025-12-10 16:43 ` Conor Dooley
2025-12-11 4:23 ` E Shattow
0 siblings, 1 reply; 8+ messages in thread
From: Conor Dooley @ 2025-12-10 16:43 UTC (permalink / raw)
To: Samuel Holland
Cc: E Shattow, Heinrich Schuchardt, Emil Renner Berthing, Rob Herring,
Krzysztof Kozlowski, Paul Walmsley, Palmer Dabbelt, Albert Ou,
Alexandre Ghiti, Hal Feng, linux-kernel, linux-riscv, devicetree,
Emil Renner Berthing, Conor Dooley
[-- Attachment #1: Type: text/plain, Size: 2330 bytes --]
On Tue, Dec 09, 2025 at 03:18:58PM +0900, Samuel Holland wrote:
> On 2025-12-09 9:53 AM, E Shattow wrote:
> > The unanswered question what I was asking in the code review of StarFive
> > VisionFive 2 Lite series: What is the normal thing to do for compatible
> > strings of relabeled silicon when there is a suggestion of different
> > operational parameters?
> I don't think we are very consistent on this, and some of it depends on how
> different the binned chips are from each other.
Largely I think the lack of consistency stems from there being relatively
few users of these soc-level compatibles, so there's nothing really gained
from having one in a lot of cases.
> Example 1: Rockchip RK3399 has several bins. RK3399-S and RK3399-T just override
> the OPPs, but reuse the SoC compatible string without change. On the other hand
> RK3399pro is a superset of RK3399, but uses a new compatible string without a
> fallback.
>
> Example 2: Allwinner H616 (https://linux-sunxi.org/H616) has multiple
> bins/packages/die revisions. H313 is a down-binned version of H616, which reuses
> the SoC compatible string without change. H700 is a superset of H616 (same die,
> more pins), but uses a new compatible string without a fallback.
>
> > I can include the (paraphrased) above summary by Heinrich, yes. Although
> > now I doubt whether this is the best approach, when removal of
> > "starfive,jh7110s" compatible is potentially an equally valid fix, or if
> > we're rather considering JH7110 at 1.5GHz maximum to be a superset of
> > itself at 1.25GHz maximum (JH-7110S). Would we want to change all the
> > JH-7110 boards to then have JH-7110S as the least-compatible, if I am
> > understanding that meaning of "superset"? I would like to know what is
> > expected.
>
> If starfive,jh7110 is a superset of starfive,jh7110s, yes, it would be valid to
> add starfive,jh7110s as a fallback compatible string in all of the existing
> board bindings. But this is not very useful, as existing software already looks
> for starfive,jh7110, and you can't replace that without breaking compatibility
> with existing DTs. So the advantage of one compatible string (mostly) covering
> both SoCs only applies to new software.
Yeah, adding it to the existing stuff provides no real benefit.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] riscv: dts: starfive: Append starfive,jh7110 compatible to VisionFive 2 Lite
2025-12-10 16:43 ` Conor Dooley
@ 2025-12-11 4:23 ` E Shattow
2025-12-12 17:59 ` Conor Dooley
0 siblings, 1 reply; 8+ messages in thread
From: E Shattow @ 2025-12-11 4:23 UTC (permalink / raw)
To: Conor Dooley, Samuel Holland
Cc: Heinrich Schuchardt, Emil Renner Berthing, Rob Herring,
Krzysztof Kozlowski, Paul Walmsley, Palmer Dabbelt, Albert Ou,
Alexandre Ghiti, Hal Feng, linux-kernel, linux-riscv, devicetree,
Emil Renner Berthing, Conor Dooley
On 12/10/25 08:43, Conor Dooley wrote:
> On Tue, Dec 09, 2025 at 03:18:58PM +0900, Samuel Holland wrote:
>> On 2025-12-09 9:53 AM, E Shattow wrote:
>>> The unanswered question what I was asking in the code review of StarFive
>>> VisionFive 2 Lite series: What is the normal thing to do for compatible
>>> strings of relabeled silicon when there is a suggestion of different
>>> operational parameters?
>> I don't think we are very consistent on this, and some of it depends on how
>> different the binned chips are from each other.
>
> Largely I think the lack of consistency stems from there being relatively
> few users of these soc-level compatibles, so there's nothing really gained
> from having one in a lot of cases.
>
>> Example 1: Rockchip RK3399 has several bins. RK3399-S and RK3399-T just override
>> the OPPs, but reuse the SoC compatible string without change. On the other hand
>> RK3399pro is a superset of RK3399, but uses a new compatible string without a
>> fallback.
>>
>> Example 2: Allwinner H616 (https://linux-sunxi.org/H616) has multiple
>> bins/packages/die revisions. H313 is a down-binned version of H616, which reuses
>> the SoC compatible string without change. H700 is a superset of H616 (same die,
>> more pins), but uses a new compatible string without a fallback.
>>
>>> I can include the (paraphrased) above summary by Heinrich, yes. Although
>>> now I doubt whether this is the best approach, when removal of
>>> "starfive,jh7110s" compatible is potentially an equally valid fix, or if
>>> we're rather considering JH7110 at 1.5GHz maximum to be a superset of
>>> itself at 1.25GHz maximum (JH-7110S). Would we want to change all the
>>> JH-7110 boards to then have JH-7110S as the least-compatible, if I am
>>> understanding that meaning of "superset"? I would like to know what is
>>> expected.
>>
>> If starfive,jh7110 is a superset of starfive,jh7110s, yes, it would be valid to
>> add starfive,jh7110s as a fallback compatible string in all of the existing
>> board bindings. But this is not very useful, as existing software already looks
>> for starfive,jh7110, and you can't replace that without breaking compatibility
>> with existing DTs. So the advantage of one compatible string (mostly) covering
>> both SoCs only applies to new software.
>
> Yeah, adding it to the existing stuff provides no real benefit.
I agree, there's not any benefit to add "starfive,jh7110s" as the
least-compatible to existing stuff.
The reply from Samuel is quite helpful however it's not any clearer to
me what direction to take this.
1. Can we now remove "starfive,jh7110s" compatible and replace with
"starfive,jh7110" or is this not possible because it is already merged?
2. From the StarFive maintainer: "I prefer to keep 'starfive,jh7110s'
compatible, because 'JH7110S' is the chip name in StarFive documents and
the name printed on the chip. It is easier for the users to know which
chip they are using and select the correct device tree."
https://lore.kernel.org/lkml/ZQ2PR01MB13075CDDEFC2F03C837E1B31E6C92@ZQ2PR01MB1307.CHNPR01.prod.partner.outlook.cn/
So this is the only reason for a new compatible and I'm doing as
Heinrich suggests with a follow-up after that new compatible is merged
to add the actual "starfive,jh7110" compatible to the list.
What then, what is the consensus, is "starfive,jh7110" more or less
compatible than "starfive,jh7110s" for adding to the compatible list of
the VisionFive 2 Lite board(s)?
https://lore.kernel.org/lkml/1f96a267-f5c6-498e-a2c4-7a47a73ea7e7@canonical.com/
3. Does everyone instead agree that "starfive,jh7110" cannot be added to
StarFive VisionFive 2 Lite compatible list when a new compatible
"starfive,jh7110s" has been merged and I should drop this ? Seems
pointless to me now to pursue this if there is not any consistency and
what Heinrich suggested is not accepted.
-E
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] riscv: dts: starfive: Append starfive,jh7110 compatible to VisionFive 2 Lite
2025-12-11 4:23 ` E Shattow
@ 2025-12-12 17:59 ` Conor Dooley
0 siblings, 0 replies; 8+ messages in thread
From: Conor Dooley @ 2025-12-12 17:59 UTC (permalink / raw)
To: E Shattow
Cc: Samuel Holland, Heinrich Schuchardt, Emil Renner Berthing,
Rob Herring, Krzysztof Kozlowski, Paul Walmsley, Palmer Dabbelt,
Albert Ou, Alexandre Ghiti, Hal Feng, linux-kernel, linux-riscv,
devicetree, Emil Renner Berthing, Conor Dooley
[-- Attachment #1: Type: text/plain, Size: 2922 bytes --]
On Wed, Dec 10, 2025 at 08:23:54PM -0800, E Shattow wrote:
>
> On 12/10/25 08:43, Conor Dooley wrote:
> > On Tue, Dec 09, 2025 at 03:18:58PM +0900, Samuel Holland wrote:
> >> On 2025-12-09 9:53 AM, E Shattow wrote:
> >>> The unanswered question what I was asking in the code review of StarFive
> >>> VisionFive 2 Lite series: What is the normal thing to do for compatible
> >>> strings of relabeled silicon when there is a suggestion of different
> >>> operational parameters?
> >> I don't think we are very consistent on this, and some of it depends on how
> >> different the binned chips are from each other.
> >
> > Largely I think the lack of consistency stems from there being relatively
> > few users of these soc-level compatibles, so there's nothing really gained
> > from having one in a lot of cases.
> >
> >> Example 1: Rockchip RK3399 has several bins. RK3399-S and RK3399-T just override
> >> the OPPs, but reuse the SoC compatible string without change. On the other hand
> >> RK3399pro is a superset of RK3399, but uses a new compatible string without a
> >> fallback.
> >>
> >> Example 2: Allwinner H616 (https://linux-sunxi.org/H616) has multiple
> >> bins/packages/die revisions. H313 is a down-binned version of H616, which reuses
> >> the SoC compatible string without change. H700 is a superset of H616 (same die,
> >> more pins), but uses a new compatible string without a fallback.
> >>
> >>> I can include the (paraphrased) above summary by Heinrich, yes. Although
> >>> now I doubt whether this is the best approach, when removal of
> >>> "starfive,jh7110s" compatible is potentially an equally valid fix, or if
> >>> we're rather considering JH7110 at 1.5GHz maximum to be a superset of
> >>> itself at 1.25GHz maximum (JH-7110S). Would we want to change all the
> >>> JH-7110 boards to then have JH-7110S as the least-compatible, if I am
> >>> understanding that meaning of "superset"? I would like to know what is
> >>> expected.
> >>
> >> If starfive,jh7110 is a superset of starfive,jh7110s, yes, it would be valid to
> >> add starfive,jh7110s as a fallback compatible string in all of the existing
> >> board bindings. But this is not very useful, as existing software already looks
> >> for starfive,jh7110, and you can't replace that without breaking compatibility
> >> with existing DTs. So the advantage of one compatible string (mostly) covering
> >> both SoCs only applies to new software.
> >
> > Yeah, adding it to the existing stuff provides no real benefit.
>
> I agree, there's not any benefit to add "starfive,jh7110s" as the
> least-compatible to existing stuff.
>
> The reply from Samuel is quite helpful however it's not any clearer to
> me what direction to take this.
I think the idea is fine, just explain why it'd be helpful in the commit
message and do the dt-binding change that this doesn't cause warnings.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-12-12 17:59 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-06 20:45 [PATCH v1] riscv: dts: starfive: Append starfive,jh7110 compatible to VisionFive 2 Lite E Shattow
2025-12-08 16:29 ` Conor Dooley
2025-12-08 16:38 ` Heinrich Schuchardt
2025-12-09 0:53 ` E Shattow
2025-12-09 6:18 ` Samuel Holland
2025-12-10 16:43 ` Conor Dooley
2025-12-11 4:23 ` E Shattow
2025-12-12 17:59 ` Conor Dooley
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).