* [RFC 0/3] Add support for StarFive VisionFive 2 Lite board @ 2025-08-21 10:09 Hal Feng 2025-08-21 10:09 ` [RFC 1/3] dt-bindings: riscv: Add StarFive JH7110S SoC and " Hal Feng ` (2 more replies) 0 siblings, 3 replies; 15+ messages in thread From: Hal Feng @ 2025-08-21 10:09 UTC (permalink / raw) To: Conor Dooley, Emil Renner Berthing, Heinrich Schuchardt, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt, Paul Walmsley, Albert Ou Cc: Hal Feng, devicetree, linux-riscv, linux-kernel 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. Board features: - JH7110S SoC - 2/4/8 GiB LPDDR4 DRAM - AXP15060 PMIC - 40 pin GPIO header - 1x USB 3.0 host port - 3x USB 2.0 host port - 1x M.2 M-Key (size: 2242) - 1x MicroSD slot (optional non-removable eMMC) - 1x QSPI Flash - 1x I2C EEPROM - 1x 1Gbps Ethernet port - SDIO-based Wi-Fi & UART-based Bluetooth - 1x HDMI port - 1x 2-lane DSI - 1x 2-lane CSI For more details, please see https://www.kickstarter.com/projects/starfive/visionfive-2-lite-unlock-risc-v-sbc-at-199 Hal Feng (3): dt-bindings: riscv: Add StarFive JH7110S SoC and VisionFive 2 Lite board riscv: dts: starfive: jh7110-common: Move out some nodes to the board dts riscv: dts: starfive: Add VisionFive 2 Lite board device tree .../devicetree/bindings/riscv/starfive.yaml | 5 + arch/riscv/boot/dts/starfive/Makefile | 2 + .../boot/dts/starfive/jh7110-common.dtsi | 22 --- .../jh7110-deepcomputing-fml13v01.dts | 49 ++++++ .../boot/dts/starfive/jh7110-milkv-mars.dts | 49 ++++++ .../dts/starfive/jh7110-pine64-star64.dts | 49 ++++++ .../jh7110-starfive-visionfive-2.dtsi | 46 ++++++ arch/riscv/boot/dts/starfive/jh7110.dtsi | 16 -- .../jh7110s-starfive-visionfive-2-lite.dts | 152 ++++++++++++++++++ 9 files changed, 352 insertions(+), 38 deletions(-) create mode 100644 arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite.dts base-commit: 068a56e56fa81e42fc5f08dff34fab149bb60a09 -- 2.43.2 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 15+ messages in thread
* [RFC 1/3] dt-bindings: riscv: Add StarFive JH7110S SoC and VisionFive 2 Lite board 2025-08-21 10:09 [RFC 0/3] Add support for StarFive VisionFive 2 Lite board Hal Feng @ 2025-08-21 10:09 ` Hal Feng 2025-08-21 18:17 ` Conor Dooley 2025-08-24 17:14 ` Icenowy Zheng 2025-08-21 10:09 ` [RFC 2/3] riscv: dts: starfive: jh7110-common: Move out some nodes to the board dts Hal Feng 2025-08-21 10:09 ` [RFC 3/3] riscv: dts: starfive: Add VisionFive 2 Lite board device tree Hal Feng 2 siblings, 2 replies; 15+ messages in thread From: Hal Feng @ 2025-08-21 10:09 UTC (permalink / raw) To: Conor Dooley, Emil Renner Berthing, Heinrich Schuchardt, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt, Paul Walmsley, Albert Ou Cc: Hal Feng, devicetree, linux-riscv, linux-kernel Add device tree bindings for the StarFive JH7110S SoC and the VisionFive 2 Lite board equipped with it. JH7110S SoC is an industrial SoC which can run at -40~85 degrees centigrade and up to 1.25GHz. Its CPU cores and peripherals are mostly similar to those of the JH7110 SoC. Signed-off-by: Hal Feng <hal.feng@starfivetech.com> --- Documentation/devicetree/bindings/riscv/starfive.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/riscv/starfive.yaml b/Documentation/devicetree/bindings/riscv/starfive.yaml index 7ef85174353d..a2952490709f 100644 --- a/Documentation/devicetree/bindings/riscv/starfive.yaml +++ b/Documentation/devicetree/bindings/riscv/starfive.yaml @@ -33,6 +33,11 @@ properties: - starfive,visionfive-2-v1.3b - const: starfive,jh7110 + - items: + - enum: + - starfive,visionfive-2-lite + - const: starfive,jh7110s + additionalProperties: true ... -- 2.43.2 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [RFC 1/3] dt-bindings: riscv: Add StarFive JH7110S SoC and VisionFive 2 Lite board 2025-08-21 10:09 ` [RFC 1/3] dt-bindings: riscv: Add StarFive JH7110S SoC and " Hal Feng @ 2025-08-21 18:17 ` Conor Dooley 2025-08-22 7:37 ` Hal Feng 2025-08-24 17:14 ` Icenowy Zheng 1 sibling, 1 reply; 15+ messages in thread From: Conor Dooley @ 2025-08-21 18:17 UTC (permalink / raw) To: Hal Feng Cc: Conor Dooley, Emil Renner Berthing, Heinrich Schuchardt, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt, Paul Walmsley, Albert Ou, devicetree, linux-riscv, linux-kernel [-- Attachment #1.1: Type: text/plain, Size: 1224 bytes --] On Thu, Aug 21, 2025 at 06:09:28PM +0800, Hal Feng wrote: > Add device tree bindings for the StarFive JH7110S SoC > and the VisionFive 2 Lite board equipped with it. > > JH7110S SoC is an industrial SoC which can run at -40~85 degrees centigrade > and up to 1.25GHz. Its CPU cores and peripherals are mostly similar to > those of the JH7110 SoC. How "mostly" is mostly? Are there memory map or capability differences? > > Signed-off-by: Hal Feng <hal.feng@starfivetech.com> > --- > Documentation/devicetree/bindings/riscv/starfive.yaml | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/Documentation/devicetree/bindings/riscv/starfive.yaml b/Documentation/devicetree/bindings/riscv/starfive.yaml > index 7ef85174353d..a2952490709f 100644 > --- a/Documentation/devicetree/bindings/riscv/starfive.yaml > +++ b/Documentation/devicetree/bindings/riscv/starfive.yaml > @@ -33,6 +33,11 @@ properties: > - starfive,visionfive-2-v1.3b > - const: starfive,jh7110 > > + - items: > + - enum: > + - starfive,visionfive-2-lite > + - const: starfive,jh7110s > + > additionalProperties: true > > ... > -- > 2.43.2 > [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] [-- Attachment #2: Type: text/plain, Size: 161 bytes --] _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 15+ messages in thread
* RE: [RFC 1/3] dt-bindings: riscv: Add StarFive JH7110S SoC and VisionFive 2 Lite board 2025-08-21 18:17 ` Conor Dooley @ 2025-08-22 7:37 ` Hal Feng 2025-08-22 16:37 ` Conor Dooley 0 siblings, 1 reply; 15+ messages in thread From: Hal Feng @ 2025-08-22 7:37 UTC (permalink / raw) To: Conor Dooley Cc: Conor Dooley, Emil Renner Berthing, Heinrich Schuchardt, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt, Paul Walmsley, Albert Ou, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org > On 22.08.25 02:17, Conor Dooley wrote: > On Thu, Aug 21, 2025 at 06:09:28PM +0800, Hal Feng wrote: > > Add device tree bindings for the StarFive JH7110S SoC and the > > VisionFive 2 Lite board equipped with it. > > > > JH7110S SoC is an industrial SoC which can run at -40~85 degrees > > centigrade and up to 1.25GHz. Its CPU cores and peripherals are mostly > > similar to those of the JH7110 SoC. > > How "mostly" is mostly? Are there memory map or capability differences? To be precise, the CPU cores and peripherals are the same as those of the JH7110 SoC. I will improve the commit description in the next version. Here are the differences between them: JH7110 supports 0~70 degrees centigrade and up to 1.5GHz. JH7110S supports -40~85 degrees centigrade and up to 1.25GHz. Best regards, Hal > > > > > Signed-off-by: Hal Feng <hal.feng@starfivetech.com> > > --- > > Documentation/devicetree/bindings/riscv/starfive.yaml | 5 +++++ > > 1 file changed, 5 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/riscv/starfive.yaml > > b/Documentation/devicetree/bindings/riscv/starfive.yaml > > index 7ef85174353d..a2952490709f 100644 > > --- a/Documentation/devicetree/bindings/riscv/starfive.yaml > > +++ b/Documentation/devicetree/bindings/riscv/starfive.yaml > > @@ -33,6 +33,11 @@ properties: > > - starfive,visionfive-2-v1.3b > > - const: starfive,jh7110 > > > > + - items: > > + - enum: > > + - starfive,visionfive-2-lite > > + - const: starfive,jh7110s > > + > > additionalProperties: true > > > > ... > > -- > > 2.43.2 > > _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [RFC 1/3] dt-bindings: riscv: Add StarFive JH7110S SoC and VisionFive 2 Lite board 2025-08-22 7:37 ` Hal Feng @ 2025-08-22 16:37 ` Conor Dooley 0 siblings, 0 replies; 15+ messages in thread From: Conor Dooley @ 2025-08-22 16:37 UTC (permalink / raw) To: Hal Feng Cc: Conor Dooley, Emil Renner Berthing, Heinrich Schuchardt, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt, Paul Walmsley, Albert Ou, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org [-- Attachment #1.1: Type: text/plain, Size: 2006 bytes --] On Fri, Aug 22, 2025 at 07:37:29AM +0000, Hal Feng wrote: > > On 22.08.25 02:17, Conor Dooley wrote: > > On Thu, Aug 21, 2025 at 06:09:28PM +0800, Hal Feng wrote: > > > Add device tree bindings for the StarFive JH7110S SoC and the > > > VisionFive 2 Lite board equipped with it. > > > > > > JH7110S SoC is an industrial SoC which can run at -40~85 degrees > > > centigrade and up to 1.25GHz. Its CPU cores and peripherals are mostly > > > similar to those of the JH7110 SoC. > > > > How "mostly" is mostly? Are there memory map or capability differences? > > To be precise, the CPU cores and peripherals are the same as those of the > JH7110 SoC. I will improve the commit description in the next version. Ye, please do. The complete lack of differences other than thermals and cpu performance is what allows you to use all the same compatibles for the peripherals after all! > > Here are the differences between them: > JH7110 supports 0~70 degrees centigrade and up to 1.5GHz. > JH7110S supports -40~85 degrees centigrade and up to 1.25GHz. > > Best regards, > Hal > > > > > > > > > Signed-off-by: Hal Feng <hal.feng@starfivetech.com> > > > --- > > > Documentation/devicetree/bindings/riscv/starfive.yaml | 5 +++++ > > > 1 file changed, 5 insertions(+) > > > > > > diff --git a/Documentation/devicetree/bindings/riscv/starfive.yaml > > > b/Documentation/devicetree/bindings/riscv/starfive.yaml > > > index 7ef85174353d..a2952490709f 100644 > > > --- a/Documentation/devicetree/bindings/riscv/starfive.yaml > > > +++ b/Documentation/devicetree/bindings/riscv/starfive.yaml > > > @@ -33,6 +33,11 @@ properties: > > > - starfive,visionfive-2-v1.3b > > > - const: starfive,jh7110 > > > > > > + - items: > > > + - enum: > > > + - starfive,visionfive-2-lite > > > + - const: starfive,jh7110s > > > + > > > additionalProperties: true > > > > > > ... > > > -- > > > 2.43.2 > > > > [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] [-- Attachment #2: Type: text/plain, Size: 161 bytes --] _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [RFC 1/3] dt-bindings: riscv: Add StarFive JH7110S SoC and VisionFive 2 Lite board 2025-08-21 10:09 ` [RFC 1/3] dt-bindings: riscv: Add StarFive JH7110S SoC and " Hal Feng 2025-08-21 18:17 ` Conor Dooley @ 2025-08-24 17:14 ` Icenowy Zheng 2025-08-24 19:48 ` E Shattow 1 sibling, 1 reply; 15+ messages in thread From: Icenowy Zheng @ 2025-08-24 17:14 UTC (permalink / raw) To: Hal Feng, Conor Dooley, Emil Renner Berthing, Heinrich Schuchardt, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt, Paul Walmsley, Albert Ou Cc: devicetree, linux-riscv, linux-kernel 在 2025-08-21星期四的 18:09 +0800,Hal Feng写道: > Add device tree bindings for the StarFive JH7110S SoC > and the VisionFive 2 Lite board equipped with it. > > JH7110S SoC is an industrial SoC which can run at -40~85 degrees > centigrade > and up to 1.25GHz. Its CPU cores and peripherals are mostly similar > to > those of the JH7110 SoC. > > Signed-off-by: Hal Feng <hal.feng@starfivetech.com> > --- > Documentation/devicetree/bindings/riscv/starfive.yaml | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/Documentation/devicetree/bindings/riscv/starfive.yaml > b/Documentation/devicetree/bindings/riscv/starfive.yaml > index 7ef85174353d..a2952490709f 100644 > --- a/Documentation/devicetree/bindings/riscv/starfive.yaml > +++ b/Documentation/devicetree/bindings/riscv/starfive.yaml > @@ -33,6 +33,11 @@ properties: > - starfive,visionfive-2-v1.3b > - const: starfive,jh7110 > > + - items: > + - enum: > + - starfive,visionfive-2-lite > + - const: starfive,jh7110s I suggest adding starfive,jh7110 as a fallback here, as it's the SoC best known to most softwares, and JH7110S shouldn't have any difference to JH7110 other than binning. > + > additionalProperties: true > > ... _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [RFC 1/3] dt-bindings: riscv: Add StarFive JH7110S SoC and VisionFive 2 Lite board 2025-08-24 17:14 ` Icenowy Zheng @ 2025-08-24 19:48 ` E Shattow 0 siblings, 0 replies; 15+ messages in thread From: E Shattow @ 2025-08-24 19:48 UTC (permalink / raw) To: Icenowy Zheng, Hal Feng, Conor Dooley, Emil Renner Berthing, Heinrich Schuchardt, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt, Paul Walmsley, Albert Ou Cc: devicetree, linux-riscv, linux-kernel On 8/24/25 10:14, Icenowy Zheng wrote: > 在 2025-08-21星期四的 18:09 +0800,Hal Feng写道: >> Add device tree bindings for the StarFive JH7110S SoC >> and the VisionFive 2 Lite board equipped with it. >> >> JH7110S SoC is an industrial SoC which can run at -40~85 degrees >> centigrade >> and up to 1.25GHz. Its CPU cores and peripherals are mostly similar >> to >> those of the JH7110 SoC. >> >> Signed-off-by: Hal Feng <hal.feng@starfivetech.com> >> --- >> Documentation/devicetree/bindings/riscv/starfive.yaml | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/riscv/starfive.yaml >> b/Documentation/devicetree/bindings/riscv/starfive.yaml >> index 7ef85174353d..a2952490709f 100644 >> --- a/Documentation/devicetree/bindings/riscv/starfive.yaml >> +++ b/Documentation/devicetree/bindings/riscv/starfive.yaml >> @@ -33,6 +33,11 @@ properties: >> - starfive,visionfive-2-v1.3b >> - const: starfive,jh7110 >> >> + - items: >> + - enum: >> + - starfive,visionfive-2-lite >> + - const: starfive,jh7110s > > I suggest adding starfive,jh7110 as a fallback here, as it's the SoC > best known to most softwares, and JH7110S shouldn't have any difference > to JH7110 other than binning. > >> + >> additionalProperties: true >> >> ... > NAK, it is said the operating parameters of jh7110s are distinct from jh7110. You would have to show that it is safe to operate the jh7110s with the operating parameters of the jh7110. If anything this would be the inverse, some jh711x (or even j71xx to include jh7100) common description with fallback operating parameters? And to add this common fallback with jh7100 (?), jh7110, jh7110s -E _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 15+ messages in thread
* [RFC 2/3] riscv: dts: starfive: jh7110-common: Move out some nodes to the board dts 2025-08-21 10:09 [RFC 0/3] Add support for StarFive VisionFive 2 Lite board Hal Feng 2025-08-21 10:09 ` [RFC 1/3] dt-bindings: riscv: Add StarFive JH7110S SoC and " Hal Feng @ 2025-08-21 10:09 ` Hal Feng 2025-08-21 15:07 ` E Shattow 2025-08-21 10:09 ` [RFC 3/3] riscv: dts: starfive: Add VisionFive 2 Lite board device tree Hal Feng 2 siblings, 1 reply; 15+ messages in thread From: Hal Feng @ 2025-08-21 10:09 UTC (permalink / raw) To: Conor Dooley, Emil Renner Berthing, Heinrich Schuchardt, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt, Paul Walmsley, Albert Ou Cc: Hal Feng, devicetree, linux-riscv, linux-kernel Some node in this file are not used by the upcoming VisionFive 2 Lite board. Move them to the board dts to prepare for adding the new VisionFive 2 Lite device tree. Signed-off-by: Hal Feng <hal.feng@starfivetech.com> --- .../boot/dts/starfive/jh7110-common.dtsi | 22 --------- .../jh7110-deepcomputing-fml13v01.dts | 49 +++++++++++++++++++ .../boot/dts/starfive/jh7110-milkv-mars.dts | 49 +++++++++++++++++++ .../dts/starfive/jh7110-pine64-star64.dts | 49 +++++++++++++++++++ .../jh7110-starfive-visionfive-2.dtsi | 46 +++++++++++++++++ arch/riscv/boot/dts/starfive/jh7110.dtsi | 16 ------ 6 files changed, 193 insertions(+), 38 deletions(-) diff --git a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi index 2eaf01775ef5..8332622420ca 100644 --- a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi +++ b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi @@ -281,15 +281,9 @@ &mmc0 { assigned-clock-rates = <50000000>; bus-width = <8>; bootph-pre-ram; - cap-mmc-highspeed; - mmc-ddr-1_8v; - mmc-hs200-1_8v; - cap-mmc-hw-reset; post-power-on-delay-ms = <200>; pinctrl-names = "default"; pinctrl-0 = <&mmc0_pins>; - vmmc-supply = <&vcc_3v3>; - vqmmc-supply = <&emmc_vdd>; status = "okay"; }; @@ -299,12 +293,7 @@ &mmc1 { assigned-clock-rates = <50000000>; bus-width = <4>; bootph-pre-ram; - no-sdio; - no-mmc; - cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>; - disable-wp; cap-sd-highspeed; - post-power-on-delay-ms = <200>; pinctrl-names = "default"; pinctrl-0 = <&mmc1_pins>; status = "okay"; @@ -448,17 +437,6 @@ GPOEN_SYS_I2C6_DATA, }; mmc0_pins: mmc0-0 { - rst-pins { - pinmux = <GPIOMUX(62, GPOUT_SYS_SDIO0_RST, - GPOEN_ENABLE, - GPI_NONE)>; - bias-pull-up; - drive-strength = <12>; - input-disable; - input-schmitt-disable; - slew-rate = <0>; - }; - mmc-pins { pinmux = <PINMUX(PAD_SD0_CLK, 0)>, <PINMUX(PAD_SD0_CMD, 0)>, diff --git a/arch/riscv/boot/dts/starfive/jh7110-deepcomputing-fml13v01.dts b/arch/riscv/boot/dts/starfive/jh7110-deepcomputing-fml13v01.dts index f2857d021d68..5a2a41a7e8c3 100644 --- a/arch/riscv/boot/dts/starfive/jh7110-deepcomputing-fml13v01.dts +++ b/arch/riscv/boot/dts/starfive/jh7110-deepcomputing-fml13v01.dts @@ -11,6 +11,55 @@ / { compatible = "deepcomputing,fml13v01", "starfive,jh7110"; }; +&cpu_opp { + opp-375000000 { + opp-hz = /bits/ 64 <375000000>; + opp-microvolt = <800000>; + }; + opp-500000000 { + opp-hz = /bits/ 64 <500000000>; + opp-microvolt = <800000>; + }; + opp-750000000 { + opp-hz = /bits/ 64 <750000000>; + opp-microvolt = <800000>; + }; + opp-1500000000 { + opp-hz = /bits/ 64 <1500000000>; + opp-microvolt = <1040000>; + }; +}; + +&mmc0 { + cap-mmc-highspeed; + cap-mmc-hw-reset; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + vmmc-supply = <&vcc_3v3>; + vqmmc-supply = <&emmc_vdd>; +}; + +&mmc0_pins { + rst-pins { + pinmux = <GPIOMUX(62, GPOUT_SYS_SDIO0_RST, + GPOEN_ENABLE, + GPI_NONE)>; + bias-pull-up; + drive-strength = <12>; + input-disable; + input-schmitt-disable; + slew-rate = <0>; + }; +}; + +&mmc1 { + no-sdio; + no-mmc; + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>; + disable-wp; + post-power-on-delay-ms = <200>; +}; + &pcie1 { perst-gpios = <&sysgpio 21 GPIO_ACTIVE_LOW>; phys = <&pciephy1>; diff --git a/arch/riscv/boot/dts/starfive/jh7110-milkv-mars.dts b/arch/riscv/boot/dts/starfive/jh7110-milkv-mars.dts index fdaf6b4557da..96f6b2f072d4 100644 --- a/arch/riscv/boot/dts/starfive/jh7110-milkv-mars.dts +++ b/arch/riscv/boot/dts/starfive/jh7110-milkv-mars.dts @@ -11,6 +11,25 @@ / { compatible = "milkv,mars", "starfive,jh7110"; }; +&cpu_opp { + opp-375000000 { + opp-hz = /bits/ 64 <375000000>; + opp-microvolt = <800000>; + }; + opp-500000000 { + opp-hz = /bits/ 64 <500000000>; + opp-microvolt = <800000>; + }; + opp-750000000 { + opp-hz = /bits/ 64 <750000000>; + opp-microvolt = <800000>; + }; + opp-1500000000 { + opp-hz = /bits/ 64 <1500000000>; + opp-microvolt = <1040000>; + }; +}; + &gmac0 { assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>; assigned-clock-parents = <&aoncrg JH7110_AONCLK_GMAC0_RMII_RTX>; @@ -22,6 +41,36 @@ &i2c0 { status = "okay"; }; +&mmc0 { + cap-mmc-highspeed; + cap-mmc-hw-reset; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + vmmc-supply = <&vcc_3v3>; + vqmmc-supply = <&emmc_vdd>; +}; + +&mmc0_pins { + rst-pins { + pinmux = <GPIOMUX(62, GPOUT_SYS_SDIO0_RST, + GPOEN_ENABLE, + GPI_NONE)>; + bias-pull-up; + drive-strength = <12>; + input-disable; + input-schmitt-disable; + slew-rate = <0>; + }; +}; + +&mmc1 { + no-sdio; + no-mmc; + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>; + disable-wp; + post-power-on-delay-ms = <200>; +}; + &pcie0 { status = "okay"; }; diff --git a/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts b/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts index 31e825be2065..c9677aef9ff0 100644 --- a/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts +++ b/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts @@ -14,6 +14,25 @@ aliases { }; }; +&cpu_opp { + opp-375000000 { + opp-hz = /bits/ 64 <375000000>; + opp-microvolt = <800000>; + }; + opp-500000000 { + opp-hz = /bits/ 64 <500000000>; + opp-microvolt = <800000>; + }; + opp-750000000 { + opp-hz = /bits/ 64 <750000000>; + opp-microvolt = <800000>; + }; + opp-1500000000 { + opp-hz = /bits/ 64 <1500000000>; + opp-microvolt = <1040000>; + }; +}; + &gmac0 { starfive,tx-use-rgmii-clk; assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>; @@ -44,6 +63,36 @@ &i2c0 { status = "okay"; }; +&mmc0 { + cap-mmc-highspeed; + cap-mmc-hw-reset; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + vmmc-supply = <&vcc_3v3>; + vqmmc-supply = <&emmc_vdd>; +}; + +&mmc0_pins { + rst-pins { + pinmux = <GPIOMUX(62, GPOUT_SYS_SDIO0_RST, + GPOEN_ENABLE, + GPI_NONE)>; + bias-pull-up; + drive-strength = <12>; + input-disable; + input-schmitt-disable; + slew-rate = <0>; + }; +}; + +&mmc1 { + no-sdio; + no-mmc; + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>; + disable-wp; + post-power-on-delay-ms = <200>; +}; + &pcie1 { status = "okay"; }; diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi index 5f14afb2c24d..d1e4206f1251 100644 --- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi @@ -13,6 +13,25 @@ aliases { }; }; +&cpu_opp { + opp-375000000 { + opp-hz = /bits/ 64 <375000000>; + opp-microvolt = <800000>; + }; + opp-500000000 { + opp-hz = /bits/ 64 <500000000>; + opp-microvolt = <800000>; + }; + opp-750000000 { + opp-hz = /bits/ 64 <750000000>; + opp-microvolt = <800000>; + }; + opp-1500000000 { + opp-hz = /bits/ 64 <1500000000>; + opp-microvolt = <1040000>; + }; +}; + &gmac0 { status = "okay"; }; @@ -38,9 +57,36 @@ &i2c0 { }; &mmc0 { + cap-mmc-highspeed; + cap-mmc-hw-reset; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + vmmc-supply = <&vcc_3v3>; + vqmmc-supply = <&emmc_vdd>; non-removable; }; +&mmc0_pins { + rst-pins { + pinmux = <GPIOMUX(62, GPOUT_SYS_SDIO0_RST, + GPOEN_ENABLE, + GPI_NONE)>; + bias-pull-up; + drive-strength = <12>; + input-disable; + input-schmitt-disable; + slew-rate = <0>; + }; +}; + +&mmc1 { + no-sdio; + no-mmc; + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>; + disable-wp; + post-power-on-delay-ms = <200>; +}; + &pcie0 { status = "okay"; }; diff --git a/arch/riscv/boot/dts/starfive/jh7110.dtsi b/arch/riscv/boot/dts/starfive/jh7110.dtsi index 0ba74ef04679..d2463399b959 100644 --- a/arch/riscv/boot/dts/starfive/jh7110.dtsi +++ b/arch/riscv/boot/dts/starfive/jh7110.dtsi @@ -200,22 +200,6 @@ core4 { cpu_opp: opp-table-0 { compatible = "operating-points-v2"; opp-shared; - opp-375000000 { - opp-hz = /bits/ 64 <375000000>; - opp-microvolt = <800000>; - }; - opp-500000000 { - opp-hz = /bits/ 64 <500000000>; - opp-microvolt = <800000>; - }; - opp-750000000 { - opp-hz = /bits/ 64 <750000000>; - opp-microvolt = <800000>; - }; - opp-1500000000 { - opp-hz = /bits/ 64 <1500000000>; - opp-microvolt = <1040000>; - }; }; thermal-zones { -- 2.43.2 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [RFC 2/3] riscv: dts: starfive: jh7110-common: Move out some nodes to the board dts 2025-08-21 10:09 ` [RFC 2/3] riscv: dts: starfive: jh7110-common: Move out some nodes to the board dts Hal Feng @ 2025-08-21 15:07 ` E Shattow 2025-08-22 6:11 ` Hal Feng 0 siblings, 1 reply; 15+ messages in thread From: E Shattow @ 2025-08-21 15:07 UTC (permalink / raw) To: Hal Feng, Conor Dooley, Emil Renner Berthing, Heinrich Schuchardt, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt, Paul Walmsley, Albert Ou Cc: devicetree, linux-riscv, linux-kernel On 8/21/25 03:09, Hal Feng wrote: > Some node in this file are not used by the upcoming VisionFive 2 Lite > board. Move them to the board dts to prepare for adding the new > VisionFive 2 Lite device tree. > > Signed-off-by: Hal Feng <hal.feng@starfivetech.com> > --- > .../boot/dts/starfive/jh7110-common.dtsi | 22 --------- > .../jh7110-deepcomputing-fml13v01.dts | 49 +++++++++++++++++++ > .../boot/dts/starfive/jh7110-milkv-mars.dts | 49 +++++++++++++++++++ > .../dts/starfive/jh7110-pine64-star64.dts | 49 +++++++++++++++++++ > .../jh7110-starfive-visionfive-2.dtsi | 46 +++++++++++++++++ > arch/riscv/boot/dts/starfive/jh7110.dtsi | 16 ------ > 6 files changed, 193 insertions(+), 38 deletions(-) > > diff --git a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi > index 2eaf01775ef5..8332622420ca 100644 > --- a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi > +++ b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi > @@ -281,15 +281,9 @@ &mmc0 { > assigned-clock-rates = <50000000>; > bus-width = <8>; > bootph-pre-ram; > - cap-mmc-highspeed; > - mmc-ddr-1_8v; > - mmc-hs200-1_8v; > - cap-mmc-hw-reset; > post-power-on-delay-ms = <200>; > pinctrl-names = "default"; > pinctrl-0 = <&mmc0_pins>; > - vmmc-supply = <&vcc_3v3>; > - vqmmc-supply = <&emmc_vdd>; > status = "okay"; > }; > > @@ -299,12 +293,7 @@ &mmc1 { > assigned-clock-rates = <50000000>; > bus-width = <4>; > bootph-pre-ram; > - no-sdio; drop no-sdio, it is not there in riscv-dt-for-next branch ref: https://lore.kernel.org/lkml/20250819-sushi-change-1254c2d2a08d@spud/ > - no-mmc; similar, I think we should now drop no-mmc unless you can say there is a defect which requires it. I have tested with Star64 and Milk-V Mars CM(/-Lite); if you can confirm with boards you have access to that 'no-mmc' can be dropped then we should just drop it. The correct reason for having this 'no-mmc' would only be if the controller has an error when receiving these commands. > - cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>; > - disable-wp; > cap-sd-highspeed; > - post-power-on-delay-ms = <200>; I would like to know the reason for this delay configuration? Is it described somewhere in technical documentation or discussion why we have this? > pinctrl-names = "default"; > pinctrl-0 = <&mmc1_pins>; > status = "okay"; > @@ -448,17 +437,6 @@ GPOEN_SYS_I2C6_DATA, > }; > > mmc0_pins: mmc0-0 { > - rst-pins { > - pinmux = <GPIOMUX(62, GPOUT_SYS_SDIO0_RST, > - GPOEN_ENABLE, > - GPI_NONE)>; > - bias-pull-up; > - drive-strength = <12>; > - input-disable; > - input-schmitt-disable; > - slew-rate = <0>; > - }; > - > mmc-pins { > pinmux = <PINMUX(PAD_SD0_CLK, 0)>, > <PINMUX(PAD_SD0_CMD, 0)>, > diff --git a/arch/riscv/boot/dts/starfive/jh7110-deepcomputing-fml13v01.dts b/arch/riscv/boot/dts/starfive/jh7110-deepcomputing-fml13v01.dts > index f2857d021d68..5a2a41a7e8c3 100644 > --- a/arch/riscv/boot/dts/starfive/jh7110-deepcomputing-fml13v01.dts > +++ b/arch/riscv/boot/dts/starfive/jh7110-deepcomputing-fml13v01.dts > @@ -11,6 +11,55 @@ / { > compatible = "deepcomputing,fml13v01", "starfive,jh7110"; > }; > > +&cpu_opp { > + opp-375000000 { > + opp-hz = /bits/ 64 <375000000>; > + opp-microvolt = <800000>; > + }; > + opp-500000000 { > + opp-hz = /bits/ 64 <500000000>; > + opp-microvolt = <800000>; > + }; > + opp-750000000 { > + opp-hz = /bits/ 64 <750000000>; > + opp-microvolt = <800000>; > + }; > + opp-1500000000 { > + opp-hz = /bits/ 64 <1500000000>; > + opp-microvolt = <1040000>; > + }; > +}; > + > +&mmc0 { > + cap-mmc-highspeed; > + cap-mmc-hw-reset; > + mmc-ddr-1_8v; > + mmc-hs200-1_8v; > + vmmc-supply = <&vcc_3v3>; > + vqmmc-supply = <&emmc_vdd>; > +}; > + > +&mmc0_pins { > + rst-pins { > + pinmux = <GPIOMUX(62, GPOUT_SYS_SDIO0_RST, > + GPOEN_ENABLE, > + GPI_NONE)>; > + bias-pull-up; > + drive-strength = <12>; > + input-disable; > + input-schmitt-disable; > + slew-rate = <0>; > + }; > +}; > + > +&mmc1 { > + no-sdio; > + no-mmc; > + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>; > + disable-wp; > + post-power-on-delay-ms = <200>; > +}; > + > &pcie1 { > perst-gpios = <&sysgpio 21 GPIO_ACTIVE_LOW>; > phys = <&pciephy1>; > diff --git a/arch/riscv/boot/dts/starfive/jh7110-milkv-mars.dts b/arch/riscv/boot/dts/starfive/jh7110-milkv-mars.dts > index fdaf6b4557da..96f6b2f072d4 100644 > --- a/arch/riscv/boot/dts/starfive/jh7110-milkv-mars.dts > +++ b/arch/riscv/boot/dts/starfive/jh7110-milkv-mars.dts > @@ -11,6 +11,25 @@ / { > compatible = "milkv,mars", "starfive,jh7110"; > }; > > +&cpu_opp { > + opp-375000000 { > + opp-hz = /bits/ 64 <375000000>; > + opp-microvolt = <800000>; > + }; > + opp-500000000 { > + opp-hz = /bits/ 64 <500000000>; > + opp-microvolt = <800000>; > + }; > + opp-750000000 { > + opp-hz = /bits/ 64 <750000000>; > + opp-microvolt = <800000>; > + }; > + opp-1500000000 { > + opp-hz = /bits/ 64 <1500000000>; > + opp-microvolt = <1040000>; > + }; > +}; > + > &gmac0 { > assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>; > assigned-clock-parents = <&aoncrg JH7110_AONCLK_GMAC0_RMII_RTX>; > @@ -22,6 +41,36 @@ &i2c0 { > status = "okay"; > }; > > +&mmc0 { > + cap-mmc-highspeed; > + cap-mmc-hw-reset; > + mmc-ddr-1_8v; > + mmc-hs200-1_8v; > + vmmc-supply = <&vcc_3v3>; > + vqmmc-supply = <&emmc_vdd>; > +}; > + > +&mmc0_pins { > + rst-pins { > + pinmux = <GPIOMUX(62, GPOUT_SYS_SDIO0_RST, > + GPOEN_ENABLE, > + GPI_NONE)>; > + bias-pull-up; > + drive-strength = <12>; > + input-disable; > + input-schmitt-disable; > + slew-rate = <0>; > + }; > +}; > + > +&mmc1 { > + no-sdio; > + no-mmc; > + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>; > + disable-wp; > + post-power-on-delay-ms = <200>; > +}; > + > &pcie0 { > status = "okay"; > }; > diff --git a/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts b/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts > index 31e825be2065..c9677aef9ff0 100644 > --- a/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts > +++ b/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts > @@ -14,6 +14,25 @@ aliases { > }; > }; > > +&cpu_opp { > + opp-375000000 { > + opp-hz = /bits/ 64 <375000000>; > + opp-microvolt = <800000>; > + }; > + opp-500000000 { > + opp-hz = /bits/ 64 <500000000>; > + opp-microvolt = <800000>; > + }; > + opp-750000000 { > + opp-hz = /bits/ 64 <750000000>; > + opp-microvolt = <800000>; > + }; > + opp-1500000000 { > + opp-hz = /bits/ 64 <1500000000>; > + opp-microvolt = <1040000>; > + }; > +}; > + > &gmac0 { > starfive,tx-use-rgmii-clk; > assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>; > @@ -44,6 +63,36 @@ &i2c0 { > status = "okay"; > }; > > +&mmc0 { > + cap-mmc-highspeed; > + cap-mmc-hw-reset; > + mmc-ddr-1_8v; > + mmc-hs200-1_8v; > + vmmc-supply = <&vcc_3v3>; > + vqmmc-supply = <&emmc_vdd>; > +}; > + > +&mmc0_pins { > + rst-pins { > + pinmux = <GPIOMUX(62, GPOUT_SYS_SDIO0_RST, > + GPOEN_ENABLE, > + GPI_NONE)>; > + bias-pull-up; > + drive-strength = <12>; > + input-disable; > + input-schmitt-disable; > + slew-rate = <0>; > + }; > +}; > + > +&mmc1 { > + no-sdio; > + no-mmc; > + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>; > + disable-wp; > + post-power-on-delay-ms = <200>; > +}; > + > &pcie1 { > status = "okay"; > }; > diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi > index 5f14afb2c24d..d1e4206f1251 100644 > --- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi > +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi > @@ -13,6 +13,25 @@ aliases { > }; > }; > > +&cpu_opp { > + opp-375000000 { > + opp-hz = /bits/ 64 <375000000>; > + opp-microvolt = <800000>; > + }; > + opp-500000000 { > + opp-hz = /bits/ 64 <500000000>; > + opp-microvolt = <800000>; > + }; > + opp-750000000 { > + opp-hz = /bits/ 64 <750000000>; > + opp-microvolt = <800000>; > + }; > + opp-1500000000 { > + opp-hz = /bits/ 64 <1500000000>; > + opp-microvolt = <1040000>; > + }; > +}; > + > &gmac0 { > status = "okay"; > }; > @@ -38,9 +57,36 @@ &i2c0 { > }; > > &mmc0 { > + cap-mmc-highspeed; > + cap-mmc-hw-reset; > + mmc-ddr-1_8v; > + mmc-hs200-1_8v; > + vmmc-supply = <&vcc_3v3>; > + vqmmc-supply = <&emmc_vdd>; > non-removable; > }; > > +&mmc0_pins { > + rst-pins { > + pinmux = <GPIOMUX(62, GPOUT_SYS_SDIO0_RST, > + GPOEN_ENABLE, > + GPI_NONE)>; > + bias-pull-up; > + drive-strength = <12>; > + input-disable; > + input-schmitt-disable; > + slew-rate = <0>; > + }; > +}; > + > +&mmc1 { > + no-sdio; > + no-mmc; > + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>; > + disable-wp; > + post-power-on-delay-ms = <200>; > +}; > + > &pcie0 { > status = "okay"; > }; > diff --git a/arch/riscv/boot/dts/starfive/jh7110.dtsi b/arch/riscv/boot/dts/starfive/jh7110.dtsi > index 0ba74ef04679..d2463399b959 100644 > --- a/arch/riscv/boot/dts/starfive/jh7110.dtsi > +++ b/arch/riscv/boot/dts/starfive/jh7110.dtsi > @@ -200,22 +200,6 @@ core4 { > cpu_opp: opp-table-0 { > compatible = "operating-points-v2"; > opp-shared; > - opp-375000000 { > - opp-hz = /bits/ 64 <375000000>; > - opp-microvolt = <800000>; > - }; > - opp-500000000 { > - opp-hz = /bits/ 64 <500000000>; > - opp-microvolt = <800000>; > - }; > - opp-750000000 { > - opp-hz = /bits/ 64 <750000000>; > - opp-microvolt = <800000>; > - }; > - opp-1500000000 { > - opp-hz = /bits/ 64 <1500000000>; > - opp-microvolt = <1040000>; > - }; > }; > > thermal-zones { With that, Reviewed-by: E Shattow <e@freeshell.de> _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 15+ messages in thread
* RE: [RFC 2/3] riscv: dts: starfive: jh7110-common: Move out some nodes to the board dts 2025-08-21 15:07 ` E Shattow @ 2025-08-22 6:11 ` Hal Feng 0 siblings, 0 replies; 15+ messages in thread From: Hal Feng @ 2025-08-22 6:11 UTC (permalink / raw) To: E Shattow, Conor Dooley, Emil Renner Berthing, Heinrich Schuchardt, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt, Paul Walmsley, Albert Ou Cc: devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org > On 21.08.25 23:08, E Shattow wrote: > On 8/21/25 03:09, Hal Feng wrote: > > Some node in this file are not used by the upcoming VisionFive 2 Lite > > board. Move them to the board dts to prepare for adding the new > > VisionFive 2 Lite device tree. > > > > Signed-off-by: Hal Feng <hal.feng@starfivetech.com> > > --- > > .../boot/dts/starfive/jh7110-common.dtsi | 22 --------- > > .../jh7110-deepcomputing-fml13v01.dts | 49 +++++++++++++++++++ > > .../boot/dts/starfive/jh7110-milkv-mars.dts | 49 +++++++++++++++++++ > > .../dts/starfive/jh7110-pine64-star64.dts | 49 +++++++++++++++++++ > > .../jh7110-starfive-visionfive-2.dtsi | 46 +++++++++++++++++ > > arch/riscv/boot/dts/starfive/jh7110.dtsi | 16 ------ > > 6 files changed, 193 insertions(+), 38 deletions(-) > > > > diff --git a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi > > b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi > > index 2eaf01775ef5..8332622420ca 100644 > > --- a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi > > +++ b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi > > @@ -281,15 +281,9 @@ &mmc0 { > > assigned-clock-rates = <50000000>; > > bus-width = <8>; > > bootph-pre-ram; > > - cap-mmc-highspeed; > > - mmc-ddr-1_8v; > > - mmc-hs200-1_8v; > > - cap-mmc-hw-reset; > > post-power-on-delay-ms = <200>; > > pinctrl-names = "default"; > > pinctrl-0 = <&mmc0_pins>; > > - vmmc-supply = <&vcc_3v3>; > > - vqmmc-supply = <&emmc_vdd>; > > status = "okay"; > > }; > > > > @@ -299,12 +293,7 @@ &mmc1 { > > assigned-clock-rates = <50000000>; > > bus-width = <4>; > > bootph-pre-ram; > > > - no-sdio; > > drop no-sdio, it is not there in riscv-dt-for-next branch > ref: https://lore.kernel.org/lkml/20250819-sushi-change- > 1254c2d2a08d@spud/ OK. Thanks for pointing it out. > > > - no-mmc; > > similar, I think we should now drop no-mmc unless you can say there is a > defect which requires it. I have tested with Star64 and Milk-V Mars CM(/-Lite); > if you can confirm with boards you have access to that 'no-mmc' can be > dropped then we should just drop it. The correct reason for having this 'no- > mmc' would only be if the controller has an error when receiving these > commands. I tested successfully on VF2 v1.3b and VF2 Lite without "no-sdio", "no-mmc" and "post-power-on-delay-ms". So let's drop them. > > > - cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>; > > - disable-wp; > > cap-sd-highspeed; > > > - post-power-on-delay-ms = <200>; > > I would like to know the reason for this delay configuration? Is it described > somewhere in technical documentation or discussion why we have this? The source of this property can not be found now. Let's drop it. > > > pinctrl-names = "default"; > > pinctrl-0 = <&mmc1_pins>; > > status = "okay"; > > @@ -448,17 +437,6 @@ GPOEN_SYS_I2C6_DATA, > > }; > > > > mmc0_pins: mmc0-0 { > > - rst-pins { > > - pinmux = <GPIOMUX(62, GPOUT_SYS_SDIO0_RST, > > - GPOEN_ENABLE, > > - GPI_NONE)>; > > - bias-pull-up; > > - drive-strength = <12>; > > - input-disable; > > - input-schmitt-disable; > > - slew-rate = <0>; > > - }; > > - > > mmc-pins { > > pinmux = <PINMUX(PAD_SD0_CLK, 0)>, > > <PINMUX(PAD_SD0_CMD, 0)>, > > diff --git > > a/arch/riscv/boot/dts/starfive/jh7110-deepcomputing-fml13v01.dts > > b/arch/riscv/boot/dts/starfive/jh7110-deepcomputing-fml13v01.dts > > index f2857d021d68..5a2a41a7e8c3 100644 > > --- a/arch/riscv/boot/dts/starfive/jh7110-deepcomputing-fml13v01.dts > > +++ b/arch/riscv/boot/dts/starfive/jh7110-deepcomputing-fml13v01.dts > > @@ -11,6 +11,55 @@ / { > > compatible = "deepcomputing,fml13v01", "starfive,jh7110"; }; > > > > +&cpu_opp { > > + opp-375000000 { > > + opp-hz = /bits/ 64 <375000000>; > > + opp-microvolt = <800000>; > > + }; > > + opp-500000000 { > > + opp-hz = /bits/ 64 <500000000>; > > + opp-microvolt = <800000>; > > + }; > > + opp-750000000 { > > + opp-hz = /bits/ 64 <750000000>; > > + opp-microvolt = <800000>; > > + }; > > + opp-1500000000 { > > + opp-hz = /bits/ 64 <1500000000>; > > + opp-microvolt = <1040000>; > > + }; > > +}; > > + > > +&mmc0 { > > + cap-mmc-highspeed; > > + cap-mmc-hw-reset; > > + mmc-ddr-1_8v; > > + mmc-hs200-1_8v; > > + vmmc-supply = <&vcc_3v3>; > > + vqmmc-supply = <&emmc_vdd>; > > +}; > > + > > +&mmc0_pins { > > + rst-pins { > > + pinmux = <GPIOMUX(62, GPOUT_SYS_SDIO0_RST, > > + GPOEN_ENABLE, > > + GPI_NONE)>; > > + bias-pull-up; > > + drive-strength = <12>; > > + input-disable; > > + input-schmitt-disable; > > + slew-rate = <0>; > > + }; > > +}; > > + > > +&mmc1 { > > + no-sdio; > > + no-mmc; > > + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>; > > + disable-wp; > > + post-power-on-delay-ms = <200>; > > +}; > > + > > &pcie1 { > > perst-gpios = <&sysgpio 21 GPIO_ACTIVE_LOW>; > > phys = <&pciephy1>; > > diff --git a/arch/riscv/boot/dts/starfive/jh7110-milkv-mars.dts > > b/arch/riscv/boot/dts/starfive/jh7110-milkv-mars.dts > > index fdaf6b4557da..96f6b2f072d4 100644 > > --- a/arch/riscv/boot/dts/starfive/jh7110-milkv-mars.dts > > +++ b/arch/riscv/boot/dts/starfive/jh7110-milkv-mars.dts > > @@ -11,6 +11,25 @@ / { > > compatible = "milkv,mars", "starfive,jh7110"; }; > > > > +&cpu_opp { > > + opp-375000000 { > > + opp-hz = /bits/ 64 <375000000>; > > + opp-microvolt = <800000>; > > + }; > > + opp-500000000 { > > + opp-hz = /bits/ 64 <500000000>; > > + opp-microvolt = <800000>; > > + }; > > + opp-750000000 { > > + opp-hz = /bits/ 64 <750000000>; > > + opp-microvolt = <800000>; > > + }; > > + opp-1500000000 { > > + opp-hz = /bits/ 64 <1500000000>; > > + opp-microvolt = <1040000>; > > + }; > > +}; > > + > > &gmac0 { > > assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>; > > assigned-clock-parents = <&aoncrg > JH7110_AONCLK_GMAC0_RMII_RTX>; @@ > > -22,6 +41,36 @@ &i2c0 { > > status = "okay"; > > }; > > > > +&mmc0 { > > + cap-mmc-highspeed; > > + cap-mmc-hw-reset; > > + mmc-ddr-1_8v; > > + mmc-hs200-1_8v; > > + vmmc-supply = <&vcc_3v3>; > > + vqmmc-supply = <&emmc_vdd>; > > +}; > > + > > +&mmc0_pins { > > + rst-pins { > > + pinmux = <GPIOMUX(62, GPOUT_SYS_SDIO0_RST, > > + GPOEN_ENABLE, > > + GPI_NONE)>; > > + bias-pull-up; > > + drive-strength = <12>; > > + input-disable; > > + input-schmitt-disable; > > + slew-rate = <0>; > > + }; > > +}; > > + > > +&mmc1 { > > + no-sdio; > > + no-mmc; > > + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>; > > + disable-wp; > > + post-power-on-delay-ms = <200>; > > +}; > > + > > &pcie0 { > > status = "okay"; > > }; > > diff --git a/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts > > b/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts > > index 31e825be2065..c9677aef9ff0 100644 > > --- a/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts > > +++ b/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts > > @@ -14,6 +14,25 @@ aliases { > > }; > > }; > > > > +&cpu_opp { > > + opp-375000000 { > > + opp-hz = /bits/ 64 <375000000>; > > + opp-microvolt = <800000>; > > + }; > > + opp-500000000 { > > + opp-hz = /bits/ 64 <500000000>; > > + opp-microvolt = <800000>; > > + }; > > + opp-750000000 { > > + opp-hz = /bits/ 64 <750000000>; > > + opp-microvolt = <800000>; > > + }; > > + opp-1500000000 { > > + opp-hz = /bits/ 64 <1500000000>; > > + opp-microvolt = <1040000>; > > + }; > > +}; > > + > > &gmac0 { > > starfive,tx-use-rgmii-clk; > > assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>; @@ - > 44,6 +63,36 > > @@ &i2c0 { > > status = "okay"; > > }; > > > > +&mmc0 { > > + cap-mmc-highspeed; > > + cap-mmc-hw-reset; > > + mmc-ddr-1_8v; > > + mmc-hs200-1_8v; > > + vmmc-supply = <&vcc_3v3>; > > + vqmmc-supply = <&emmc_vdd>; > > +}; > > + > > +&mmc0_pins { > > + rst-pins { > > + pinmux = <GPIOMUX(62, GPOUT_SYS_SDIO0_RST, > > + GPOEN_ENABLE, > > + GPI_NONE)>; > > + bias-pull-up; > > + drive-strength = <12>; > > + input-disable; > > + input-schmitt-disable; > > + slew-rate = <0>; > > + }; > > +}; > > + > > +&mmc1 { > > + no-sdio; > > + no-mmc; > > + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>; > > + disable-wp; > > + post-power-on-delay-ms = <200>; > > +}; > > + > > &pcie1 { > > status = "okay"; > > }; > > diff --git > > a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi > > b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi > > index 5f14afb2c24d..d1e4206f1251 100644 > > --- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi > > +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi > > @@ -13,6 +13,25 @@ aliases { > > }; > > }; > > > > +&cpu_opp { > > + opp-375000000 { > > + opp-hz = /bits/ 64 <375000000>; > > + opp-microvolt = <800000>; > > + }; > > + opp-500000000 { > > + opp-hz = /bits/ 64 <500000000>; > > + opp-microvolt = <800000>; > > + }; > > + opp-750000000 { > > + opp-hz = /bits/ 64 <750000000>; > > + opp-microvolt = <800000>; > > + }; > > + opp-1500000000 { > > + opp-hz = /bits/ 64 <1500000000>; > > + opp-microvolt = <1040000>; > > + }; > > +}; > > + > > &gmac0 { > > status = "okay"; > > }; > > @@ -38,9 +57,36 @@ &i2c0 { > > }; > > > > &mmc0 { > > + cap-mmc-highspeed; > > + cap-mmc-hw-reset; > > + mmc-ddr-1_8v; > > + mmc-hs200-1_8v; > > + vmmc-supply = <&vcc_3v3>; > > + vqmmc-supply = <&emmc_vdd>; > > non-removable; > > }; > > > > +&mmc0_pins { > > + rst-pins { > > + pinmux = <GPIOMUX(62, GPOUT_SYS_SDIO0_RST, > > + GPOEN_ENABLE, > > + GPI_NONE)>; > > + bias-pull-up; > > + drive-strength = <12>; > > + input-disable; > > + input-schmitt-disable; > > + slew-rate = <0>; > > + }; > > +}; > > + > > +&mmc1 { > > + no-sdio; > > + no-mmc; > > + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>; > > + disable-wp; > > + post-power-on-delay-ms = <200>; > > +}; > > + > > &pcie0 { > > status = "okay"; > > }; > > diff --git a/arch/riscv/boot/dts/starfive/jh7110.dtsi > > b/arch/riscv/boot/dts/starfive/jh7110.dtsi > > index 0ba74ef04679..d2463399b959 100644 > > --- a/arch/riscv/boot/dts/starfive/jh7110.dtsi > > +++ b/arch/riscv/boot/dts/starfive/jh7110.dtsi > > @@ -200,22 +200,6 @@ core4 { > > cpu_opp: opp-table-0 { > > compatible = "operating-points-v2"; > > opp-shared; > > - opp-375000000 { > > - opp-hz = /bits/ 64 <375000000>; > > - opp-microvolt = <800000>; > > - }; > > - opp-500000000 { > > - opp-hz = /bits/ 64 <500000000>; > > - opp-microvolt = <800000>; > > - }; > > - opp-750000000 { > > - opp-hz = /bits/ 64 <750000000>; > > - opp-microvolt = <800000>; > > - }; > > - opp-1500000000 { > > - opp-hz = /bits/ 64 <1500000000>; > > - opp-microvolt = <1040000>; > > - }; > > }; > > > > thermal-zones { > > With that, > > Reviewed-by: E Shattow <e@freeshell.de> Thanks for your review. Best regards, Hal _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 15+ messages in thread
* [RFC 3/3] riscv: dts: starfive: Add VisionFive 2 Lite board device tree 2025-08-21 10:09 [RFC 0/3] Add support for StarFive VisionFive 2 Lite board Hal Feng 2025-08-21 10:09 ` [RFC 1/3] dt-bindings: riscv: Add StarFive JH7110S SoC and " Hal Feng 2025-08-21 10:09 ` [RFC 2/3] riscv: dts: starfive: jh7110-common: Move out some nodes to the board dts Hal Feng @ 2025-08-21 10:09 ` Hal Feng 2025-08-21 14:08 ` Vivian Wang 2025-08-23 19:32 ` E Shattow 2 siblings, 2 replies; 15+ messages in thread From: Hal Feng @ 2025-08-21 10:09 UTC (permalink / raw) To: Conor Dooley, Emil Renner Berthing, Heinrich Schuchardt, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt, Paul Walmsley, Albert Ou Cc: Hal Feng, devicetree, linux-riscv, linux-kernel VisionFive 2 Lite is a mini SBC based on the StarFive JH7110S SoC. Board features: - JH7110S SoC - 2/4/8 GiB LPDDR4 DRAM - AXP15060 PMIC - 40 pin GPIO header - 1x USB 3.0 host port - 3x USB 2.0 host port - 1x M.2 M-Key (size: 2242) - 1x MicroSD slot (optional non-removable eMMC) - 1x QSPI Flash - 1x I2C EEPROM - 1x 1Gbps Ethernet port - SDIO-based Wi-Fi & UART-based Bluetooth - 1x HDMI port - 1x 2-lane DSI - 1x 2-lane CSI Signed-off-by: Hal Feng <hal.feng@starfivetech.com> --- arch/riscv/boot/dts/starfive/Makefile | 2 + .../jh7110s-starfive-visionfive-2-lite.dts | 152 ++++++++++++++++++ 2 files changed, 154 insertions(+) create mode 100644 arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite.dts diff --git a/arch/riscv/boot/dts/starfive/Makefile b/arch/riscv/boot/dts/starfive/Makefile index b3bb12f78e7d..7265c363e2a9 100644 --- a/arch/riscv/boot/dts/starfive/Makefile +++ b/arch/riscv/boot/dts/starfive/Makefile @@ -13,3 +13,5 @@ dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-mars.dtb dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-pine64-star64.dtb dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.2a.dtb dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.3b.dtb + +dtb-$(CONFIG_ARCH_STARFIVE) += jh7110s-starfive-visionfive-2-lite.dtb diff --git a/arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite.dts b/arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite.dts new file mode 100644 index 000000000000..a0cb9912eb80 --- /dev/null +++ b/arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite.dts @@ -0,0 +1,152 @@ +// SPDX-License-Identifier: GPL-2.0 OR MIT +/* + * Copyright (C) 2025 StarFive Technology Co., Ltd. + * Copyright (C) 2025 Hal Feng <hal.feng@starfivetech.com> + */ + +/dts-v1/; +#include "jh7110-common.dtsi" + +/ { + model = "StarFive VisionFive 2 Lite"; + compatible = "starfive,visionfive-2-lite", "starfive,jh7110s"; +}; + +&cpu_opp { + opp-312500000 { + opp-hz = /bits/ 64 <312500000>; + opp-microvolt = <800000>; + }; + opp-417000000 { + opp-hz = /bits/ 64 <417000000>; + opp-microvolt = <800000>; + }; + opp-625000000 { + opp-hz = /bits/ 64 <625000000>; + opp-microvolt = <800000>; + }; + opp-1250000000 { + opp-hz = /bits/ 64 <1250000000>; + opp-microvolt = <1000000>; + }; +}; + +&gmac0 { + starfive,tx-use-rgmii-clk; + assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>; + assigned-clock-parents = <&aoncrg JH7110_AONCLK_GMAC0_RMII_RTX>; + status = "okay"; +}; + +&i2c0 { + status = "okay"; +}; + +&mmc0 { + bus-width = <4>; + no-sdio; + no-mmc; + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_HIGH>; + disable-wp; + cap-sd-highspeed; +}; + +&mmc1 { + max-frequency = <50000000>; + keep-power-in-suspend; + non-removable; +}; + +&pcie1 { + enable-gpios = <&sysgpio 27 GPIO_ACTIVE_HIGH>; + status = "okay"; +}; + +&phy0 { + motorcomm,tx-clk-adj-enabled; + motorcomm,tx-clk-100-inverted; + motorcomm,tx-clk-1000-inverted; + motorcomm,rx-clk-drv-microamp = <3970>; + motorcomm,rx-data-drv-microamp = <2910>; + rx-internal-delay-ps = <1500>; + tx-internal-delay-ps = <1500>; +}; + +&pwm { + status = "okay"; +}; + +&spi0 { + status = "okay"; +}; + +&syscrg { + assigned-clock-rates = <0>, <0>, <0>, <0>, <500000000>, <1250000000>; +}; + +&sysgpio { + uart1_pins: uart1-0 { + tx-pins { + pinmux = <GPIOMUX(22, GPOUT_SYS_UART1_TX, + GPOEN_ENABLE, + GPI_NONE)>; + bias-disable; + drive-strength = <12>; + input-disable; + input-schmitt-disable; + slew-rate = <0>; + }; + + rx-pins { + pinmux = <GPIOMUX(23, GPOUT_LOW, + GPOEN_DISABLE, + GPI_SYS_UART1_RX)>; + bias-pull-up; + drive-strength = <2>; + input-enable; + input-schmitt-enable; + slew-rate = <0>; + }; + + cts-pins { + pinmux = <GPIOMUX(24, GPOUT_LOW, + GPOEN_DISABLE, + GPI_SYS_UART1_CTS)>; + input-enable; + }; + + rts-pins { + pinmux = <GPIOMUX(25, GPOUT_SYS_UART1_RTS, + GPOEN_ENABLE, + GPI_NONE)>; + input-enable; + }; + }; + + usb0_pins: usb0-0 { + power-pins { + pinmux = <GPIOMUX(26, GPOUT_HIGH, + GPOEN_ENABLE, + GPI_NONE)>; + input-disable; + }; + }; +}; + +&uart1 { + pinctrl-names = "default"; + pinctrl-0 = <&uart1_pins>; + status = "okay"; +}; + +&usb0 { + dr_mode = "host"; + pinctrl-names = "default"; + pinctrl-0 = <&usb0_pins>; + status = "okay"; +}; + +&usb_cdns3 { + phys = <&usbphy0>, <&pciephy0>; + phy-names = "cdns3,usb2-phy", "cdns3,usb3-phy"; +}; -- 2.43.2 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [RFC 3/3] riscv: dts: starfive: Add VisionFive 2 Lite board device tree 2025-08-21 10:09 ` [RFC 3/3] riscv: dts: starfive: Add VisionFive 2 Lite board device tree Hal Feng @ 2025-08-21 14:08 ` Vivian Wang 2025-08-22 2:13 ` Hal Feng 2025-08-23 19:32 ` E Shattow 1 sibling, 1 reply; 15+ messages in thread From: Vivian Wang @ 2025-08-21 14:08 UTC (permalink / raw) To: Hal Feng, Conor Dooley, Emil Renner Berthing, Heinrich Schuchardt, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt, Paul Walmsley, Albert Ou Cc: devicetree, linux-riscv, linux-kernel On 8/21/25 18:09, Hal Feng wrote: > [...] > +++ b/arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite.dts > @@ -0,0 +1,152 @@ > +// SPDX-License-Identifier: GPL-2.0 OR MIT > +/* > + * Copyright (C) 2025 StarFive Technology Co., Ltd. > + * Copyright (C) 2025 Hal Feng <hal.feng@starfivetech.com> > + */ > + > +/dts-v1/; > +#include "jh7110-common.dtsi" > + > +/ { > + model = "StarFive VisionFive 2 Lite"; > + compatible = "starfive,visionfive-2-lite", "starfive,jh7110s"; > +}; Might need to add starfive,jh7110s to: drivers/cpufreq/cpufreq-dt-platdev.c So that it can use the opp stuff here: > + > +&cpu_opp { > + opp-312500000 { > + opp-hz = /bits/ 64 <312500000>; > + opp-microvolt = <800000>; > + }; > + opp-417000000 { > + opp-hz = /bits/ 64 <417000000>; > + opp-microvolt = <800000>; > + }; > + opp-625000000 { > + opp-hz = /bits/ 64 <625000000>; > + opp-microvolt = <800000>; > + }; > + opp-1250000000 { > + opp-hz = /bits/ 64 <1250000000>; > + opp-microvolt = <1000000>; > + }; > +}; > +> [...] _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 15+ messages in thread
* RE: [RFC 3/3] riscv: dts: starfive: Add VisionFive 2 Lite board device tree 2025-08-21 14:08 ` Vivian Wang @ 2025-08-22 2:13 ` Hal Feng 0 siblings, 0 replies; 15+ messages in thread From: Hal Feng @ 2025-08-22 2:13 UTC (permalink / raw) To: Vivian Wang, Conor Dooley, Emil Renner Berthing, Heinrich Schuchardt, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt, Paul Walmsley, Albert Ou Cc: devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org > On 21.08.25 22:08, Vivian Wang wrote: > On 8/21/25 18:09, Hal Feng wrote: > > [...] > > +++ b/arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite. > > +++ dts > > @@ -0,0 +1,152 @@ > > +// SPDX-License-Identifier: GPL-2.0 OR MIT > > +/* > > + * Copyright (C) 2025 StarFive Technology Co., Ltd. > > + * Copyright (C) 2025 Hal Feng <hal.feng@starfivetech.com> */ > > + > > +/dts-v1/; > > +#include "jh7110-common.dtsi" > > + > > +/ { > > + model = "StarFive VisionFive 2 Lite"; > > + compatible = "starfive,visionfive-2-lite", "starfive,jh7110s"; }; > > Might need to add starfive,jh7110s to: > > drivers/cpufreq/cpufreq-dt-platdev.c > > So that it can use the opp stuff here: Good catch. Thanks for your review. Best regards, Hal > > > + > > +&cpu_opp { > > + opp-312500000 { > > + opp-hz = /bits/ 64 <312500000>; > > + opp-microvolt = <800000>; > > + }; > > + opp-417000000 { > > + opp-hz = /bits/ 64 <417000000>; > > + opp-microvolt = <800000>; > > + }; > > + opp-625000000 { > > + opp-hz = /bits/ 64 <625000000>; > > + opp-microvolt = <800000>; > > + }; > > + opp-1250000000 { > > + opp-hz = /bits/ 64 <1250000000>; > > + opp-microvolt = <1000000>; > > + }; > > +}; > > +> [...] _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [RFC 3/3] riscv: dts: starfive: Add VisionFive 2 Lite board device tree 2025-08-21 10:09 ` [RFC 3/3] riscv: dts: starfive: Add VisionFive 2 Lite board device tree Hal Feng 2025-08-21 14:08 ` Vivian Wang @ 2025-08-23 19:32 ` E Shattow 2025-08-25 3:20 ` Hal Feng 1 sibling, 1 reply; 15+ messages in thread From: E Shattow @ 2025-08-23 19:32 UTC (permalink / raw) To: Hal Feng, Conor Dooley, Emil Renner Berthing, Heinrich Schuchardt, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt, Paul Walmsley, Albert Ou Cc: devicetree, linux-riscv, linux-kernel On 8/21/25 03:09, Hal Feng wrote: > VisionFive 2 Lite is a mini SBC based on the StarFive JH7110S SoC. > > Board features: > - JH7110S SoC > - 2/4/8 GiB LPDDR4 DRAM > - AXP15060 PMIC > - 40 pin GPIO header > - 1x USB 3.0 host port > - 3x USB 2.0 host port > - 1x M.2 M-Key (size: 2242) > - 1x MicroSD slot (optional non-removable eMMC) > - 1x QSPI Flash > - 1x I2C EEPROM > - 1x 1Gbps Ethernet port > - SDIO-based Wi-Fi & UART-based Bluetooth > - 1x HDMI port > - 1x 2-lane DSI > - 1x 2-lane CSI > > Signed-off-by: Hal Feng <hal.feng@starfivetech.com> > --- > arch/riscv/boot/dts/starfive/Makefile | 2 + > .../jh7110s-starfive-visionfive-2-lite.dts | 152 ++++++++++++++++++ > 2 files changed, 154 insertions(+) > create mode 100644 arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite.dts > > diff --git a/arch/riscv/boot/dts/starfive/Makefile b/arch/riscv/boot/dts/starfive/Makefile > index b3bb12f78e7d..7265c363e2a9 100644 > --- a/arch/riscv/boot/dts/starfive/Makefile > +++ b/arch/riscv/boot/dts/starfive/Makefile > @@ -13,3 +13,5 @@ dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-mars.dtb > dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-pine64-star64.dtb > dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.2a.dtb > dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.3b.dtb > + > +dtb-$(CONFIG_ARCH_STARFIVE) += jh7110s-starfive-visionfive-2-lite.dtb > diff --git a/arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite.dts b/arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite.dts > new file mode 100644 > index 000000000000..a0cb9912eb80 > --- /dev/null > +++ b/arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite.dts > @@ -0,0 +1,152 @@ > +// SPDX-License-Identifier: GPL-2.0 OR MIT > +/* > + * Copyright (C) 2025 StarFive Technology Co., Ltd. > + * Copyright (C) 2025 Hal Feng <hal.feng@starfivetech.com> > + */ > + > +/dts-v1/; > +#include "jh7110-common.dtsi" > + > +/ { > + model = "StarFive VisionFive 2 Lite"; > + compatible = "starfive,visionfive-2-lite", "starfive,jh7110s"; > +}; > + > +&cpu_opp { > + opp-312500000 { > + opp-hz = /bits/ 64 <312500000>; > + opp-microvolt = <800000>; > + }; > + opp-417000000 { > + opp-hz = /bits/ 64 <417000000>; > + opp-microvolt = <800000>; > + }; > + opp-625000000 { > + opp-hz = /bits/ 64 <625000000>; > + opp-microvolt = <800000>; > + }; > + opp-1250000000 { > + opp-hz = /bits/ 64 <1250000000>; > + opp-microvolt = <1000000>; > + }; > +}; > + > +&gmac0 { > + starfive,tx-use-rgmii-clk; > + assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>; > + assigned-clock-parents = <&aoncrg JH7110_AONCLK_GMAC0_RMII_RTX>; > + status = "okay"; > +}; > + > +&i2c0 { > + status = "okay"; > +}; > + > +&mmc0 { > + bus-width = <4>; > + no-sdio; > + no-mmc; > + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_HIGH>; > + disable-wp; > + cap-sd-highspeed; > +}; > + > +&mmc1 { > + max-frequency = <50000000>; > + keep-power-in-suspend; > + non-removable; > +}; > + > +&pcie1 { > + enable-gpios = <&sysgpio 27 GPIO_ACTIVE_HIGH>; > + status = "okay"; > +}; > + > +&phy0 { > + motorcomm,tx-clk-adj-enabled; > + motorcomm,tx-clk-100-inverted; > + motorcomm,tx-clk-1000-inverted; > + motorcomm,rx-clk-drv-microamp = <3970>; > + motorcomm,rx-data-drv-microamp = <2910>; > + rx-internal-delay-ps = <1500>; > + tx-internal-delay-ps = <1500>; > +}; > + > +&pwm { > + status = "okay"; > +}; > + > +&spi0 { > + status = "okay"; > +}; > + > +&syscrg { > + assigned-clock-rates = <0>, <0>, <0>, <0>, <500000000>, <1250000000>; > +}; Circling back to a topic where I don't understand CPU clocks in hardware design, but I have questions, I would want to see 8 divisions instead of 4 divisions (for both JH7110S and for JH7110). Similar for JH7110S here as: &syscrg { assigned-clock-rates = <0>, <0>, <0>, <0>, <500000000>, <2500000000>; }; and then in above &cpu_opp as: &cpu_opp { opp-312500000 { opp-hz = /bits/ 64 <312500000>; opp-microvolt = <800000>; }; opp-357000000 { opp-hz = /bits/ 64 <357000000>; opp-microvolt = <800000>; }; opp-417000000 { opp-hz = /bits/ 64 <417000000>; opp-microvolt = <800000>; }; opp-500000000 { opp-hz = /bits/ 64 <500000000>; opp-microvolt = <800000>; }; opp-625000000 { opp-hz = /bits/ 64 <625000000>; opp-microvolt = <800000>; }; opp-833000000 { opp-hz = /bits/ 64 <833000000>; opp-microvolt = <800000>; }; opp-1250000000 { opp-hz = /bits/ 64 <1250000000>; opp-microvolt = <1000000>; }; /* avoid division=1 2.5GHz omitted here, not supported by CPU */ }; What prevents this functionality I am asking about? Specifically on JH7110 the promotional block diagrams show 3.0GHz maximum (? I think? not sure but what else could this be?) so if that is true why do we not divide down from that, avoiding divisions that are problematic? -E > + > +&sysgpio { > + uart1_pins: uart1-0 { > + tx-pins { > + pinmux = <GPIOMUX(22, GPOUT_SYS_UART1_TX, > + GPOEN_ENABLE, > + GPI_NONE)>; > + bias-disable; > + drive-strength = <12>; > + input-disable; > + input-schmitt-disable; > + slew-rate = <0>; > + }; > + > + rx-pins { > + pinmux = <GPIOMUX(23, GPOUT_LOW, > + GPOEN_DISABLE, > + GPI_SYS_UART1_RX)>; > + bias-pull-up; > + drive-strength = <2>; > + input-enable; > + input-schmitt-enable; > + slew-rate = <0>; > + }; > + > + cts-pins { > + pinmux = <GPIOMUX(24, GPOUT_LOW, > + GPOEN_DISABLE, > + GPI_SYS_UART1_CTS)>; > + input-enable; > + }; > + > + rts-pins { > + pinmux = <GPIOMUX(25, GPOUT_SYS_UART1_RTS, > + GPOEN_ENABLE, > + GPI_NONE)>; > + input-enable; > + }; > + }; > + > + usb0_pins: usb0-0 { > + power-pins { > + pinmux = <GPIOMUX(26, GPOUT_HIGH, > + GPOEN_ENABLE, > + GPI_NONE)>; > + input-disable; > + }; > + }; > +}; > + > +&uart1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart1_pins>; > + status = "okay"; > +}; > + > +&usb0 { > + dr_mode = "host"; > + pinctrl-names = "default"; > + pinctrl-0 = <&usb0_pins>; > + status = "okay"; > +}; > + > +&usb_cdns3 { > + phys = <&usbphy0>, <&pciephy0>; > + phy-names = "cdns3,usb2-phy", "cdns3,usb3-phy"; > +}; _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 15+ messages in thread
* RE: [RFC 3/3] riscv: dts: starfive: Add VisionFive 2 Lite board device tree 2025-08-23 19:32 ` E Shattow @ 2025-08-25 3:20 ` Hal Feng 0 siblings, 0 replies; 15+ messages in thread From: Hal Feng @ 2025-08-25 3:20 UTC (permalink / raw) To: E Shattow, Conor Dooley, Emil Renner Berthing, Heinrich Schuchardt, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt, Paul Walmsley, Albert Ou Cc: devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org > On 24.08.25 03:33, E Shattow wrote: > On 8/21/25 03:09, Hal Feng wrote: > > VisionFive 2 Lite is a mini SBC based on the StarFive JH7110S SoC. > > > > Board features: > > - JH7110S SoC > > - 2/4/8 GiB LPDDR4 DRAM > > - AXP15060 PMIC > > - 40 pin GPIO header > > - 1x USB 3.0 host port > > - 3x USB 2.0 host port > > - 1x M.2 M-Key (size: 2242) > > - 1x MicroSD slot (optional non-removable eMMC) > > - 1x QSPI Flash > > - 1x I2C EEPROM > > - 1x 1Gbps Ethernet port > > - SDIO-based Wi-Fi & UART-based Bluetooth > > - 1x HDMI port > > - 1x 2-lane DSI > > - 1x 2-lane CSI > > > > Signed-off-by: Hal Feng <hal.feng@starfivetech.com> > > --- > > arch/riscv/boot/dts/starfive/Makefile | 2 + > > .../jh7110s-starfive-visionfive-2-lite.dts | 152 ++++++++++++++++++ > > 2 files changed, 154 insertions(+) > > create mode 100644 > > arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite.dts > > > > diff --git a/arch/riscv/boot/dts/starfive/Makefile > > b/arch/riscv/boot/dts/starfive/Makefile > > index b3bb12f78e7d..7265c363e2a9 100644 > > --- a/arch/riscv/boot/dts/starfive/Makefile > > +++ b/arch/riscv/boot/dts/starfive/Makefile > > @@ -13,3 +13,5 @@ dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv- > mars.dtb > > dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-pine64-star64.dtb > > dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.2a.dtb > > dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.3b.dtb > > + > > +dtb-$(CONFIG_ARCH_STARFIVE) += jh7110s-starfive-visionfive-2-lite.dtb > > diff --git > > a/arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite.dts > > b/arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite.dts > > new file mode 100644 > > index 000000000000..a0cb9912eb80 > > --- /dev/null > > +++ b/arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite. > > +++ dts > > @@ -0,0 +1,152 @@ > > +// SPDX-License-Identifier: GPL-2.0 OR MIT > > +/* > > + * Copyright (C) 2025 StarFive Technology Co., Ltd. > > + * Copyright (C) 2025 Hal Feng <hal.feng@starfivetech.com> */ > > + > > +/dts-v1/; > > +#include "jh7110-common.dtsi" > > + > > +/ { > > + model = "StarFive VisionFive 2 Lite"; > > + compatible = "starfive,visionfive-2-lite", "starfive,jh7110s"; }; > > + > > +&cpu_opp { > > + opp-312500000 { > > + opp-hz = /bits/ 64 <312500000>; > > + opp-microvolt = <800000>; > > + }; > > + opp-417000000 { > > + opp-hz = /bits/ 64 <417000000>; > > + opp-microvolt = <800000>; > > + }; > > + opp-625000000 { > > + opp-hz = /bits/ 64 <625000000>; > > + opp-microvolt = <800000>; > > + }; > > + opp-1250000000 { > > + opp-hz = /bits/ 64 <1250000000>; > > + opp-microvolt = <1000000>; > > + }; > > +}; > > + > > +&gmac0 { > > + starfive,tx-use-rgmii-clk; > > + assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>; > > + assigned-clock-parents = <&aoncrg > JH7110_AONCLK_GMAC0_RMII_RTX>; > > + status = "okay"; > > +}; > > + > > +&i2c0 { > > + status = "okay"; > > +}; > > + > > +&mmc0 { > > + bus-width = <4>; > > + no-sdio; > > + no-mmc; > > + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_HIGH>; > > + disable-wp; > > + cap-sd-highspeed; > > +}; > > + > > +&mmc1 { > > + max-frequency = <50000000>; > > + keep-power-in-suspend; > > + non-removable; > > +}; > > + > > +&pcie1 { > > + enable-gpios = <&sysgpio 27 GPIO_ACTIVE_HIGH>; > > + status = "okay"; > > +}; > > + > > +&phy0 { > > + motorcomm,tx-clk-adj-enabled; > > + motorcomm,tx-clk-100-inverted; > > + motorcomm,tx-clk-1000-inverted; > > + motorcomm,rx-clk-drv-microamp = <3970>; > > + motorcomm,rx-data-drv-microamp = <2910>; > > + rx-internal-delay-ps = <1500>; > > + tx-internal-delay-ps = <1500>; > > +}; > > + > > +&pwm { > > + status = "okay"; > > +}; > > + > > +&spi0 { > > + status = "okay"; > > +}; > > + > > +&syscrg { > > + assigned-clock-rates = <0>, <0>, <0>, <0>, <500000000>, > > +<1250000000>; }; > > Circling back to a topic where I don't understand CPU clocks in hardware > design, but I have questions, I would want to see 8 divisions instead of > 4 divisions (for both JH7110S and for JH7110). Similar for JH7110S here as: > > &syscrg { > assigned-clock-rates = <0>, <0>, <0>, <0>, <500000000>, > <2500000000>; }; > > and then in above &cpu_opp as: > > &cpu_opp { > opp-312500000 { > opp-hz = /bits/ 64 <312500000>; > opp-microvolt = <800000>; > }; > opp-357000000 { > opp-hz = /bits/ 64 <357000000>; > opp-microvolt = <800000>; > }; > opp-417000000 { > opp-hz = /bits/ 64 <417000000>; > opp-microvolt = <800000>; > }; > opp-500000000 { > opp-hz = /bits/ 64 <500000000>; > opp-microvolt = <800000>; > }; > opp-625000000 { > opp-hz = /bits/ 64 <625000000>; > opp-microvolt = <800000>; > }; > opp-833000000 { > opp-hz = /bits/ 64 <833000000>; > opp-microvolt = <800000>; > }; > opp-1250000000 { > opp-hz = /bits/ 64 <1250000000>; > opp-microvolt = <1000000>; > }; > > /* avoid division=1 2.5GHz omitted here, not supported by CPU */ }; > > What prevents this functionality I am asking about? Specifically on > JH7110 the promotional block diagrams show 3.0GHz maximum (? I think? > not sure but what else could this be?) so if that is true why do we not divide > down from that, avoiding divisions that are problematic? It is a good idea and I tested your code successfully on VF2 Lite. But we have not done stress tests for this and I am not sure whether it will break the chip stability. Anyway, it is a good suggestion and more tests should be run later. Best regards, Hal > > + > > +&sysgpio { > > + uart1_pins: uart1-0 { > > + tx-pins { > > + pinmux = <GPIOMUX(22, GPOUT_SYS_UART1_TX, > > + GPOEN_ENABLE, > > + GPI_NONE)>; > > + bias-disable; > > + drive-strength = <12>; > > + input-disable; > > + input-schmitt-disable; > > + slew-rate = <0>; > > + }; > > + > > + rx-pins { > > + pinmux = <GPIOMUX(23, GPOUT_LOW, > > + GPOEN_DISABLE, > > + GPI_SYS_UART1_RX)>; > > + bias-pull-up; > > + drive-strength = <2>; > > + input-enable; > > + input-schmitt-enable; > > + slew-rate = <0>; > > + }; > > + > > + cts-pins { > > + pinmux = <GPIOMUX(24, GPOUT_LOW, > > + GPOEN_DISABLE, > > + GPI_SYS_UART1_CTS)>; > > + input-enable; > > + }; > > + > > + rts-pins { > > + pinmux = <GPIOMUX(25, GPOUT_SYS_UART1_RTS, > > + GPOEN_ENABLE, > > + GPI_NONE)>; > > + input-enable; > > + }; > > + }; > > + > > + usb0_pins: usb0-0 { > > + power-pins { > > + pinmux = <GPIOMUX(26, GPOUT_HIGH, > > + GPOEN_ENABLE, > > + GPI_NONE)>; > > + input-disable; > > + }; > > + }; > > +}; > > + > > +&uart1 { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&uart1_pins>; > > + status = "okay"; > > +}; > > + > > +&usb0 { > > + dr_mode = "host"; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&usb0_pins>; > > + status = "okay"; > > +}; > > + > > +&usb_cdns3 { > > + phys = <&usbphy0>, <&pciephy0>; > > + phy-names = "cdns3,usb2-phy", "cdns3,usb3-phy"; }; _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2025-08-25 3:20 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-08-21 10:09 [RFC 0/3] Add support for StarFive VisionFive 2 Lite board Hal Feng 2025-08-21 10:09 ` [RFC 1/3] dt-bindings: riscv: Add StarFive JH7110S SoC and " Hal Feng 2025-08-21 18:17 ` Conor Dooley 2025-08-22 7:37 ` Hal Feng 2025-08-22 16:37 ` Conor Dooley 2025-08-24 17:14 ` Icenowy Zheng 2025-08-24 19:48 ` E Shattow 2025-08-21 10:09 ` [RFC 2/3] riscv: dts: starfive: jh7110-common: Move out some nodes to the board dts Hal Feng 2025-08-21 15:07 ` E Shattow 2025-08-22 6:11 ` Hal Feng 2025-08-21 10:09 ` [RFC 3/3] riscv: dts: starfive: Add VisionFive 2 Lite board device tree Hal Feng 2025-08-21 14:08 ` Vivian Wang 2025-08-22 2:13 ` Hal Feng 2025-08-23 19:32 ` E Shattow 2025-08-25 3:20 ` Hal Feng
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).