devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] dt-bindings: riscv: starfive: add Orange Pi RV board compatible
@ 2025-04-09  9:18 Icenowy Zheng
  2025-04-09  9:18 ` [PATCH 2/2] riscv: dts: starfive: add DT for Orange Pi RV Icenowy Zheng
  2025-04-11 15:27 ` [PATCH 1/2] dt-bindings: riscv: starfive: add Orange Pi RV board compatible Rob Herring (Arm)
  0 siblings, 2 replies; 8+ messages in thread
From: Icenowy Zheng @ 2025-04-09  9:18 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Emil Renner Berthing, Jisheng Zhang, Michael Zhu, Drew Fustini
  Cc: devicetree, linux-riscv, linux-kernel, Icenowy Zheng

Orange Pi RV is a newly released JH7110 board by Xunlong.

Add a compatible string to the starfive platform DT binding.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
---
 Documentation/devicetree/bindings/riscv/starfive.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/riscv/starfive.yaml b/Documentation/devicetree/bindings/riscv/starfive.yaml
index 7ef85174353de..dd5cd51e38797 100644
--- a/Documentation/devicetree/bindings/riscv/starfive.yaml
+++ b/Documentation/devicetree/bindings/riscv/starfive.yaml
@@ -31,6 +31,7 @@ properties:
               - pine64,star64
               - starfive,visionfive-2-v1.2a
               - starfive,visionfive-2-v1.3b
+              - xunlong,orangepi-rv
           - const: starfive,jh7110
 
 additionalProperties: true
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/2] riscv: dts: starfive: add DT for Orange Pi RV
  2025-04-09  9:18 [PATCH 1/2] dt-bindings: riscv: starfive: add Orange Pi RV board compatible Icenowy Zheng
@ 2025-04-09  9:18 ` Icenowy Zheng
  2025-04-10 16:54   ` Yao Zi
  2025-04-11 15:27 ` [PATCH 1/2] dt-bindings: riscv: starfive: add Orange Pi RV board compatible Rob Herring (Arm)
  1 sibling, 1 reply; 8+ messages in thread
From: Icenowy Zheng @ 2025-04-09  9:18 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Emil Renner Berthing, Jisheng Zhang, Michael Zhu, Drew Fustini
  Cc: devicetree, linux-riscv, linux-kernel, Icenowy Zheng

Orange Pi RV is a newly released SBC with JH7110 SoC, single GbE port
(connected to JH7110 GMAC0 via a YT8531 PHY), 4 USB ports (via a VL805
PCIe USB controller connected to JH7110 PCIE0), a M.2 M-key slot
(connected to JH7110 PCIE1), a HDMI video output, a 3.5mm audio output
and a microSD slot.

Onboard peripherals contain a SPI NOR (which contains the U-Boot
firmware) and an Ampak AP6256 SDIO Wi-Fi module.

As the schematics isn't available yet, the SDIO Wi-Fi is left disabled
yet.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
---
 arch/riscv/boot/dts/starfive/Makefile         |  1 +
 .../boot/dts/starfive/jh7110-orangepi-rv.dts  | 73 +++++++++++++++++++
 2 files changed, 74 insertions(+)
 create mode 100644 arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts

diff --git a/arch/riscv/boot/dts/starfive/Makefile b/arch/riscv/boot/dts/starfive/Makefile
index b3bb12f78e7d5..24f1a44828350 100644
--- a/arch/riscv/boot/dts/starfive/Makefile
+++ b/arch/riscv/boot/dts/starfive/Makefile
@@ -10,6 +10,7 @@ dtb-$(CONFIG_ARCH_STARFIVE) += jh7100-starfive-visionfive-v1.dtb
 
 dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-deepcomputing-fml13v01.dtb
 dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-mars.dtb
+dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-orangepi-rv.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
diff --git a/arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts b/arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts
new file mode 100644
index 0000000000000..bde01f117e0b2
--- /dev/null
+++ b/arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts
@@ -0,0 +1,73 @@
+// SPDX-License-Identifier: GPL-2.0 OR MIT
+/*
+ * Copyright (C) 2025 Icenowy Zheng <uwu@icenowy.me>
+ */
+
+/dts-v1/;
+#include "jh7110-common.dtsi"
+#include <dt-bindings/leds/common.h>
+
+/ {
+	model = "Xunlong Orange Pi RV";
+	compatible = "xunlong,orangepi-rv", "starfive,jh7110";
+
+	leds {
+		compatible = "gpio-leds";
+
+		led-ack {
+			gpios = <&aongpio 3 GPIO_ACTIVE_HIGH>;
+			color = <LED_COLOR_ID_GREEN>;
+			function = LED_FUNCTION_HEARTBEAT;
+			linux,default-trigger = "heartbeat";
+			label = "ack";
+		};
+	};
+};
+
+&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 {
+	/* TODO: Ampak AP6256 Wi-Fi module attached here */
+	status = "disabled";
+};
+
+&mmc1 {
+	/delete-property/ cd-gpios;
+	broken-cd;
+};
+
+&pcie0 {
+	status = "okay";
+};
+
+&pcie1 {
+	status = "okay";
+};
+
+&phy0 {
+	motorcomm,tx-clk-adj-enabled;
+	motorcomm,tx-clk-10-inverted;
+	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>;
+};
+
+&pwmdac {
+	status = "okay";
+};
+
+&spi0 {
+	status = "okay";
+};
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] riscv: dts: starfive: add DT for Orange Pi RV
  2025-04-09  9:18 ` [PATCH 2/2] riscv: dts: starfive: add DT for Orange Pi RV Icenowy Zheng
@ 2025-04-10 16:54   ` Yao Zi
  2025-04-11  1:29     ` Icenowy Zheng
  0 siblings, 1 reply; 8+ messages in thread
