* [PATCH v1 0/7] Add support for StarFive VisionFive 2 Lite board
@ 2025-10-16 8:00 Hal Feng
2025-10-16 8:00 ` [PATCH v1 1/7] cpufreq: dt-platdev: Add JH7110S SOC to the allowlist Hal Feng
` (6 more replies)
0 siblings, 7 replies; 17+ messages in thread
From: Hal Feng @ 2025-10-16 8:00 UTC (permalink / raw)
To: Conor Dooley, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt,
Rafael J . Wysocki, Viresh Kumar, Emil Renner Berthing,
Heinrich Schuchardt, E Shattow, 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
- 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 64GiB 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
VisionFive 2 Lite schematics: https://doc-en.rvspace.org/VisionFive2Lite/PDF/VF2_LITE_V1.10_TF_20250818_SCH.pdf
VisionFive 2 Lite Quick Start Guide: https://doc-en.rvspace.org/VisionFive2Lite/VisionFive2LiteQSG/index.html
More documents: https://doc-en.rvspace.org/Doc_Center/visionfive_2_lite.html
Changes since RFC:
- Add jh7110s compatible to the generic cpufreq driver.
- Fix the dtbs_check error by adding the missing "enable-gpios" property
in jh7110 pcie dt-bindings.
- Rebase on the latest mainline.
- Add VisionFive 2 Lite eMMC board device tree and add a common board dtsi
for VisionFive 2 Lite variants.
- Add usb switch pin configuration (GPIO62).
- Improve the commit messages.
History:
RFC: https://lore.kernel.org/all/20250821100930.71404-1-hal.feng@starfivetech.com/
Hal Feng (7):
cpufreq: dt-platdev: Add JH7110S SOC to the allowlist
dt-bindings: PCI: starfive,jh7110-pcie: Add enable-gpios property
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 common board dtsi for VisionFive 2 Lite
variants
riscv: dts: starfive: Add VisionFive 2 Lite board device tree
riscv: dts: starfive: Add VisionFive 2 Lite eMMC board device tree
.../bindings/pci/starfive,jh7110-pcie.yaml | 4 +
.../devicetree/bindings/riscv/starfive.yaml | 6 +
arch/riscv/boot/dts/starfive/Makefile | 3 +
.../boot/dts/starfive/jh7110-common.dtsi | 19 ---
.../jh7110-deepcomputing-fml13v01.dts | 46 ++++++
.../boot/dts/starfive/jh7110-milkv-mars.dts | 46 ++++++
.../dts/starfive/jh7110-milkv-marscm-emmc.dts | 9 ++
.../dts/starfive/jh7110-milkv-marscm-lite.dts | 1 +
.../dts/starfive/jh7110-milkv-marscm.dtsi | 32 ++++
.../dts/starfive/jh7110-pine64-star64.dts | 46 ++++++
.../jh7110-starfive-visionfive-2.dtsi | 43 ++++++
arch/riscv/boot/dts/starfive/jh7110.dtsi | 16 --
...h7110s-starfive-visionfive-2-lite-emmc.dts | 22 +++
.../jh7110s-starfive-visionfive-2-lite.dts | 20 +++
.../jh7110s-starfive-visionfive-2-lite.dtsi | 145 ++++++++++++++++++
drivers/cpufreq/cpufreq-dt-platdev.c | 1 +
16 files changed, 424 insertions(+), 35 deletions(-)
create mode 100644 arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite-emmc.dts
create mode 100644 arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite.dts
create mode 100644 arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite.dtsi
base-commit: 3a8660878839faadb4f1a6dd72c3179c1df56787
--
2.43.2
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v1 1/7] cpufreq: dt-platdev: Add JH7110S SOC to the allowlist
2025-10-16 8:00 [PATCH v1 0/7] Add support for StarFive VisionFive 2 Lite board Hal Feng
@ 2025-10-16 8:00 ` Hal Feng
2025-10-16 9:20 ` Heinrich Schuchardt
2025-10-17 5:09 ` Viresh Kumar
2025-10-16 8:00 ` [PATCH v1 2/7] dt-bindings: PCI: starfive,jh7110-pcie: Add enable-gpios property Hal Feng
` (5 subsequent siblings)
6 siblings, 2 replies; 17+ messages in thread
From: Hal Feng @ 2025-10-16 8:00 UTC (permalink / raw)
To: Conor Dooley, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt,
Rafael J . Wysocki, Viresh Kumar, Emil Renner Berthing,
Heinrich Schuchardt, E Shattow, Paul Walmsley, Albert Ou
Cc: Hal Feng, devicetree, linux-riscv, linux-kernel
Add the compatible strings for supporting the generic
cpufreq driver on the StarFive JH7110S SoC.
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
---
drivers/cpufreq/cpufreq-dt-platdev.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/cpufreq/cpufreq-dt-platdev.c b/drivers/cpufreq/cpufreq-dt-platdev.c
index cd1816a12bb9..dc11b62399ad 100644
--- a/drivers/cpufreq/cpufreq-dt-platdev.c
+++ b/drivers/cpufreq/cpufreq-dt-platdev.c
@@ -87,6 +87,7 @@ static const struct of_device_id allowlist[] __initconst = {
{ .compatible = "st-ericsson,u9540", },
{ .compatible = "starfive,jh7110", },
+ { .compatible = "starfive,jh7110s", },
{ .compatible = "ti,omap2", },
{ .compatible = "ti,omap4", },
--
2.43.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v1 2/7] dt-bindings: PCI: starfive,jh7110-pcie: Add enable-gpios property
2025-10-16 8:00 [PATCH v1 0/7] Add support for StarFive VisionFive 2 Lite board Hal Feng
2025-10-16 8:00 ` [PATCH v1 1/7] cpufreq: dt-platdev: Add JH7110S SOC to the allowlist Hal Feng
@ 2025-10-16 8:00 ` Hal Feng
2025-10-16 8:58 ` Heinrich Schuchardt
2025-10-16 8:00 ` [PATCH v1 3/7] dt-bindings: riscv: Add StarFive JH7110S SoC and VisionFive 2 Lite board Hal Feng
` (4 subsequent siblings)
6 siblings, 1 reply; 17+ messages in thread
From: Hal Feng @ 2025-10-16 8:00 UTC (permalink / raw)
To: Conor Dooley, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt,
Rafael J . Wysocki, Viresh Kumar, Emil Renner Berthing,
Heinrich Schuchardt, E Shattow, Paul Walmsley, Albert Ou
Cc: Hal Feng, devicetree, linux-riscv, linux-kernel
Add enable-gpios property for controlling the PCI bus device power.
This property had been supported in the driver but not added in the
dt-bindings.
Fixes: 22fe32239770 ("dt-bindings: PCI: Add StarFive JH7110 PCIe controller")
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
---
.../devicetree/bindings/pci/starfive,jh7110-pcie.yaml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Documentation/devicetree/bindings/pci/starfive,jh7110-pcie.yaml b/Documentation/devicetree/bindings/pci/starfive,jh7110-pcie.yaml
index 5f432452c815..f254c7111837 100644
--- a/Documentation/devicetree/bindings/pci/starfive,jh7110-pcie.yaml
+++ b/Documentation/devicetree/bindings/pci/starfive,jh7110-pcie.yaml
@@ -60,6 +60,10 @@ properties:
description:
The phandle to System Register Controller syscon node.
+ enable-gpios:
+ description: GPIO used to enable the PCI bus device power
+ maxItems: 1
+
perst-gpios:
description: GPIO controlled connection to PERST# signal
maxItems: 1
--
2.43.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v1 3/7] dt-bindings: riscv: Add StarFive JH7110S SoC and VisionFive 2 Lite board
2025-10-16 8:00 [PATCH v1 0/7] Add support for StarFive VisionFive 2 Lite board Hal Feng
2025-10-16 8:00 ` [PATCH v1 1/7] cpufreq: dt-platdev: Add JH7110S SOC to the allowlist Hal Feng
2025-10-16 8:00 ` [PATCH v1 2/7] dt-bindings: PCI: starfive,jh7110-pcie: Add enable-gpios property Hal Feng
@ 2025-10-16 8:00 ` Hal Feng
2025-10-16 9:24 ` Heinrich Schuchardt
2025-10-16 15:55 ` Conor Dooley
2025-10-16 8:00 ` [PATCH v1 4/7] riscv: dts: starfive: jh7110-common: Move out some nodes to the board dts Hal Feng
` (3 subsequent siblings)
6 siblings, 2 replies; 17+ messages in thread
From: Hal Feng @ 2025-10-16 8:00 UTC (permalink / raw)
To: Conor Dooley, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt,
Rafael J . Wysocki, Viresh Kumar, Emil Renner Berthing,
Heinrich Schuchardt, E Shattow, 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 the same as
those of the JH7110 SoC.
VisionFive 2 Lite boards have SD card version (default) and eMMC version,
which are called "VisionFive 2 Lite" and "VisionFive 2 Lite eMMC"
respectively.
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
---
Documentation/devicetree/bindings/riscv/starfive.yaml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/bindings/riscv/starfive.yaml b/Documentation/devicetree/bindings/riscv/starfive.yaml
index 04510341a71e..797d9956b949 100644
--- a/Documentation/devicetree/bindings/riscv/starfive.yaml
+++ b/Documentation/devicetree/bindings/riscv/starfive.yaml
@@ -35,6 +35,12 @@ properties:
- starfive,visionfive-2-v1.3b
- const: starfive,jh7110
+ - items:
+ - enum:
+ - starfive,visionfive-2-lite
+ - starfive,visionfive-2-lite-emmc
+ - const: starfive,jh7110s
+
additionalProperties: true
...
--
2.43.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v1 4/7] riscv: dts: starfive: jh7110-common: Move out some nodes to the board dts
2025-10-16 8:00 [PATCH v1 0/7] Add support for StarFive VisionFive 2 Lite board Hal Feng
` (2 preceding siblings ...)
2025-10-16 8:00 ` [PATCH v1 3/7] dt-bindings: riscv: Add StarFive JH7110S SoC and VisionFive 2 Lite board Hal Feng
@ 2025-10-16 8:00 ` Hal Feng
2025-10-16 15:54 ` Conor Dooley
2025-10-16 22:55 ` E Shattow
2025-10-16 8:00 ` [PATCH v1 5/7] riscv: dts: starfive: Add common board dtsi for VisionFive 2 Lite variants Hal Feng
` (2 subsequent siblings)
6 siblings, 2 replies; 17+ messages in thread
From: Hal Feng @ 2025-10-16 8:00 UTC (permalink / raw)
To: Conor Dooley, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt,
Rafael J . Wysocki, Viresh Kumar, Emil Renner Berthing,
Heinrich Schuchardt, E Shattow, 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.
Reviewed-by: E Shattow <e@freeshell.de>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
---
.../boot/dts/starfive/jh7110-common.dtsi | 19 --------
.../jh7110-deepcomputing-fml13v01.dts | 46 +++++++++++++++++++
.../boot/dts/starfive/jh7110-milkv-mars.dts | 46 +++++++++++++++++++
.../dts/starfive/jh7110-milkv-marscm-emmc.dts | 9 ++++
.../dts/starfive/jh7110-milkv-marscm-lite.dts | 1 +
.../dts/starfive/jh7110-milkv-marscm.dtsi | 32 +++++++++++++
.../dts/starfive/jh7110-pine64-star64.dts | 46 +++++++++++++++++++
.../jh7110-starfive-visionfive-2.dtsi | 43 +++++++++++++++++
arch/riscv/boot/dts/starfive/jh7110.dtsi | 16 -------
9 files changed, 223 insertions(+), 35 deletions(-)
diff --git a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
index 5dc15e48b74b..8cfe8033305d 100644
--- a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
+++ b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
@@ -281,14 +281,8 @@ &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;
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins>;
- vmmc-supply = <&vcc_3v3>;
- vqmmc-supply = <&emmc_vdd>;
status = "okay";
};
@@ -298,8 +292,6 @@ &mmc1 {
assigned-clock-rates = <50000000>;
bus-width = <4>;
bootph-pre-ram;
- cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
- disable-wp;
cap-sd-highspeed;
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins>;
@@ -444,17 +436,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..7535d62201f1 100644
--- a/arch/riscv/boot/dts/starfive/jh7110-deepcomputing-fml13v01.dts
+++ b/arch/riscv/boot/dts/starfive/jh7110-deepcomputing-fml13v01.dts
@@ -11,6 +11,52 @@ / {
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 {
+ cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
+ disable-wp;
+};
+
&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..c2e7a91e460a 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,33 @@ &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 {
+ cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
+ disable-wp;
+};
+
&pcie0 {
status = "okay";
};
diff --git a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts
index e568537af2c4..ce95496263af 100644
--- a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts
+++ b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts
@@ -10,3 +10,12 @@ / {
model = "Milk-V Mars CM";
compatible = "milkv,marscm-emmc", "starfive,jh7110";
};
+
+&mmc0 {
+ cap-mmc-highspeed;
+ cap-mmc-hw-reset;
+ mmc-ddr-1_8v;
+ mmc-hs200-1_8v;
+ vmmc-supply = <&vcc_3v3>;
+ vqmmc-supply = <&emmc_vdd>;
+};
diff --git a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
index 6c40d0ec4011..63aa94d65ab5 100644
--- a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
+++ b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
@@ -14,6 +14,7 @@ / {
&mmc0 {
bus-width = <4>;
cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
+ disable-wp;
};
&mmc0_pins {
diff --git a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm.dtsi b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm.dtsi
index 25b70af564ee..af01d3abde2f 100644
--- a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm.dtsi
+++ b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm.dtsi
@@ -21,6 +21,25 @@ sdio_pwrseq: sdio-pwrseq {
};
};
+&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>;
@@ -40,6 +59,19 @@ &i2c6 {
status = "disabled";
};
+&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 {
#address-cells = <1>;
#size-cells = <0>;
diff --git a/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts b/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts
index 31e825be2065..6faf3826c5c3 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,33 @@ &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 {
+ cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
+ disable-wp;
+};
+
&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..9cd79fe30d19 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,33 @@ &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 {
+ cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
+ disable-wp;
+};
+
&pcie0 {
status = "okay";
};
diff --git a/arch/riscv/boot/dts/starfive/jh7110.dtsi b/arch/riscv/boot/dts/starfive/jh7110.dtsi
index 6e56e9d20bb0..a380d3dabedd 100644
--- a/arch/riscv/boot/dts/starfive/jh7110.dtsi
+++ b/arch/riscv/boot/dts/starfive/jh7110.dtsi
@@ -205,22 +205,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
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v1 5/7] riscv: dts: starfive: Add common board dtsi for VisionFive 2 Lite variants
2025-10-16 8:00 [PATCH v1 0/7] Add support for StarFive VisionFive 2 Lite board Hal Feng
` (3 preceding siblings ...)
2025-10-16 8:00 ` [PATCH v1 4/7] riscv: dts: starfive: jh7110-common: Move out some nodes to the board dts Hal Feng
@ 2025-10-16 8:00 ` Hal Feng
2025-10-16 8:00 ` [PATCH v1 6/7] riscv: dts: starfive: Add VisionFive 2 Lite board device tree Hal Feng
2025-10-16 8:00 ` [PATCH v1 7/7] riscv: dts: starfive: Add VisionFive 2 Lite eMMC " Hal Feng
6 siblings, 0 replies; 17+ messages in thread
From: Hal Feng @ 2025-10-16 8:00 UTC (permalink / raw)
To: Conor Dooley, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt,
Rafael J . Wysocki, Viresh Kumar, Emil Renner Berthing,
Heinrich Schuchardt, E Shattow, Paul Walmsley, Albert Ou
Cc: Hal Feng, devicetree, linux-riscv, linux-kernel
Add a common board dtsi for use by VisionFive 2 Lite and
VisionFive 2 Lite eMMC.
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
---
.../jh7110s-starfive-visionfive-2-lite.dtsi | 145 ++++++++++++++++++
1 file changed, 145 insertions(+)
create mode 100644 arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite.dtsi
diff --git a/arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite.dtsi b/arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite.dtsi
new file mode 100644
index 000000000000..bd8868fef872
--- /dev/null
+++ b/arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite.dtsi
@@ -0,0 +1,145 @@
+// 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"
+
+&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";
+};
+
+&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;
+ };
+
+ switch-pins {
+ pinmux = <GPIOMUX(62, GPOUT_LOW,
+ 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
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v1 6/7] riscv: dts: starfive: Add VisionFive 2 Lite board device tree
2025-10-16 8:00 [PATCH v1 0/7] Add support for StarFive VisionFive 2 Lite board Hal Feng
` (4 preceding siblings ...)
2025-10-16 8:00 ` [PATCH v1 5/7] riscv: dts: starfive: Add common board dtsi for VisionFive 2 Lite variants Hal Feng
@ 2025-10-16 8:00 ` Hal Feng
2025-10-16 8:00 ` [PATCH v1 7/7] riscv: dts: starfive: Add VisionFive 2 Lite eMMC " Hal Feng
6 siblings, 0 replies; 17+ messages in thread
From: Hal Feng @ 2025-10-16 8:00 UTC (permalink / raw)
To: Conor Dooley, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt,
Rafael J . Wysocki, Viresh Kumar, Emil Renner Berthing,
Heinrich Schuchardt, E Shattow, 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
- 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 64GiB 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
VisionFive 2 Lite schematics: https://doc-en.rvspace.org/VisionFive2Lite/PDF/VF2_LITE_V1.10_TF_20250818_SCH.pdf
VisionFive 2 Lite Quick Start Guide: https://doc-en.rvspace.org/VisionFive2Lite/VisionFive2LiteQSG/index.html
More documents: https://doc-en.rvspace.org/Doc_Center/visionfive_2_lite.html
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
---
arch/riscv/boot/dts/starfive/Makefile | 2 ++
.../jh7110s-starfive-visionfive-2-lite.dts | 20 +++++++++++++++++++
2 files changed, 22 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 62b659f89ba7..f53109253d41 100644
--- a/arch/riscv/boot/dts/starfive/Makefile
+++ b/arch/riscv/boot/dts/starfive/Makefile
@@ -15,3 +15,5 @@ dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-marscm-lite.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..ac5e66027bad
--- /dev/null
+++ b/arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite.dts
@@ -0,0 +1,20 @@
+// 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 "jh7110s-starfive-visionfive-2-lite.dtsi"
+
+/ {
+ model = "StarFive VisionFive 2 Lite";
+ compatible = "starfive,visionfive-2-lite", "starfive,jh7110s";
+};
+
+&mmc0 {
+ bus-width = <4>;
+ cd-gpios = <&sysgpio 41 GPIO_ACTIVE_HIGH>;
+ disable-wp;
+ cap-sd-highspeed;
+};
--
2.43.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v1 7/7] riscv: dts: starfive: Add VisionFive 2 Lite eMMC board device tree
2025-10-16 8:00 [PATCH v1 0/7] Add support for StarFive VisionFive 2 Lite board Hal Feng
` (5 preceding siblings ...)
2025-10-16 8:00 ` [PATCH v1 6/7] riscv: dts: starfive: Add VisionFive 2 Lite board device tree Hal Feng
@ 2025-10-16 8:00 ` Hal Feng
6 siblings, 0 replies; 17+ messages in thread
From: Hal Feng @ 2025-10-16 8:00 UTC (permalink / raw)
To: Conor Dooley, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt,
Rafael J . Wysocki, Viresh Kumar, Emil Renner Berthing,
Heinrich Schuchardt, E Shattow, Paul Walmsley, Albert Ou
Cc: Hal Feng, devicetree, linux-riscv, linux-kernel
VisionFive 2 Lite eMMC board uses a non-removable onboard 64GiB eMMC
instead of the MicroSD slot.
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
---
arch/riscv/boot/dts/starfive/Makefile | 1 +
...h7110s-starfive-visionfive-2-lite-emmc.dts | 22 +++++++++++++++++++
2 files changed, 23 insertions(+)
create mode 100644 arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite-emmc.dts
diff --git a/arch/riscv/boot/dts/starfive/Makefile b/arch/riscv/boot/dts/starfive/Makefile
index f53109253d41..a60244803829 100644
--- a/arch/riscv/boot/dts/starfive/Makefile
+++ b/arch/riscv/boot/dts/starfive/Makefile
@@ -17,3 +17,4 @@ 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
+dtb-$(CONFIG_ARCH_STARFIVE) += jh7110s-starfive-visionfive-2-lite-emmc.dtb
diff --git a/arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite-emmc.dts b/arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite-emmc.dts
new file mode 100644
index 000000000000..60ce2753f2d1
--- /dev/null
+++ b/arch/riscv/boot/dts/starfive/jh7110s-starfive-visionfive-2-lite-emmc.dts
@@ -0,0 +1,22 @@
+// 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 "jh7110s-starfive-visionfive-2-lite.dtsi"
+
+/ {
+ model = "StarFive VisionFive 2 Lite eMMC";
+ compatible = "starfive,visionfive-2-lite-emmc", "starfive,jh7110s";
+};
+
+&mmc0 {
+ cap-mmc-highspeed;
+ cap-mmc-hw-reset;
+ mmc-ddr-1_8v;
+ mmc-hs200-1_8v;
+ vmmc-supply = <&vcc_3v3>;
+ vqmmc-supply = <&emmc_vdd>;
+};
--
2.43.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v1 2/7] dt-bindings: PCI: starfive,jh7110-pcie: Add enable-gpios property
2025-10-16 8:00 ` [PATCH v1 2/7] dt-bindings: PCI: starfive,jh7110-pcie: Add enable-gpios property Hal Feng
@ 2025-10-16 8:58 ` Heinrich Schuchardt
2025-10-16 15:51 ` Conor Dooley
0 siblings, 1 reply; 17+ messages in thread
From: Heinrich Schuchardt @ 2025-10-16 8:58 UTC (permalink / raw)
To: Hal Feng
Cc: devicetree, linux-riscv, linux-kernel, Conor Dooley, Rob Herring,
Krzysztof Kozlowski, Palmer Dabbelt, Rafael J . Wysocki,
Viresh Kumar, Emil Renner Berthing, E Shattow, Paul Walmsley,
Albert Ou
On 10/16/25 10:00, Hal Feng wrote:
> Add enable-gpios property for controlling the PCI bus device power.
> This property had been supported in the driver but not added in the
> dt-bindings.
>
> Fixes: 22fe32239770 ("dt-bindings: PCI: Add StarFive JH7110 PCIe controller")
> Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
> ---
> .../devicetree/bindings/pci/starfive,jh7110-pcie.yaml | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/pci/starfive,jh7110-pcie.yaml b/Documentation/devicetree/bindings/pci/starfive,jh7110-pcie.yaml
> index 5f432452c815..f254c7111837 100644
> --- a/Documentation/devicetree/bindings/pci/starfive,jh7110-pcie.yaml
> +++ b/Documentation/devicetree/bindings/pci/starfive,jh7110-pcie.yaml
> @@ -60,6 +60,10 @@ properties:
> description:
> The phandle to System Register Controller syscon node.
>
> + enable-gpios:
> + description: GPIO used to enable the PCI bus device power
> + maxItems: 1
> +
Shouldn't we try to keep the entries alphabetically ordered?
Otherwise looks good.
Best regards
Heinrich
> perst-gpios:
> description: GPIO controlled connection to PERST# signal
> maxItems: 1
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v1 1/7] cpufreq: dt-platdev: Add JH7110S SOC to the allowlist
2025-10-16 8:00 ` [PATCH v1 1/7] cpufreq: dt-platdev: Add JH7110S SOC to the allowlist Hal Feng
@ 2025-10-16 9:20 ` Heinrich Schuchardt
2025-10-17 5:09 ` Viresh Kumar
1 sibling, 0 replies; 17+ messages in thread
From: Heinrich Schuchardt @ 2025-10-16 9:20 UTC (permalink / raw)
To: Hal Feng
Cc: devicetree, linux-riscv, linux-kernel, Conor Dooley, Rob Herring,
Krzysztof Kozlowski, Palmer Dabbelt, Rafael J . Wysocki,
Viresh Kumar, Emil Renner Berthing, E Shattow, Paul Walmsley,
Albert Ou
On 10/16/25 10:00, Hal Feng wrote:
> Add the compatible strings for supporting the generic
> cpufreq driver on the StarFive JH7110S SoC.
>
> Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
> ---
> drivers/cpufreq/cpufreq-dt-platdev.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/cpufreq/cpufreq-dt-platdev.c b/drivers/cpufreq/cpufreq-dt-platdev.c
> index cd1816a12bb9..dc11b62399ad 100644
> --- a/drivers/cpufreq/cpufreq-dt-platdev.c
> +++ b/drivers/cpufreq/cpufreq-dt-platdev.c
> @@ -87,6 +87,7 @@ static const struct of_device_id allowlist[] __initconst = {
> { .compatible = "st-ericsson,u9540", },
>
> { .compatible = "starfive,jh7110", },
> + { .compatible = "starfive,jh7110s", },
>
> { .compatible = "ti,omap2", },
> { .compatible = "ti,omap4", },
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v1 3/7] dt-bindings: riscv: Add StarFive JH7110S SoC and VisionFive 2 Lite board
2025-10-16 8:00 ` [PATCH v1 3/7] dt-bindings: riscv: Add StarFive JH7110S SoC and VisionFive 2 Lite board Hal Feng
@ 2025-10-16 9:24 ` Heinrich Schuchardt
2025-10-16 15:55 ` Conor Dooley
1 sibling, 0 replies; 17+ messages in thread
From: Heinrich Schuchardt @ 2025-10-16 9:24 UTC (permalink / raw)
To: Hal Feng
Cc: devicetree, linux-riscv, linux-kernel, Conor Dooley, Rob Herring,
Krzysztof Kozlowski, Palmer Dabbelt, Rafael J . Wysocki,
Viresh Kumar, Emil Renner Berthing, E Shattow, Paul Walmsley,
Albert Ou
On 10/16/25 10:00, 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 the same as
> those of the JH7110 SoC.
>
> VisionFive 2 Lite boards have SD card version (default) and eMMC version,
> which are called "VisionFive 2 Lite" and "VisionFive 2 Lite eMMC"
> respectively.
>
> Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
> ---
> Documentation/devicetree/bindings/riscv/starfive.yaml | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/riscv/starfive.yaml b/Documentation/devicetree/bindings/riscv/starfive.yaml
> index 04510341a71e..797d9956b949 100644
> --- a/Documentation/devicetree/bindings/riscv/starfive.yaml
> +++ b/Documentation/devicetree/bindings/riscv/starfive.yaml
> @@ -35,6 +35,12 @@ properties:
> - starfive,visionfive-2-v1.3b
> - const: starfive,jh7110
>
> + - items:
> + - enum:
> + - starfive,visionfive-2-lite
> + - starfive,visionfive-2-lite-emmc
> + - const: starfive,jh7110s
> +
> additionalProperties: true
>
> ...
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v1 2/7] dt-bindings: PCI: starfive,jh7110-pcie: Add enable-gpios property
2025-10-16 8:58 ` Heinrich Schuchardt
@ 2025-10-16 15:51 ` Conor Dooley
0 siblings, 0 replies; 17+ messages in thread
From: Conor Dooley @ 2025-10-16 15:51 UTC (permalink / raw)
To: Heinrich Schuchardt
Cc: Hal Feng, devicetree, linux-riscv, linux-kernel, Conor Dooley,
Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt,
Rafael J . Wysocki, Viresh Kumar, Emil Renner Berthing, E Shattow,
Paul Walmsley, Albert Ou
[-- Attachment #1: Type: text/plain, Size: 1600 bytes --]
On Thu, Oct 16, 2025 at 10:58:41AM +0200, Heinrich Schuchardt wrote:
> On 10/16/25 10:00, Hal Feng wrote:
> > Add enable-gpios property for controlling the PCI bus device power.
> > This property had been supported in the driver but not added in the
> > dt-bindings.
> >
> > Fixes: 22fe32239770 ("dt-bindings: PCI: Add StarFive JH7110 PCIe controller")
> > Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
> > ---
> > .../devicetree/bindings/pci/starfive,jh7110-pcie.yaml | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/pci/starfive,jh7110-pcie.yaml b/Documentation/devicetree/bindings/pci/starfive,jh7110-pcie.yaml
> > index 5f432452c815..f254c7111837 100644
> > --- a/Documentation/devicetree/bindings/pci/starfive,jh7110-pcie.yaml
> > +++ b/Documentation/devicetree/bindings/pci/starfive,jh7110-pcie.yaml
> > @@ -60,6 +60,10 @@ properties:
> > description:
> > The phandle to System Register Controller syscon node.
> > + enable-gpios:
> > + description: GPIO used to enable the PCI bus device power
> > + maxItems: 1
> > +
>
> Shouldn't we try to keep the entries alphabetically ordered?
Grouping the two gpios together also has some value. I don't think it's
particularly important which way it is done.
Acked-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: not-applicable
>
> Otherwise looks good.
>
> Best regards
>
> Heinrich
>
> > perst-gpios:
> > description: GPIO controlled connection to PERST# signal
> > maxItems: 1
>
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v1 4/7] riscv: dts: starfive: jh7110-common: Move out some nodes to the board dts
2025-10-16 8:00 ` [PATCH v1 4/7] riscv: dts: starfive: jh7110-common: Move out some nodes to the board dts Hal Feng
@ 2025-10-16 15:54 ` Conor Dooley
2025-10-16 22:55 ` E Shattow
1 sibling, 0 replies; 17+ messages in thread
From: Conor Dooley @ 2025-10-16 15:54 UTC (permalink / raw)
To: Hal Feng
Cc: Conor Dooley, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt,
Rafael J . Wysocki, Viresh Kumar, Emil Renner Berthing,
Heinrich Schuchardt, E Shattow, Paul Walmsley, Albert Ou,
devicetree, linux-riscv, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 12063 bytes --]
Emil,
On Thu, Oct 16, 2025 at 04:00:51PM +0800, 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.
I definitely want your input as to whether these jh7110s devices should
share the same common file as the devices using the regular jh7110.
Cheers,
Conor.
>
> Reviewed-by: E Shattow <e@freeshell.de>
> Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
> ---
> .../boot/dts/starfive/jh7110-common.dtsi | 19 --------
> .../jh7110-deepcomputing-fml13v01.dts | 46 +++++++++++++++++++
> .../boot/dts/starfive/jh7110-milkv-mars.dts | 46 +++++++++++++++++++
> .../dts/starfive/jh7110-milkv-marscm-emmc.dts | 9 ++++
> .../dts/starfive/jh7110-milkv-marscm-lite.dts | 1 +
> .../dts/starfive/jh7110-milkv-marscm.dtsi | 32 +++++++++++++
> .../dts/starfive/jh7110-pine64-star64.dts | 46 +++++++++++++++++++
> .../jh7110-starfive-visionfive-2.dtsi | 43 +++++++++++++++++
> arch/riscv/boot/dts/starfive/jh7110.dtsi | 16 -------
> 9 files changed, 223 insertions(+), 35 deletions(-)
>
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> index 5dc15e48b74b..8cfe8033305d 100644
> --- a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> +++ b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> @@ -281,14 +281,8 @@ &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;
> pinctrl-names = "default";
> pinctrl-0 = <&mmc0_pins>;
> - vmmc-supply = <&vcc_3v3>;
> - vqmmc-supply = <&emmc_vdd>;
> status = "okay";
> };
>
> @@ -298,8 +292,6 @@ &mmc1 {
> assigned-clock-rates = <50000000>;
> bus-width = <4>;
> bootph-pre-ram;
> - cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
> - disable-wp;
> cap-sd-highspeed;
> pinctrl-names = "default";
> pinctrl-0 = <&mmc1_pins>;
> @@ -444,17 +436,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..7535d62201f1 100644
> --- a/arch/riscv/boot/dts/starfive/jh7110-deepcomputing-fml13v01.dts
> +++ b/arch/riscv/boot/dts/starfive/jh7110-deepcomputing-fml13v01.dts
> @@ -11,6 +11,52 @@ / {
> 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 {
> + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
> + disable-wp;
> +};
> +
> &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..c2e7a91e460a 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,33 @@ &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 {
> + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
> + disable-wp;
> +};
> +
> &pcie0 {
> status = "okay";
> };
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts
> index e568537af2c4..ce95496263af 100644
> --- a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts
> +++ b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts
> @@ -10,3 +10,12 @@ / {
> model = "Milk-V Mars CM";
> compatible = "milkv,marscm-emmc", "starfive,jh7110";
> };
> +
> +&mmc0 {
> + cap-mmc-highspeed;
> + cap-mmc-hw-reset;
> + mmc-ddr-1_8v;
> + mmc-hs200-1_8v;
> + vmmc-supply = <&vcc_3v3>;
> + vqmmc-supply = <&emmc_vdd>;
> +};
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
> index 6c40d0ec4011..63aa94d65ab5 100644
> --- a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
> +++ b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
> @@ -14,6 +14,7 @@ / {
> &mmc0 {
> bus-width = <4>;
> cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
> + disable-wp;
> };
>
> &mmc0_pins {
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm.dtsi b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm.dtsi
> index 25b70af564ee..af01d3abde2f 100644
> --- a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm.dtsi
> +++ b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm.dtsi
> @@ -21,6 +21,25 @@ sdio_pwrseq: sdio-pwrseq {
> };
> };
>
> +&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>;
> @@ -40,6 +59,19 @@ &i2c6 {
> status = "disabled";
> };
>
> +&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 {
> #address-cells = <1>;
> #size-cells = <0>;
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts b/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts
> index 31e825be2065..6faf3826c5c3 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,33 @@ &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 {
> + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
> + disable-wp;
> +};
> +
> &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..9cd79fe30d19 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,33 @@ &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 {
> + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
> + disable-wp;
> +};
> +
> &pcie0 {
> status = "okay";
> };
> diff --git a/arch/riscv/boot/dts/starfive/jh7110.dtsi b/arch/riscv/boot/dts/starfive/jh7110.dtsi
> index 6e56e9d20bb0..a380d3dabedd 100644
> --- a/arch/riscv/boot/dts/starfive/jh7110.dtsi
> +++ b/arch/riscv/boot/dts/starfive/jh7110.dtsi
> @@ -205,22 +205,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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v1 3/7] dt-bindings: riscv: Add StarFive JH7110S SoC and VisionFive 2 Lite board
2025-10-16 8:00 ` [PATCH v1 3/7] dt-bindings: riscv: Add StarFive JH7110S SoC and VisionFive 2 Lite board Hal Feng
2025-10-16 9:24 ` Heinrich Schuchardt
@ 2025-10-16 15:55 ` Conor Dooley
1 sibling, 0 replies; 17+ messages in thread
From: Conor Dooley @ 2025-10-16 15:55 UTC (permalink / raw)
To: Hal Feng
Cc: Conor Dooley, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt,
Rafael J . Wysocki, Viresh Kumar, Emil Renner Berthing,
Heinrich Schuchardt, E Shattow, Paul Walmsley, Albert Ou,
devicetree, linux-riscv, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1602 bytes --]
On Thu, Oct 16, 2025 at 04:00:50PM +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 the same as
> those of the JH7110 SoC.
>
> VisionFive 2 Lite boards have SD card version (default) and eMMC version,
> which are called "VisionFive 2 Lite" and "VisionFive 2 Lite eMMC"
> respectively.
>
> Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
Since this is content for my tree,
pw-bot: not-applicable
> ---
> Documentation/devicetree/bindings/riscv/starfive.yaml | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/riscv/starfive.yaml b/Documentation/devicetree/bindings/riscv/starfive.yaml
> index 04510341a71e..797d9956b949 100644
> --- a/Documentation/devicetree/bindings/riscv/starfive.yaml
> +++ b/Documentation/devicetree/bindings/riscv/starfive.yaml
> @@ -35,6 +35,12 @@ properties:
> - starfive,visionfive-2-v1.3b
> - const: starfive,jh7110
>
> + - items:
> + - enum:
> + - starfive,visionfive-2-lite
> + - starfive,visionfive-2-lite-emmc
> + - 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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v1 4/7] riscv: dts: starfive: jh7110-common: Move out some nodes to the board dts
2025-10-16 8:00 ` [PATCH v1 4/7] riscv: dts: starfive: jh7110-common: Move out some nodes to the board dts Hal Feng
2025-10-16 15:54 ` Conor Dooley
@ 2025-10-16 22:55 ` E Shattow
2025-11-03 5:43 ` Hal Feng
1 sibling, 1 reply; 17+ messages in thread
From: E Shattow @ 2025-10-16 22:55 UTC (permalink / raw)
To: Hal Feng, Conor Dooley, Rob Herring, Krzysztof Kozlowski,
Palmer Dabbelt, Rafael J . Wysocki, Viresh Kumar,
Emil Renner Berthing, Heinrich Schuchardt, Paul Walmsley,
Albert Ou
Cc: devicetree, linux-riscv, linux-kernel
On 10/16/25 01:00, 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.
>
> Reviewed-by: E Shattow <e@freeshell.de>
> Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
> ---
> .../boot/dts/starfive/jh7110-common.dtsi | 19 --------
> .../jh7110-deepcomputing-fml13v01.dts | 46 +++++++++++++++++++
> .../boot/dts/starfive/jh7110-milkv-mars.dts | 46 +++++++++++++++++++
> .../dts/starfive/jh7110-milkv-marscm-emmc.dts | 9 ++++
> .../dts/starfive/jh7110-milkv-marscm-lite.dts | 1 +
> .../dts/starfive/jh7110-milkv-marscm.dtsi | 32 +++++++++++++
> .../dts/starfive/jh7110-pine64-star64.dts | 46 +++++++++++++++++++
> .../jh7110-starfive-visionfive-2.dtsi | 43 +++++++++++++++++
> arch/riscv/boot/dts/starfive/jh7110.dtsi | 16 -------
> 9 files changed, 223 insertions(+), 35 deletions(-)
>
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> index 5dc15e48b74b..8cfe8033305d 100644
> --- a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> +++ b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> @@ -281,14 +281,8 @@ &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;
> pinctrl-names = "default";
> pinctrl-0 = <&mmc0_pins>;
> - vmmc-supply = <&vcc_3v3>;
> - vqmmc-supply = <&emmc_vdd>;
> status = "okay";
> };
>
> @@ -298,8 +292,6 @@ &mmc1 {
> assigned-clock-rates = <50000000>;
> bus-width = <4>;
> bootph-pre-ram;
> - cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
> - disable-wp;
> cap-sd-highspeed;
> pinctrl-names = "default";
> pinctrl-0 = <&mmc1_pins>;
> @@ -444,17 +436,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..7535d62201f1 100644
> --- a/arch/riscv/boot/dts/starfive/jh7110-deepcomputing-fml13v01.dts
> +++ b/arch/riscv/boot/dts/starfive/jh7110-deepcomputing-fml13v01.dts
> @@ -11,6 +11,52 @@ / {
> 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 {
> + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
> + disable-wp;
> +};
> +
> &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..c2e7a91e460a 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,33 @@ &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 {
> + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
> + disable-wp;
> +};
> +
> &pcie0 {
> status = "okay";
> };
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts
> index e568537af2c4..ce95496263af 100644
> --- a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts
> +++ b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts
> @@ -10,3 +10,12 @@ / {
> model = "Milk-V Mars CM";
> compatible = "milkv,marscm-emmc", "starfive,jh7110";
> };
> +
> +&mmc0 {
> + cap-mmc-highspeed;
> + cap-mmc-hw-reset;
> + mmc-ddr-1_8v;
> + mmc-hs200-1_8v;
> + vmmc-supply = <&vcc_3v3>;
> + vqmmc-supply = <&emmc_vdd>;
> +};
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
> index 6c40d0ec4011..63aa94d65ab5 100644
> --- a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
> +++ b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
> @@ -14,6 +14,7 @@ / {
> &mmc0 {
> bus-width = <4>;
> cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
> + disable-wp;
> };
>
> &mmc0_pins {
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm.dtsi b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm.dtsi
> index 25b70af564ee..af01d3abde2f 100644
> --- a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm.dtsi
> +++ b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm.dtsi
> @@ -21,6 +21,25 @@ sdio_pwrseq: sdio-pwrseq {
> };
> };
>
> +&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>;
> @@ -40,6 +59,19 @@ &i2c6 {
> status = "disabled";
> };
>
> +&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 {
> #address-cells = <1>;
> #size-cells = <0>;
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts b/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts
> index 31e825be2065..6faf3826c5c3 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,33 @@ &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 {
> + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
> + disable-wp;
> +};
> +
> &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..9cd79fe30d19 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,33 @@ &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 {
> + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
> + disable-wp;
> +};
> +
> &pcie0 {
> status = "okay";
> };
> diff --git a/arch/riscv/boot/dts/starfive/jh7110.dtsi b/arch/riscv/boot/dts/starfive/jh7110.dtsi
> index 6e56e9d20bb0..a380d3dabedd 100644
> --- a/arch/riscv/boot/dts/starfive/jh7110.dtsi
> +++ b/arch/riscv/boot/dts/starfive/jh7110.dtsi
> @@ -205,22 +205,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 {
Emil, for your consideration:
jh711x.dtsi (formerly jh7110.dtsi)
jh711x-common.dtsi (formerly jh7110-common.dtsi, cut opp table and paste
to jh7110-common.dtsi, cut out mmc definitions pasted elsewhere either
to "mmc{0,1}-card, mmc{0,1}-emmc, mmc{0,1}-sdio" dtsi snippets or
duplicated to board files)
jh7110-common.dtsi (includes jh711x-common.dtsi, adds opp table)
jh7110s-common.dtsi (includes jh711x-common.dtsi, adds opp table)
This makes sense to me having two additional dtsi files of the CPU
operating power points (on what is apparently binned silicon) to
maintain for supporting 8+ boards. The decision to split or not split
out the mmc/sdio configuration into common dtsi snippets is less clear
to me, but we do have examples now of all the uses (card, eMMC, SDIO) on
each of the ports mmc0 mmc1 so it might have some benefit; for sure
keeping these assumptions about mmc0 mmc1 functionality in the one
'-common.dtsi' is an obstacle to adding sdio module configurations.
-E
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v1 1/7] cpufreq: dt-platdev: Add JH7110S SOC to the allowlist
2025-10-16 8:00 ` [PATCH v1 1/7] cpufreq: dt-platdev: Add JH7110S SOC to the allowlist Hal Feng
2025-10-16 9:20 ` Heinrich Schuchardt
@ 2025-10-17 5:09 ` Viresh Kumar
1 sibling, 0 replies; 17+ messages in thread
From: Viresh Kumar @ 2025-10-17 5:09 UTC (permalink / raw)
To: Hal Feng
Cc: Conor Dooley, Rob Herring, Krzysztof Kozlowski, Palmer Dabbelt,
Rafael J . Wysocki, Emil Renner Berthing, Heinrich Schuchardt,
E Shattow, Paul Walmsley, Albert Ou, devicetree, linux-riscv,
linux-kernel
On 16-10-25, 16:00, Hal Feng wrote:
> Add the compatible strings for supporting the generic
> cpufreq driver on the StarFive JH7110S SoC.
>
> Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
> ---
> drivers/cpufreq/cpufreq-dt-platdev.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/cpufreq/cpufreq-dt-platdev.c b/drivers/cpufreq/cpufreq-dt-platdev.c
> index cd1816a12bb9..dc11b62399ad 100644
> --- a/drivers/cpufreq/cpufreq-dt-platdev.c
> +++ b/drivers/cpufreq/cpufreq-dt-platdev.c
> @@ -87,6 +87,7 @@ static const struct of_device_id allowlist[] __initconst = {
> { .compatible = "st-ericsson,u9540", },
>
> { .compatible = "starfive,jh7110", },
> + { .compatible = "starfive,jh7110s", },
>
> { .compatible = "ti,omap2", },
> { .compatible = "ti,omap4", },
Applied. Thanks.
--
viresh
^ permalink raw reply [flat|nested] 17+ messages in thread
* RE: [PATCH v1 4/7] riscv: dts: starfive: jh7110-common: Move out some nodes to the board dts
2025-10-16 22:55 ` E Shattow
@ 2025-11-03 5:43 ` Hal Feng
0 siblings, 0 replies; 17+ messages in thread
From: Hal Feng @ 2025-11-03 5:43 UTC (permalink / raw)
To: E Shattow, Conor Dooley, Rob Herring, Krzysztof Kozlowski,
Palmer Dabbelt, Rafael J . Wysocki, Viresh Kumar,
Emil Renner Berthing, Heinrich Schuchardt, Paul Walmsley,
Albert Ou
Cc: devicetree@vger.kernel.org, linux-riscv@lists.infradead.org,
linux-kernel@vger.kernel.org
> On 17.10.25 06:56, E Shattow wrote:
> On 10/16/25 01:00, 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.
> >
> > Reviewed-by: E Shattow <e@freeshell.de>
> > Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
> > ---
> > .../boot/dts/starfive/jh7110-common.dtsi | 19 --------
> > .../jh7110-deepcomputing-fml13v01.dts | 46 +++++++++++++++++++
> > .../boot/dts/starfive/jh7110-milkv-mars.dts | 46 +++++++++++++++++++
> > .../dts/starfive/jh7110-milkv-marscm-emmc.dts | 9 ++++
> > .../dts/starfive/jh7110-milkv-marscm-lite.dts | 1 +
> > .../dts/starfive/jh7110-milkv-marscm.dtsi | 32 +++++++++++++
> > .../dts/starfive/jh7110-pine64-star64.dts | 46 +++++++++++++++++++
> > .../jh7110-starfive-visionfive-2.dtsi | 43 +++++++++++++++++
> > arch/riscv/boot/dts/starfive/jh7110.dtsi | 16 -------
> > 9 files changed, 223 insertions(+), 35 deletions(-)
> >
> > diff --git a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> > b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> > index 5dc15e48b74b..8cfe8033305d 100644
> > --- a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> > +++ b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> > @@ -281,14 +281,8 @@ &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;
> > pinctrl-names = "default";
> > pinctrl-0 = <&mmc0_pins>;
> > - vmmc-supply = <&vcc_3v3>;
> > - vqmmc-supply = <&emmc_vdd>;
> > status = "okay";
> > };
> >
> > @@ -298,8 +292,6 @@ &mmc1 {
> > assigned-clock-rates = <50000000>;
> > bus-width = <4>;
> > bootph-pre-ram;
> > - cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
> > - disable-wp;
> > cap-sd-highspeed;
> > pinctrl-names = "default";
> > pinctrl-0 = <&mmc1_pins>;
> > @@ -444,17 +436,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..7535d62201f1 100644
> > --- a/arch/riscv/boot/dts/starfive/jh7110-deepcomputing-fml13v01.dts
> > +++ b/arch/riscv/boot/dts/starfive/jh7110-deepcomputing-fml13v01.dts
> > @@ -11,6 +11,52 @@ / {
> > 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 {
> > + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
> > + disable-wp;
> > +};
> > +
> > &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..c2e7a91e460a 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,33 @@ &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 {
> > + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
> > + disable-wp;
> > +};
> > +
> > &pcie0 {
> > status = "okay";
> > };
> > diff --git a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts
> > b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts
> > index e568537af2c4..ce95496263af 100644
> > --- a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts
> > +++ b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-emmc.dts
> > @@ -10,3 +10,12 @@ / {
> > model = "Milk-V Mars CM";
> > compatible = "milkv,marscm-emmc", "starfive,jh7110"; };
> > +
> > +&mmc0 {
> > + cap-mmc-highspeed;
> > + cap-mmc-hw-reset;
> > + mmc-ddr-1_8v;
> > + mmc-hs200-1_8v;
> > + vmmc-supply = <&vcc_3v3>;
> > + vqmmc-supply = <&emmc_vdd>;
> > +};
> > diff --git a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
> > b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
> > index 6c40d0ec4011..63aa94d65ab5 100644
> > --- a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
> > +++ b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm-lite.dts
> > @@ -14,6 +14,7 @@ / {
> > &mmc0 {
> > bus-width = <4>;
> > cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
> > + disable-wp;
> > };
> >
> > &mmc0_pins {
> > diff --git a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm.dtsi
> > b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm.dtsi
> > index 25b70af564ee..af01d3abde2f 100644
> > --- a/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm.dtsi
> > +++ b/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm.dtsi
> > @@ -21,6 +21,25 @@ sdio_pwrseq: sdio-pwrseq {
> > };
> > };
> >
> > +&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>; @@
> > -40,6 +59,19 @@ &i2c6 {
> > status = "disabled";
> > };
> >
> > +&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 {
> > #address-cells = <1>;
> > #size-cells = <0>;
> > diff --git a/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts
> > b/arch/riscv/boot/dts/starfive/jh7110-pine64-star64.dts
> > index 31e825be2065..6faf3826c5c3 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,33
> > @@ &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 {
> > + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
> > + disable-wp;
> > +};
> > +
> > &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..9cd79fe30d19 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,33 @@ &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 {
> > + cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
> > + disable-wp;
> > +};
> > +
> > &pcie0 {
> > status = "okay";
> > };
> > diff --git a/arch/riscv/boot/dts/starfive/jh7110.dtsi
> > b/arch/riscv/boot/dts/starfive/jh7110.dtsi
> > index 6e56e9d20bb0..a380d3dabedd 100644
> > --- a/arch/riscv/boot/dts/starfive/jh7110.dtsi
> > +++ b/arch/riscv/boot/dts/starfive/jh7110.dtsi
> > @@ -205,22 +205,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 {
>
> Emil, for your consideration:
>
> jh711x.dtsi (formerly jh7110.dtsi)
>
> jh711x-common.dtsi (formerly jh7110-common.dtsi, cut opp table and paste
> to jh7110-common.dtsi, cut out mmc definitions pasted elsewhere either to
> "mmc{0,1}-card, mmc{0,1}-emmc, mmc{0,1}-sdio" dtsi snippets or duplicated
> to board files)
>
> jh7110-common.dtsi (includes jh711x-common.dtsi, adds opp table)
>
> jh7110s-common.dtsi (includes jh711x-common.dtsi, adds opp table)
>
> This makes sense to me having two additional dtsi files of the CPU operating
> power points (on what is apparently binned silicon) to maintain for supporting
> 8+ boards. The decision to split or not split out the mmc/sdio configuration
> into common dtsi snippets is less clear to me, but we do have examples now of
> all the uses (card, eMMC, SDIO) on each of the ports mmc0 mmc1 so it might
> have some benefit; for sure keeping these assumptions about mmc0 mmc1
> functionality in the one '-common.dtsi' is an obstacle to adding sdio module
> configurations.
I agree with this suggestion. If there is no objection, I will send a new version
for review.
Best regards,
Hal
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2025-11-03 14:16 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-16 8:00 [PATCH v1 0/7] Add support for StarFive VisionFive 2 Lite board Hal Feng
2025-10-16 8:00 ` [PATCH v1 1/7] cpufreq: dt-platdev: Add JH7110S SOC to the allowlist Hal Feng
2025-10-16 9:20 ` Heinrich Schuchardt
2025-10-17 5:09 ` Viresh Kumar
2025-10-16 8:00 ` [PATCH v1 2/7] dt-bindings: PCI: starfive,jh7110-pcie: Add enable-gpios property Hal Feng
2025-10-16 8:58 ` Heinrich Schuchardt
2025-10-16 15:51 ` Conor Dooley
2025-10-16 8:00 ` [PATCH v1 3/7] dt-bindings: riscv: Add StarFive JH7110S SoC and VisionFive 2 Lite board Hal Feng
2025-10-16 9:24 ` Heinrich Schuchardt
2025-10-16 15:55 ` Conor Dooley
2025-10-16 8:00 ` [PATCH v1 4/7] riscv: dts: starfive: jh7110-common: Move out some nodes to the board dts Hal Feng
2025-10-16 15:54 ` Conor Dooley
2025-10-16 22:55 ` E Shattow
2025-11-03 5:43 ` Hal Feng
2025-10-16 8:00 ` [PATCH v1 5/7] riscv: dts: starfive: Add common board dtsi for VisionFive 2 Lite variants Hal Feng
2025-10-16 8:00 ` [PATCH v1 6/7] riscv: dts: starfive: Add VisionFive 2 Lite board device tree Hal Feng
2025-10-16 8:00 ` [PATCH v1 7/7] riscv: dts: starfive: Add VisionFive 2 Lite eMMC " 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).