From: Yao Zi @ 2025-04-10 16:54 UTC (permalink / raw)
  To: Icenowy Zheng, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Emil Renner Berthing, Jisheng Zhang, Michael Zhu, Drew Fustini
  Cc: devicetree, linux-riscv, linux-kernel

On Wed, Apr 09, 2025 at 05:18:01PM +0800, Icenowy Zheng wrote:
> Orange Pi RV is a newly released SBC with JH7110 SoC, single GbE port
> (connected to JH7110 GMAC0 via a YT8531 PHY), 4 USB ports (via a VL805
> PCIe USB controller connected to JH7110 PCIE0), a M.2 M-key slot
> (connected to JH7110 PCIE1), a HDMI video output, a 3.5mm audio output
> and a microSD slot.
> 
> Onboard peripherals contain a SPI NOR (which contains the U-Boot
> firmware) and an Ampak AP6256 SDIO Wi-Fi module.
> 
> As the schematics isn't available yet, the SDIO Wi-Fi is left disabled
> yet.
> 
> Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
> ---
>  arch/riscv/boot/dts/starfive/Makefile         |  1 +
>  .../boot/dts/starfive/jh7110-orangepi-rv.dts  | 73 +++++++++++++++++++
>  2 files changed, 74 insertions(+)
>  create mode 100644 arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts
> 
> diff --git a/arch/riscv/boot/dts/starfive/Makefile b/arch/riscv/boot/dts/starfive/Makefile
> index b3bb12f78e7d5..24f1a44828350 100644
> --- a/arch/riscv/boot/dts/starfive/Makefile
> +++ b/arch/riscv/boot/dts/starfive/Makefile
> @@ -10,6 +10,7 @@ dtb-$(CONFIG_ARCH_STARFIVE) += jh7100-starfive-visionfive-v1.dtb
>  
>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-deepcomputing-fml13v01.dtb
>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-mars.dtb
> +dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-orangepi-rv.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
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts b/arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts
> new file mode 100644
> index 0000000000000..bde01f117e0b2
> --- /dev/null
> +++ b/arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts
> @@ -0,0 +1,73 @@
> +// SPDX-License-Identifier: GPL-2.0 OR MIT
> +/*
> + * Copyright (C) 2025 Icenowy Zheng <uwu@icenowy.me>
> + */
> +
> +/dts-v1/;
> +#include "jh7110-common.dtsi"
> +#include <dt-bindings/leds/common.h>
> +
> +/ {
> +	model = "Xunlong Orange Pi RV";
> +	compatible = "xunlong,orangepi-rv", "starfive,jh7110";
> +
> +	leds {
> +		compatible = "gpio-leds";
> +
> +		led-ack {
> +			gpios = <&aongpio 3 GPIO_ACTIVE_HIGH>;
> +			color = <LED_COLOR_ID_GREEN>;
> +			function = LED_FUNCTION_HEARTBEAT;
> +			linux,default-trigger = "heartbeat";
> +			label = "ack";

Should we sort the properties in alphabet order? i.e. color, function,
gpios, label then linux,default-trigger. See dts-coding-style.rst,

> The following order of properties in device nodes is preferred:
>
> 1. "compatible"
> 2. "reg"
> 3. "ranges"
> 4. Standard/common properties (defined by common bindings, e.g. without
> vendor-prefixes)
> 5. Vendor-specific properties
> 6. "status" (if applicable)
> 7. Child nodes, where each node is preceded with a blank line

> +		};
> +	};
> +};
> +
> +&gmac0 {
> +	starfive,tx-use-rgmii-clk;
> +	assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>;
> +	assigned-clock-parents = <&aoncrg JH7110_AONCLK_GMAC0_RMII_RTX>;
> +	status = "okay";

Vendor property starfive,tx-use-rgmii-clk should go after the common
ones.

> +};
> +
> +&i2c0 {
> +	status = "okay";
> +};
> +
> +&mmc0 {
> +	/* TODO: Ampak AP6256 Wi-Fi module attached here */
> +	status = "disabled";
> +};
> +
> +&mmc1 {
> +	/delete-property/ cd-gpios;
> +	broken-cd;
> +};
> +
> +&pcie0 {
> +	status = "okay";
> +};
> +
> +&pcie1 {
> +	status = "okay";
> +};
> +
> +&phy0 {
> +	motorcomm,tx-clk-adj-enabled;
> +	motorcomm,tx-clk-10-inverted;
> +	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>;
> +};

Ditto, move the vendor properties below the common ones.

> +&pwmdac {
> +	status = "okay";
> +};
> +
> +&spi0 {
> +	status = "okay";
> +};
> -- 
> 2.49.0
> 

Best regards,
Yao Zi

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] riscv: dts: starfive: add DT for Orange Pi RV
  2025-04-10 16:54   ` Yao Zi
@ 2025-04-11  1:29     ` Icenowy Zheng
  2025-07-16  1:30       ` E Shattow
  0 siblings, 1 reply; 8+ messages in thread
From: Icenowy Zheng @ 2025-04-11  1:29 UTC (permalink / raw)
  To: Yao Zi, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Emil Renner Berthing, Jisheng Zhang, Michael Zhu, Drew Fustini
  Cc: devicetree, linux-riscv, linux-kernel

在 2025-04-10星期四的 16:54 +0000,Yao Zi写道:
> On Wed, Apr 09, 2025 at 05:18:01PM +0800, Icenowy Zheng wrote:
> > Orange Pi RV is a newly released SBC with JH7110 SoC, single GbE
> > port
> > (connected to JH7110 GMAC0 via a YT8531 PHY), 4 USB ports (via a
> > VL805
> > PCIe USB controller connected to JH7110 PCIE0), a M.2 M-key slot
> > (connected to JH7110 PCIE1), a HDMI video output, a 3.5mm audio
> > output
> > and a microSD slot.
> > 
> > Onboard peripherals contain a SPI NOR (which contains the U-Boot
> > firmware) and an Ampak AP6256 SDIO Wi-Fi module.
> > 
> > As the schematics isn't available yet, the SDIO Wi-Fi is left
> > disabled
> > yet.
> > 
> > Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
> > ---
> >  arch/riscv/boot/dts/starfive/Makefile         |  1 +
> >  .../boot/dts/starfive/jh7110-orangepi-rv.dts  | 73
> > +++++++++++++++++++
> >  2 files changed, 74 insertions(+)
> >  create mode 100644 arch/riscv/boot/dts/starfive/jh7110-orangepi-
> > rv.dts
> > 
> > diff --git a/arch/riscv/boot/dts/starfive/Makefile
> > b/arch/riscv/boot/dts/starfive/Makefile
> > index b3bb12f78e7d5..24f1a44828350 100644
> > --- a/arch/riscv/boot/dts/starfive/Makefile
> > +++ b/arch/riscv/boot/dts/starfive/Makefile
> > @@ -10,6 +10,7 @@ dtb-$(CONFIG_ARCH_STARFIVE) += jh7100-starfive-
> > visionfive-v1.dtb
> >  
> >  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-deepcomputing-fml13v01.dtb
> >  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-mars.dtb
> > +dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-orangepi-rv.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
> > diff --git a/arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts
> > b/arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts
> > new file mode 100644
> > index 0000000000000..bde01f117e0b2
> > --- /dev/null
> > +++ b/arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts
> > @@ -0,0 +1,73 @@
> > +// SPDX-License-Identifier: GPL-2.0 OR MIT
> > +/*
> > + * Copyright (C) 2025 Icenowy Zheng <uwu@icenowy.me>
> > + */
> > +
> > +/dts-v1/;
> > +#include "jh7110-common.dtsi"
> > +#include <dt-bindings/leds/common.h>
> > +
> > +/ {
> > +       model = "Xunlong Orange Pi RV";
> > +       compatible = "xunlong,orangepi-rv", "starfive,jh7110";
> > +
> > +       leds {
> > +               compatible = "gpio-leds";
> > +
> > +               led-ack {
> > +                       gpios = <&aongpio 3 GPIO_ACTIVE_HIGH>;
> > +                       color = <LED_COLOR_ID_GREEN>;
> > +                       function = LED_FUNCTION_HEARTBEAT;
> > +                       linux,default-trigger = "heartbeat";
> > +                       label = "ack";
> 
> Should we sort the properties in alphabet order? i.e. color,
> function,
> gpios, label then linux,default-trigger. See dts-coding-style.rst,

Well in case of GPIO LED, I think gpios is something like reg? Although
this is only my personal feel, and label really needs to be reordered
then.

> 
> > The following order of properties in device nodes is preferred:
> > 
> > 1. "compatible"
> > 2. "reg"
> > 3. "ranges"
> > 4. Standard/common properties (defined by common bindings, e.g.
> > without
> > vendor-prefixes)
> > 5. Vendor-specific properties
> > 6. "status" (if applicable)
> > 7. Child nodes, where each node is preceded with a blank line
> 
> > +               };
> > +       };
> > +};
> > +
> > +&gmac0 {
> > +       starfive,tx-use-rgmii-clk;
> > +       assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>;
> > +       assigned-clock-parents = <&aoncrg
> > JH7110_AONCLK_GMAC0_RMII_RTX>;
> > +       status = "okay";
> 
> Vendor property starfive,tx-use-rgmii-clk should go after the common
> ones.

Okay, I will fix this (and the one below) in next revision.

Thanks,
Icenowy

> 
> > +};
> > +
> > +&i2c0 {
> > +       status = "okay";
> > +};
> > +
> > +&mmc0 {
> > +       /* TODO: Ampak AP6256 Wi-Fi module attached here */
> > +       status = "disabled";
> > +};
> > +
> > +&mmc1 {
> > +       /delete-property/ cd-gpios;
> > +       broken-cd;
> > +};
> > +
> > +&pcie0 {
> > +       status = "okay";
> > +};
> > +
> > +&pcie1 {
> > +       status = "okay";
> > +};
> > +
> > +&phy0 {
> > +       motorcomm,tx-clk-adj-enabled;
> > +       motorcomm,tx-clk-10-inverted;
> > +       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>;
> > +};
> 
> Ditto, move the vendor properties below the common ones.
> 
> > +&pwmdac {
> > +       status = "okay";
> > +};
> > +
> > +&spi0 {
> > +       status = "okay";
> > +};
> > -- 
> > 2.49.0
> > 
> 
> Best regards,
> Yao Zi


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] dt-bindings: riscv: starfive: add Orange Pi RV board compatible
  2025-04-09  9:18 [PATCH 1/2] dt-bindings: riscv: starfive: add Orange Pi RV board compatible Icenowy Zheng
  2025-04-09  9:18 ` [PATCH 2/2] riscv: dts: starfive: add DT for Orange Pi RV Icenowy Zheng
@ 2025-04-11 15:27 ` Rob Herring (Arm)
  1 sibling, 0 replies; 8+ messages in thread
From: Rob Herring (Arm) @ 2025-04-11 15:27 UTC (permalink / raw)
  To: Icenowy Zheng
  Cc: devicetree, linux-kernel, Michael Zhu, Krzysztof Kozlowski,
	Jisheng Zhang, Emil Renner Berthing, Drew Fustini, Conor Dooley,
	linux-riscv


On Wed, 09 Apr 2025 17:18:00 +0800, Icenowy Zheng wrote:
> Orange Pi RV is a newly released JH7110 board by Xunlong.
> 
> Add a compatible string to the starfive platform DT binding.
> 
> Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
> ---
>  Documentation/devicetree/bindings/riscv/starfive.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 

Acked-by: Rob Herring (Arm) <robh@kernel.org>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] riscv: dts: starfive: add DT for Orange Pi RV
  2025-04-11  1:29     ` Icenowy Zheng
@ 2025-07-16  1:30       ` E Shattow
  2025-07-16 16:08         ` Yao Zi
  0 siblings, 1 reply; 8+ messages in thread
From: E Shattow @ 2025-07-16  1:30 UTC (permalink / raw)
  To: Icenowy Zheng, Yao Zi, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Emil Renner Berthing, Jisheng Zhang, Michael Zhu,
	Drew Fustini
  Cc: devicetree, linux-riscv, linux-kernel

On 4/10/25 18:29, Icenowy Zheng wrote:
> 在 2025-04-10星期四的 16:54 +0000,Yao Zi写道:
>> On Wed, Apr 09, 2025 at 05:18:01PM +0800, Icenowy Zheng wrote:
>>> Orange Pi RV is a newly released SBC with JH7110 SoC, single GbE
>>> port
>>> (connected to JH7110 GMAC0 via a YT8531 PHY), 4 USB ports (via a
>>> VL805
>>> PCIe USB controller connected to JH7110 PCIE0), a M.2 M-key slot
>>> (connected to JH7110 PCIE1), a HDMI video output, a 3.5mm audio
>>> output
>>> and a microSD slot.
>>>
>>> Onboard peripherals contain a SPI NOR (which contains the U-Boot
>>> firmware) and an Ampak AP6256 SDIO Wi-Fi module.
>>>
>>> As the schematics isn't available yet, the SDIO Wi-Fi is left
>>> disabled
>>> yet.
>>>
>>> Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
>>> ---
>>>  arch/riscv/boot/dts/starfive/Makefile         |  1 +
>>>  .../boot/dts/starfive/jh7110-orangepi-rv.dts  | 73
>>> +++++++++++++++++++
>>>  2 files changed, 74 insertions(+)
>>>  create mode 100644 arch/riscv/boot/dts/starfive/jh7110-orangepi-
>>> rv.dts
>>>
>>> diff --git a/arch/riscv/boot/dts/starfive/Makefile
>>> b/arch/riscv/boot/dts/starfive/Makefile
>>> index b3bb12f78e7d5..24f1a44828350 100644
>>> --- a/arch/riscv/boot/dts/starfive/Makefile
>>> +++ b/arch/riscv/boot/dts/starfive/Makefile
>>> @@ -10,6 +10,7 @@ dtb-$(CONFIG_ARCH_STARFIVE) += jh7100-starfive-
>>> visionfive-v1.dtb
>>>  
>>>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-deepcomputing-fml13v01.dtb
>>>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-mars.dtb
>>> +dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-orangepi-rv.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
>>> diff --git a/arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts
>>> b/arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts
>>> new file mode 100644
>>> index 0000000000000..bde01f117e0b2
>>> --- /dev/null
>>> +++ b/arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts
>>> @@ -0,0 +1,73 @@
>>> +// SPDX-License-Identifier: GPL-2.0 OR MIT
>>> +/*
>>> + * Copyright (C) 2025 Icenowy Zheng <uwu@icenowy.me>
>>> + */
>>> +
>>> +/dts-v1/;
>>> +#include "jh7110-common.dtsi"
>>> +#include <dt-bindings/leds/common.h>
>>> +
>>> +/ {
>>> +       model = "Xunlong Orange Pi RV";
>>> +       compatible = "xunlong,orangepi-rv", "starfive,jh7110";
>>> +
>>> +       leds {
>>> +               compatible = "gpio-leds";
>>> +
>>> +               led-ack {
>>> +                       gpios = <&aongpio 3 GPIO_ACTIVE_HIGH>;
>>> +                       color = <LED_COLOR_ID_GREEN>;
>>> +                       function = LED_FUNCTION_HEARTBEAT;
>>> +                       linux,default-trigger = "heartbeat";
>>> +                       label = "ack";
>>
>> Should we sort the properties in alphabet order? i.e. color,
>> function,
>> gpios, label then linux,default-trigger. See dts-coding-style.rst,
> 
> Well in case of GPIO LED, I think gpios is something like reg? Although
> this is only my personal feel, and label really needs to be reordered
> then.
> 

Status led description here does instead belong in jh7110-common.dtsi
since all variant boards are using the same RGPIO3 (fourth GPIO on PMU
domain).

>>
>>> The following order of properties in device nodes is preferred:
>>>
>>> 1. "compatible"
>>> 2. "reg"
>>> 3. "ranges"
>>> 4. Standard/common properties (defined by common bindings, e.g.
>>> without
>>> vendor-prefixes)
>>> 5. Vendor-specific properties
>>> 6. "status" (if applicable)
>>> 7. Child nodes, where each node is preceded with a blank line
>>
>>> +               };
>>> +       };
>>> +};
>>> +
>>> +&gmac0 {
>>> +       starfive,tx-use-rgmii-clk;
>>> +       assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>;
>>> +       assigned-clock-parents = <&aoncrg
>>> JH7110_AONCLK_GMAC0_RMII_RTX>;
>>> +       status = "okay";
>>
>> Vendor property starfive,tx-use-rgmii-clk should go after the common
>> ones.
> 
> Okay, I will fix this (and the one below) in next revision.
> 
> Thanks,
> Icenowy

Well then does the documentation follow recommended sort ordering?

https://www.kernel.org/doc/Documentation/devicetree/bindings/leds/common.yaml

Looks to me like it is not clear what is going on there with sort
ordering. The recently accepted dts in-tree are a mix of "who cares?",
alphabet sort, and preferentially but arbitrarily placing some things
above others. The documentation is even different than all that.

Maybe if the documentation should be followed we should follow it, else
fix the documentation firstly.

> 
>>> +};
>>> +
>>> +&i2c0 {
>>> +       status = "okay";
>>> +};
>>> +
>>> +&mmc0 {
>>> +       /* TODO: Ampak AP6256 Wi-Fi module attached here */
>>> +       status = "disabled";
>>> +};

Orange Pi RV schematic is published now. Please implement this
description here.

You may also wish to review the StarFive JH7100 devicetree descriptions
(and schematic), and additionally the published Milk-V Mars CM / Mars CM
Lite schematic, for clues about AP6256. The required firmware files'
intellectual property when during the last discussion about
linux-firmware was determined to be Synaptics (labeled as Broadcomm) and
rejected from inclusion due to no clear licensed permission for
distribution. Maybe it is time to revisit this and find someone willing
to do the work of resolving the license ambiguity?

>>> +
>>> +&mmc1 {
>>> +       /delete-property/ cd-gpios;
>>> +       broken-cd;
>>> +};
>>> +
>>> +&pcie0 {
>>> +       status = "okay";
>>> +};
>>> +
>>> +&pcie1 {
>>> +       status = "okay";
>>> +};
>>> +
>>> +&phy0 {
>>> +       motorcomm,tx-clk-adj-enabled;
>>> +       motorcomm,tx-clk-10-inverted;
>>> +       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>;
>>> +};
>>
>> Ditto, move the vendor properties below the common ones.

Yes and, one of us may review what is already in starfive/ dts to fix
and send a patch for this mess of devicetree sort order. The issue
repeats every time we look for an existing sample to use.

>>
>>> +&pwmdac {
>>> +       status = "okay";
>>> +};
>>> +
>>> +&spi0 {
>>> +       status = "okay";
>>> +};
>>> -- 
>>> 2.49.0
>>>
>>
>> Best regards,
>> Yao Zi
> 

B.R.,  -E Shattow

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] riscv: dts: starfive: add DT for Orange Pi RV
  2025-07-16  1:30       ` E Shattow
@ 2025-07-16 16:08         ` Yao Zi
  2025-07-24  7:31           ` E Shattow
  0 siblings, 1 reply; 8+ messages in thread
From: Yao Zi @ 2025-07-16 16:08 UTC (permalink / raw)
  To: E Shattow, Icenowy Zheng, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Emil Renner Berthing, Jisheng Zhang, Michael Zhu,
	Drew Fustini
  Cc: devicetree, linux-riscv, linux-kernel

On Tue, Jul 15, 2025 at 06:30:57PM -0700, E Shattow wrote:
> On 4/10/25 18:29, Icenowy Zheng wrote:
> > 在 2025-04-10星期四的 16:54 +0000,Yao Zi写道:
> >> On Wed, Apr 09, 2025 at 05:18:01PM +0800, Icenowy Zheng wrote:
> >>> Orange Pi RV is a newly released SBC with JH7110 SoC, single GbE
> >>> port
> >>> (connected to JH7110 GMAC0 via a YT8531 PHY), 4 USB ports (via a
> >>> VL805
> >>> PCIe USB controller connected to JH7110 PCIE0), a M.2 M-key slot
> >>> (connected to JH7110 PCIE1), a HDMI video output, a 3.5mm audio
> >>> output
> >>> and a microSD slot.
> >>>
> >>> Onboard peripherals contain a SPI NOR (which contains the U-Boot
> >>> firmware) and an Ampak AP6256 SDIO Wi-Fi module.
> >>>
> >>> As the schematics isn't available yet, the SDIO Wi-Fi is left
> >>> disabled
> >>> yet.
> >>>
> >>> Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
> >>> ---
> >>>  arch/riscv/boot/dts/starfive/Makefile         |  1 +
> >>>  .../boot/dts/starfive/jh7110-orangepi-rv.dts  | 73
> >>> +++++++++++++++++++
> >>>  2 files changed, 74 insertions(+)
> >>>  create mode 100644 arch/riscv/boot/dts/starfive/jh7110-orangepi-
> >>> rv.dts
> >>>
> >>> diff --git a/arch/riscv/boot/dts/starfive/Makefile
> >>> b/arch/riscv/boot/dts/starfive/Makefile
> >>> index b3bb12f78e7d5..24f1a44828350 100644
> >>> --- a/arch/riscv/boot/dts/starfive/Makefile
> >>> +++ b/arch/riscv/boot/dts/starfive/Makefile
> >>> @@ -10,6 +10,7 @@ dtb-$(CONFIG_ARCH_STARFIVE) += jh7100-starfive-
> >>> visionfive-v1.dtb
> >>>  
> >>>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-deepcomputing-fml13v01.dtb
> >>>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-mars.dtb
> >>> +dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-orangepi-rv.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
> >>> diff --git a/arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts
> >>> b/arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts
> >>> new file mode 100644
> >>> index 0000000000000..bde01f117e0b2
> >>> --- /dev/null
> >>> +++ b/arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts
> >>> @@ -0,0 +1,73 @@
> >>> +// SPDX-License-Identifier: GPL-2.0 OR MIT
> >>> +/*
> >>> + * Copyright (C) 2025 Icenowy Zheng <uwu@icenowy.me>
> >>> + */
> >>> +
> >>> +/dts-v1/;
> >>> +#include "jh7110-common.dtsi"
> >>> +#include <dt-bindings/leds/common.h>
> >>> +
> >>> +/ {
> >>> +       model = "Xunlong Orange Pi RV";
> >>> +       compatible = "xunlong,orangepi-rv", "starfive,jh7110";
> >>> +
> >>> +       leds {
> >>> +               compatible = "gpio-leds";
> >>> +
> >>> +               led-ack {
> >>> +                       gpios = <&aongpio 3 GPIO_ACTIVE_HIGH>;
> >>> +                       color = <LED_COLOR_ID_GREEN>;
> >>> +                       function = LED_FUNCTION_HEARTBEAT;
> >>> +                       linux,default-trigger = "heartbeat";
> >>> +                       label = "ack";
> >>
> >> Should we sort the properties in alphabet order? i.e. color,
> >> function,
> >> gpios, label then linux,default-trigger. See dts-coding-style.rst,
> > 
> > Well in case of GPIO LED, I think gpios is something like reg? Although
> > this is only my personal feel, and label really needs to be reordered
> > then.
> > 
> 
> Status led description here does instead belong in jh7110-common.dtsi
> since all variant boards are using the same RGPIO3 (fourth GPIO on PMU
> domain).
> 
> >>
> >>> The following order of properties in device nodes is preferred:
> >>>
> >>> 1. "compatible"
> >>> 2. "reg"
> >>> 3. "ranges"
> >>> 4. Standard/common properties (defined by common bindings, e.g.
> >>> without
> >>> vendor-prefixes)
> >>> 5. Vendor-specific properties
> >>> 6. "status" (if applicable)
> >>> 7. Child nodes, where each node is preceded with a blank line
> >>
> >>> +               };
> >>> +       };
> >>> +};
> >>> +
> >>> +&gmac0 {
> >>> +       starfive,tx-use-rgmii-clk;
> >>> +       assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>;
> >>> +       assigned-clock-parents = <&aoncrg
> >>> JH7110_AONCLK_GMAC0_RMII_RTX>;
> >>> +       status = "okay";
> >>
> >> Vendor property starfive,tx-use-rgmii-clk should go after the common
> >> ones.
> > 
> > Okay, I will fix this (and the one below) in next revision.
> > 
> > Thanks,
> > Icenowy
> 
> Well then does the documentation follow recommended sort ordering?
> 
> https://www.kernel.org/doc/Documentation/devicetree/bindings/leds/common.yaml

I don't think so.

> Looks to me like it is not clear what is going on there with sort
> ordering. The recently accepted dts in-tree are a mix of "who cares?",
> alphabet sort, and preferentially but arbitrarily placing some things
> above others. The documentation is even different than all that.
> 
> Maybe if the documentation should be followed we should follow it, else
> fix the documentation firstly.

Basically agree here, the "sort by alphabetical order" requirement
(described here[1]) doesn't seem to play well in all cases: what Icenowy
claimed sounds reasonable to me and looks more natural than the general
rule. So maybe we should "override" the rule in subsystem-specific
bindings. I suggest raising a formal discussion about leds/common.yaml
and see whether this could land formally in the led's binding, and I'm
willing to do so.

Futhermore, similar order issues don't only occur in the LED binding,
but also, for example, the pinctrl stuff. In the example of
pinctrl-binding.txt[2], pinctrl-names always goes before pinctrl-[0-9]*,
which doesn't follow the general rule as well, and we could see the
opposite is also poppular in the accepted devicetrees. This should be
clarified, too.

> > 
> >>> +};
> >>> +
> >>> +&i2c0 {
> >>> +       status = "okay";
> >>> +};
> >>> +
> >>> +&mmc0 {
> >>> +       /* TODO: Ampak AP6256 Wi-Fi module attached here */
> >>> +       status = "disabled";
> >>> +};
> 
> Orange Pi RV schematic is published now. Please implement this
> description here.
> 
> You may also wish to review the StarFive JH7100 devicetree descriptions
> (and schematic), and additionally the published Milk-V Mars CM / Mars CM
> Lite schematic, for clues about AP6256. The required firmware files'
> intellectual property when during the last discussion about
> linux-firmware was determined to be Synaptics (labeled as Broadcomm) and
> rejected from inclusion due to no clear licensed permission for
> distribution. Maybe it is time to revisit this and find someone willing
> to do the work of resolving the license ambiguity?
> 
> >>> +
> >>> +&mmc1 {
> >>> +       /delete-property/ cd-gpios;
> >>> +       broken-cd;
> >>> +};
> >>> +
> >>> +&pcie0 {
> >>> +       status = "okay";
> >>> +};
> >>> +
> >>> +&pcie1 {
> >>> +       status = "okay";
> >>> +};
> >>> +
> >>> +&phy0 {
> >>> +       motorcomm,tx-clk-adj-enabled;
> >>> +       motorcomm,tx-clk-10-inverted;
> >>> +       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>;
> >>> +};
> >>
> >> Ditto, move the vendor properties below the common ones.
> 
> Yes and, one of us may review what is already in starfive/ dts to fix
> and send a patch for this mess of devicetree sort order. The issue
> repeats every time we look for an existing sample to use.

Oops, I've never expected that there're so many vendor-specific
properties mixed with others in starfive's devicetrees. I'm willing to
clean them up when available, but feel free to take the work since I'm a
little busy.

> >>
> >>> +&pwmdac {
> >>> +       status = "okay";
> >>> +};
> >>> +
> >>> +&spi0 {
> >>> +       status = "okay";
> >>> +};
> >>> -- 
> >>> 2.49.0
> >>>
> >>
> >> Best regards,
> >> Yao Zi
> > 
> 
> B.R.,  -E Shattow

Regards,
Yao Zi

[1]: https://elixir.bootlin.com/linux/v6.16-rc6/source/Documentation/devicetree/bindings/dts-coding-style.rst#L115-L124
[2]: https://elixir.bootlin.com/linux/v6.16-rc6/source/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt#L74-L97

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] riscv: dts: starfive: add DT for Orange Pi RV
  2025-07-16 16:08         ` Yao Zi
@ 2025-07-24  7:31           ` E Shattow
  0 siblings, 0 replies; 8+ messages in thread
From: E Shattow @ 2025-07-24  7:31 UTC (permalink / raw)
  To: Yao Zi, Icenowy Zheng, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Emil Renner Berthing, Jisheng Zhang, Michael Zhu,
	Drew Fustini
  Cc: devicetree, linux-riscv, linux-kernel

On 7/16/25 09:08, Yao Zi wrote:
> On Tue, Jul 15, 2025 at 06:30:57PM -0700, E Shattow wrote:
>> On 4/10/25 18:29, Icenowy Zheng wrote:
>>> 在 2025-04-10星期四的 16:54 +0000,Yao Zi写道:
>>>> On Wed, Apr 09, 2025 at 05:18:01PM +0800, Icenowy Zheng wrote:
>>>>> Orange Pi RV is a newly released SBC with JH7110 SoC, single GbE
>>>>> port
>>>>> (connected to JH7110 GMAC0 via a YT8531 PHY), 4 USB ports (via a
>>>>> VL805
>>>>> PCIe USB controller connected to JH7110 PCIE0), a M.2 M-key slot
>>>>> (connected to JH7110 PCIE1), a HDMI video output, a 3.5mm audio
>>>>> output
>>>>> and a microSD slot.
>>>>>
>>>>> Onboard peripherals contain a SPI NOR (which contains the U-Boot
>>>>> firmware) and an Ampak AP6256 SDIO Wi-Fi module.
>>>>>
>>>>> As the schematics isn't available yet, the SDIO Wi-Fi is left
>>>>> disabled
>>>>> yet.
>>>>>
>>>>> Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
>>>>> ---
>>>>>  arch/riscv/boot/dts/starfive/Makefile         |  1 +
>>>>>  .../boot/dts/starfive/jh7110-orangepi-rv.dts  | 73
>>>>> +++++++++++++++++++
>>>>>  2 files changed, 74 insertions(+)
>>>>>  create mode 100644 arch/riscv/boot/dts/starfive/jh7110-orangepi-
>>>>> rv.dts
>>>>>
>>>>> diff --git a/arch/riscv/boot/dts/starfive/Makefile
>>>>> b/arch/riscv/boot/dts/starfive/Makefile
>>>>> index b3bb12f78e7d5..24f1a44828350 100644
>>>>> --- a/arch/riscv/boot/dts/starfive/Makefile
>>>>> +++ b/arch/riscv/boot/dts/starfive/Makefile
>>>>> @@ -10,6 +10,7 @@ dtb-$(CONFIG_ARCH_STARFIVE) += jh7100-starfive-
>>>>> visionfive-v1.dtb
>>>>>  
>>>>>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-deepcomputing-fml13v01.dtb
>>>>>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-mars.dtb
>>>>> +dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-orangepi-rv.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
>>>>> diff --git a/arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts
>>>>> b/arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts
>>>>> new file mode 100644
>>>>> index 0000000000000..bde01f117e0b2
>>>>> --- /dev/null
>>>>> +++ b/arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts
>>>>> @@ -0,0 +1,73 @@
>>>>> +// SPDX-License-Identifier: GPL-2.0 OR MIT
>>>>> +/*
>>>>> + * Copyright (C) 2025 Icenowy Zheng <uwu@icenowy.me>
>>>>> + */
>>>>> +
>>>>> +/dts-v1/;
>>>>> +#include "jh7110-common.dtsi"
>>>>> +#include <dt-bindings/leds/common.h>
>>>>> +
>>>>> +/ {
>>>>> +       model = "Xunlong Orange Pi RV";
>>>>> +       compatible = "xunlong,orangepi-rv", "starfive,jh7110";
>>>>> +
>>>>> +       leds {
>>>>> +               compatible = "gpio-leds";
>>>>> +
>>>>> +               led-ack {
>>>>> +                       gpios = <&aongpio 3 GPIO_ACTIVE_HIGH>;
>>>>> +                       color = <LED_COLOR_ID_GREEN>;
>>>>> +                       function = LED_FUNCTION_HEARTBEAT;
>>>>> +                       linux,default-trigger = "heartbeat";
>>>>> +                       label = "ack";
>>>>
>>>> Should we sort the properties in alphabet order? i.e. color,
>>>> function,
>>>> gpios, label then linux,default-trigger. See dts-coding-style.rst,
>>>
>>> Well in case of GPIO LED, I think gpios is something like reg? Although
>>> this is only my personal feel, and label really needs to be reordered
>>> then.
>>>
>>
>> Status led description here does instead belong in jh7110-common.dtsi
>> since all variant boards are using the same RGPIO3 (fourth GPIO on PMU
>> domain).
>>

I did send a patch for the status power LED in jh7110-common.dtsi that
got picked up for-next, FYI. It's sparse with only the gpios property
but there is an alias so you could add to that for a variant board if
you like.

>>>>
>>>>> The following order of properties in device nodes is preferred:
>>>>>
>>>>> 1. "compatible"
>>>>> 2. "reg"
>>>>> 3. "ranges"
>>>>> 4. Standard/common properties (defined by common bindings, e.g.
>>>>> without
>>>>> vendor-prefixes)
>>>>> 5. Vendor-specific properties
>>>>> 6. "status" (if applicable)
>>>>> 7. Child nodes, where each node is preceded with a blank line
>>>>
>>>>> +               };
>>>>> +       };
>>>>> +};
>>>>> +
>>>>> +&gmac0 {
>>>>> +       starfive,tx-use-rgmii-clk;
>>>>> +       assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>;
>>>>> +       assigned-clock-parents = <&aoncrg
>>>>> JH7110_AONCLK_GMAC0_RMII_RTX>;
>>>>> +       status = "okay";
>>>>
>>>> Vendor property starfive,tx-use-rgmii-clk should go after the common
>>>> ones.
>>>
>>> Okay, I will fix this (and the one below) in next revision.
>>>
>>> Thanks,
>>> Icenowy
>>
>> Well then does the documentation follow recommended sort ordering?
>>
>> https://www.kernel.org/doc/Documentation/devicetree/bindings/leds/common.yaml
> 
> I don't think so.
> 
>> Looks to me like it is not clear what is going on there with sort
>> ordering. The recently accepted dts in-tree are a mix of "who cares?",
>> alphabet sort, and preferentially but arbitrarily placing some things
>> above others. The documentation is even different than all that.
>>
>> Maybe if the documentation should be followed we should follow it, else
>> fix the documentation firstly.
> 
> Basically agree here, the "sort by alphabetical order" requirement
> (described here[1]) doesn't seem to play well in all cases: what Icenowy
> claimed sounds reasonable to me and looks more natural than the general
> rule. So maybe we should "override" the rule in subsystem-specific
> bindings. I suggest raising a formal discussion about leds/common.yaml
> and see whether this could land formally in the led's binding, and I'm
> willing to do so.
> 
> Futhermore, similar order issues don't only occur in the LED binding,
> but also, for example, the pinctrl stuff. In the example of
> pinctrl-binding.txt[2], pinctrl-names always goes before pinctrl-[0-9]*,
> which doesn't follow the general rule as well, and we could see the
> opposite is also poppular in the accepted devicetrees. This should be
> clarified, too.
> 

Okay the devicetree style guide documentation needs some amendment with
footnotes about how the kernel devs want this to look like going forward
from now. That's for another discussion elsewhere, then.

>>>
>>>>> +};
>>>>> +
>>>>> +&i2c0 {
>>>>> +       status = "okay";
>>>>> +};
>>>>> +
>>>>> +&mmc0 {
>>>>> +       /* TODO: Ampak AP6256 Wi-Fi module attached here */
>>>>> +       status = "disabled";
>>>>> +};
>>
>> Orange Pi RV schematic is published now. Please implement this
>> description here.
>>
>> You may also wish to review the StarFive JH7100 devicetree descriptions
>> (and schematic), and additionally the published Milk-V Mars CM / Mars CM
>> Lite schematic, for clues about AP6256. The required firmware files'
>> intellectual property when during the last discussion about
>> linux-firmware was determined to be Synaptics (labeled as Broadcomm) and
>> rejected from inclusion due to no clear licensed permission for
>> distribution. Maybe it is time to revisit this and find someone willing
>> to do the work of resolving the license ambiguity?
>>
>>>>> +
>>>>> +&mmc1 {
>>>>> +       /delete-property/ cd-gpios;
>>>>> +       broken-cd;

I'll send a patch to drop 'no-sdio' from mmc1 and I am also considering
to part out cd-gpios to variant board dts away from jh7110-common.dtsi ;
however parting out cd-gpios property is only if you really found it is
broken here. So far I don't have any examples of where it is actually
broken card detect, all examples I have of this 'broken-cd' property in
use with JH7110 boards are copy and pasted from vendor code without
verification.

Are you sure Card Detect is broken for Orange Pi RV - it is in-fact on
the schematic, it should be working...?

>>>>> +};
>>>>> +
>>>>> +&pcie0 {
>>>>> +       status = "okay";
>>>>> +};
>>>>> +
>>>>> +&pcie1 {
>>>>> +       status = "okay";
>>>>> +};
>>>>> +

The USB Type-C port connection to JH7110 Cadence USB2.0 is missing a
description here. Does the vendor board support package have this
operating as a host mode port, or is it something different?

>>>>> +&phy0 {
>>>>> +       motorcomm,tx-clk-adj-enabled;
>>>>> +       motorcomm,tx-clk-10-inverted;
>>>>> +       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>;
>>>>> +};
>>>>
>>>> Ditto, move the vendor properties below the common ones.
>>
>> Yes and, one of us may review what is already in starfive/ dts to fix
>> and send a patch for this mess of devicetree sort order. The issue
>> repeats every time we look for an existing sample to use.
> 
> Oops, I've never expected that there're so many vendor-specific
> properties mixed with others in starfive's devicetrees. I'm willing to
> clean them up when available, but feel free to take the work since I'm a
> little busy.
> 
>>>>
>>>>> +&pwmdac {
>>>>> +       status = "okay";
>>>>> +};

pwmdac and a few other features on a different JH7110 SoM featuring
AP6256 wireless module are in conflict with GPIO pins needed by the WiFi
and Bluetooth reset/wake/data connections.  Have you reviewed to see
what will need to be disabled for AP6256 SDIO functionality? Are all
Orange Pi RV boards sold with this chipset or is it optional?

>>>>> +
>>>>> +&spi0 {
>>>>> +       status = "okay";
>>>>> +};
>>>>> -- 
>>>>> 2.49.0
>>>>>
>>>>
>>>> Best regards,
>>>> Yao Zi
>>>
>>
>> B.R.,  -E Shattow
> 
> Regards,
> Yao Zi
> 
> [1]: https://elixir.bootlin.com/linux/v6.16-rc6/source/Documentation/devicetree/bindings/dts-coding-style.rst#L115-L124
> [2]: https://elixir.bootlin.com/linux/v6.16-rc6/source/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt#L74-L97
> 
> _______________________________________________
> linux-riscv mailing list
> linux-riscv@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv

-E

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-07-24  7:32 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-09  9:18 [PATCH 1/2] dt-bindings: riscv: starfive: add Orange Pi RV board compatible Icenowy Zheng
2025-04-09  9:18 ` [PATCH 2/2] riscv: dts: starfive: add DT for Orange Pi RV Icenowy Zheng
2025-04-10 16:54   ` Yao Zi
2025-04-11  1:29     ` Icenowy Zheng
2025-07-16  1:30       ` E Shattow
2025-07-16 16:08         ` Yao Zi
2025-07-24  7:31           ` E Shattow
2025-04-11 15:27 ` [PATCH 1/2] dt-bindings: riscv: starfive: add Orange Pi RV board compatible Rob Herring (Arm)

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).