linux-riscv.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/3] riscv: sophgo: add top syscon device for cv18xx
@ 2025-10-24  3:05 Longbin Li
  2025-10-24  3:05 ` [PATCH v4 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC Longbin Li
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Longbin Li @ 2025-10-24  3:05 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen Wang,
	Inochi Amaoto, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Alexander Sverdlin, Yu Yuan, Ze Huang
  Cc: Longbin Li, devicetree, sophgo, linux-kernel, linux-riscv

Add top syscon device bindings related DTS change for CV1800.

---
Changes from v3:
  - https://lore.kernel.org/all/20251020083838.67522-1-looong.bin@gmail.com/
  - Corrected Co-developed-by information in commit message.
  - Fixed patch version number.

Changes from v2:
  - https://lore.kernel.org/all/20251012022555.6240-1-looong.bin@gmail.com/
  - Add ranges property.
  - Use proper regex in patternProperties.
  - Add complete example including child nodes.

Changed by RFC:
  - https://lore.kernel.org/all/20250611082452.1218817-1-inochiama@gmail.com/

---

Longbin Li (3):
  dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC
  riscv: dts: sophgo: Add syscon node for cv18xx
  riscv: dts: sophgo: Add USB support for cv18xx

 .../soc/sophgo/sophgo,cv1800b-top-syscon.yaml | 81 +++++++++++++++++++
 .../boot/dts/sophgo/cv1800b-milkv-duo.dts     |  5 ++
 arch/riscv/boot/dts/sophgo/cv180x.dtsi        | 42 ++++++++++
 .../boot/dts/sophgo/cv1812h-huashan-pi.dts    |  5 ++
 .../dts/sophgo/sg2002-licheerv-nano-b.dts     |  5 ++
 5 files changed, 138 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml

--
2.51.0

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

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

* [PATCH v4 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC
  2025-10-24  3:05 [PATCH v4 0/3] riscv: sophgo: add top syscon device for cv18xx Longbin Li
@ 2025-10-24  3:05 ` Longbin Li
  2025-10-24 16:46   ` Conor Dooley
  2025-10-24  3:05 ` [PATCH v4 2/3] riscv: dts: sophgo: Add syscon node for cv18xx Longbin Li
  2025-10-24  3:05 ` [PATCH v4 3/3] riscv: dts: sophgo: Add USB support " Longbin Li
  2 siblings, 1 reply; 12+ messages in thread
From: Longbin Li @ 2025-10-24  3:05 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen Wang,
	Inochi Amaoto, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Alexander Sverdlin, Yu Yuan, Ze Huang
  Cc: Longbin Li, devicetree, sophgo, linux-kernel, linux-riscv

The Sophgo CV1800/SG2000 SoC top misc system controller provides register
access to configure related modules. It includes a usb2 phy and a dma
multiplexer.

Co-developed-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Longbin Li <looong.bin@gmail.com>
---
 .../soc/sophgo/sophgo,cv1800b-top-syscon.yaml | 81 +++++++++++++++++++
 1 file changed, 81 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml

diff --git a/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml
new file mode 100644
index 000000000000..d044ca661fa2
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml
@@ -0,0 +1,81 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/soc/sophgo/sophgo,cv1800b-top-syscon.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Sophgo CV18XX/SG200X SoC top system controller
+
+maintainers:
+  - Inochi Amaoto <inochiama@outlook.com>
+
+description:
+  The Sophgo CV18XX/SG200X SoC top misc system controller provides
+  register access to configure related modules.
+
+properties:
+  compatible:
+    oneOf:
+      - items:
+          - const: sophgo,cv1800b-top-syscon
+          - const: syscon
+          - const: simple-mfd
+
+  reg:
+    maxItems: 1
+
+  "#address-cells":
+    const: 1
+
+  "#size-cells":
+    const: 1
+
+  ranges: true
+
+patternProperties:
+  "dma-router@[0-9a-f]+$":
+    $ref: /schemas/dma/sophgo,cv1800b-dmamux.yaml#
+    unevaluatedProperties: false
+
+  "phy@[0-9a-f]+$":
+    $ref: /schemas/phy/sophgo,cv1800b-usb2-phy.yaml#
+    unevaluatedProperties: false
+
+required:
+  - compatible
+  - reg
+  - "#address-cells"
+  - "#size-cells"
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/sophgo,cv1800.h>
+
+    syscon@3000000 {
+      compatible = "sophgo,cv1800b-top-syscon", "syscon", "simple-mfd";
+      reg = <0x03000000 0x1000>;
+      #address-cells = <1>;
+      #size-cells = <1>;
+
+      usbphy: phy@48 {
+        compatible = "sophgo,cv1800b-usb2-phy";
+        reg = <0x48 0x4>;
+        #phy-cells = <0>;
+        clocks = <&clk CLK_USB_125M>,
+                 <&clk CLK_USB_33K>,
+                 <&clk CLK_USB_12M>;
+        clock-names = "app", "stb", "lpm";
+        resets = <&rst 58>;
+      };
+
+      dmamux: dma-router@154 {
+        compatible = "sophgo,cv1800b-dmamux";
+        reg = <0x154 0x8>, <0x298 0x4>;
+        #dma-cells = <2>;
+        dma-masters = <&dmac>;
+      };
+    };
+
+...
--
2.51.0

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

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

* [PATCH v4 2/3] riscv: dts: sophgo: Add syscon node for cv18xx
  2025-10-24  3:05 [PATCH v4 0/3] riscv: sophgo: add top syscon device for cv18xx Longbin Li
  2025-10-24  3:05 ` [PATCH v4 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC Longbin Li
@ 2025-10-24  3:05 ` Longbin Li
  2025-10-24  3:05 ` [PATCH v4 3/3] riscv: dts: sophgo: Add USB support " Longbin Li
  2 siblings, 0 replies; 12+ messages in thread
From: Longbin Li @ 2025-10-24  3:05 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen Wang,
	Inochi Amaoto, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Alexander Sverdlin, Yu Yuan, Ze Huang
  Cc: Longbin Li, devicetree, sophgo, linux-kernel, linux-riscv

Add top syscon node and all subdevice nodes for cv18xx series SoC.

Co-developed-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Longbin Li <looong.bin@gmail.com>
Tested-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
---
 arch/riscv/boot/dts/sophgo/cv180x.dtsi | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/arch/riscv/boot/dts/sophgo/cv180x.dtsi b/arch/riscv/boot/dts/sophgo/cv180x.dtsi
index ccdb45498653..42303acb2b39 100644
--- a/arch/riscv/boot/dts/sophgo/cv180x.dtsi
+++ b/arch/riscv/boot/dts/sophgo/cv180x.dtsi
@@ -25,6 +25,32 @@ soc {
 		#size-cells = <1>;
 		ranges;

+		syscon: syscon@3000000 {
+			compatible = "sophgo,cv1800b-top-syscon",
+				     "syscon", "simple-mfd";
+			reg = <0x03000000 0x1000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			usbphy: phy@48 {
+				compatible = "sophgo,cv1800b-usb2-phy";
+				reg = <0x48 0x4>;
+				#phy-cells = <0>;
+				clocks = <&clk CLK_USB_125M>,
+					 <&clk CLK_USB_33K>,
+					 <&clk CLK_USB_12M>;
+				clock-names = "app", "stb", "lpm";
+				resets = <&rst RST_COMBO_PHY0>;
+			};
+
+			dmamux: dma-router@154 {
+				compatible = "sophgo,cv1800b-dmamux";
+				reg = <0x154 0x8>, <0x298 0x4>;
+				#dma-cells = <2>;
+				dma-masters = <&dmac>;
+			};
+		};
+
 		rst: reset-controller@3003000 {
 			compatible = "sophgo,cv1800b-reset";
 			reg = <0x3003000 0x1000>;
--
2.51.0

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

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

* [PATCH v4 3/3] riscv: dts: sophgo: Add USB support for cv18xx
  2025-10-24  3:05 [PATCH v4 0/3] riscv: sophgo: add top syscon device for cv18xx Longbin Li
  2025-10-24  3:05 ` [PATCH v4 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC Longbin Li
  2025-10-24  3:05 ` [PATCH v4 2/3] riscv: dts: sophgo: Add syscon node for cv18xx Longbin Li
@ 2025-10-24  3:05 ` Longbin Li
  2 siblings, 0 replies; 12+ messages in thread
From: Longbin Li @ 2025-10-24  3:05 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen Wang,
	Inochi Amaoto, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Alexander Sverdlin, Yu Yuan, Ze Huang
  Cc: Longbin Li, devicetree, sophgo, linux-kernel, linux-riscv

Add USB controller node for cv18xx and enable it for Huashan Pi, milkv-duo.

Co-developed-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Longbin Li <looong.bin@gmail.com>
Tested-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
---
 arch/riscv/boot/dts/sophgo/cv1800b-milkv-duo.dts |  5 +++++
 arch/riscv/boot/dts/sophgo/cv180x.dtsi           | 16 ++++++++++++++++
 .../riscv/boot/dts/sophgo/cv1812h-huashan-pi.dts |  5 +++++
 .../boot/dts/sophgo/sg2002-licheerv-nano-b.dts   |  5 +++++
 4 files changed, 31 insertions(+)

diff --git a/arch/riscv/boot/dts/sophgo/cv1800b-milkv-duo.dts b/arch/riscv/boot/dts/sophgo/cv1800b-milkv-duo.dts
index 9feb520eaec4..0e6d79e6e3a4 100644
--- a/arch/riscv/boot/dts/sophgo/cv1800b-milkv-duo.dts
+++ b/arch/riscv/boot/dts/sophgo/cv1800b-milkv-duo.dts
@@ -100,3 +100,8 @@ &uart0 {
 	pinctrl-names = "default";
 	status = "okay";
 };
+
+&usb {
+	dr_mode = "host";
+	status = "okay";
+};
diff --git a/arch/riscv/boot/dts/sophgo/cv180x.dtsi b/arch/riscv/boot/dts/sophgo/cv180x.dtsi
index 42303acb2b39..1b2b1969a648 100644
--- a/arch/riscv/boot/dts/sophgo/cv180x.dtsi
+++ b/arch/riscv/boot/dts/sophgo/cv180x.dtsi
@@ -432,6 +432,22 @@ dmac: dma-controller@4330000 {
 			status = "disabled";
 		};

+		usb: usb@4340000 {
+			compatible = "sophgo,cv1800b-usb";
+			reg = <0x04340000 0x10000>;
+			clocks = <&clk CLK_AXI4_USB>, <&clk CLK_APB_USB>;
+			clock-names = "otg", "utmi";
+			g-np-tx-fifo-size = <32>;
+			g-rx-fifo-size = <536>;
+			g-tx-fifo-size = <768 512 512 384 128 128>;
+			interrupts = <SOC_PERIPHERAL_IRQ(14) IRQ_TYPE_LEVEL_HIGH>;
+			phys = <&usbphy>;
+			phy-names = "usb2-phy";
+			resets = <&rst RST_USB>;
+			reset-names = "dwc2";
+			status = "disabled";
+		};
+
 		rtc@5025000 {
 			compatible = "sophgo,cv1800b-rtc", "syscon";
 			reg = <0x5025000 0x2000>;
diff --git a/arch/riscv/boot/dts/sophgo/cv1812h-huashan-pi.dts b/arch/riscv/boot/dts/sophgo/cv1812h-huashan-pi.dts
index 4a5835fa9e96..aedf79f47407 100644
--- a/arch/riscv/boot/dts/sophgo/cv1812h-huashan-pi.dts
+++ b/arch/riscv/boot/dts/sophgo/cv1812h-huashan-pi.dts
@@ -86,3 +86,8 @@ &sdhci1 {
 &uart0 {
 	status = "okay";
 };
+
+&usb {
+	dr_mode = "host";
+	status = "okay";
+};
diff --git a/arch/riscv/boot/dts/sophgo/sg2002-licheerv-nano-b.dts b/arch/riscv/boot/dts/sophgo/sg2002-licheerv-nano-b.dts
index 86a712b953a5..b1853770d017 100644
--- a/arch/riscv/boot/dts/sophgo/sg2002-licheerv-nano-b.dts
+++ b/arch/riscv/boot/dts/sophgo/sg2002-licheerv-nano-b.dts
@@ -93,3 +93,8 @@ &uart0 {
 	pinctrl-names = "default";
 	status = "okay";
 };
+
+&usb {
+	dr_mode = "host";
+	status = "okay";
+};
--
2.51.0

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

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

* Re: [PATCH v4 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC
  2025-10-24  3:05 ` [PATCH v4 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC Longbin Li
@ 2025-10-24 16:46   ` Conor Dooley
  2025-10-24 16:47     ` Conor Dooley
                       ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Conor Dooley @ 2025-10-24 16:46 UTC (permalink / raw)
  To: Longbin Li
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen Wang,
	Inochi Amaoto, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Alexander Sverdlin, Yu Yuan, Ze Huang,
	devicetree, sophgo, linux-kernel, linux-riscv


[-- Attachment #1.1: Type: text/plain, Size: 3564 bytes --]

On Fri, Oct 24, 2025 at 11:05:14AM +0800, Longbin Li wrote:
> The Sophgo CV1800/SG2000 SoC top misc system controller provides register

Please remind me how it works, sg2000 is just a rebadge and really this
just refers to one device?

> access to configure related modules. It includes a usb2 phy and a dma
> multiplexer.
> 
> Co-developed-by: Inochi Amaoto <inochiama@gmail.com>
> Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
> Signed-off-by: Longbin Li <looong.bin@gmail.com>
> ---
>  .../soc/sophgo/sophgo,cv1800b-top-syscon.yaml | 81 +++++++++++++++++++
>  1 file changed, 81 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml
> 
> diff --git a/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml
> new file mode 100644
> index 000000000000..d044ca661fa2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml
> @@ -0,0 +1,81 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/soc/sophgo/sophgo,cv1800b-top-syscon.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Sophgo CV18XX/SG200X SoC top system controller
> +
> +maintainers:
> +  - Inochi Amaoto <inochiama@outlook.com>
> +
> +description:
> +  The Sophgo CV18XX/SG200X SoC top misc system controller provides
> +  register access to configure related modules.

Here and in the title you have Xs, are those placeholder or is this
going into cv180x.dtsi and going to be used on multiple devices?

> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - items:
> +          - const: sophgo,cv1800b-top-syscon
> +          - const: syscon
> +          - const: simple-mfd
> +
> +  reg:
> +    maxItems: 1
> +
> +  "#address-cells":
> +    const: 1
> +
> +  "#size-cells":
> +    const: 1
> +
> +  ranges: true

Do you actually use ranges?

> +patternProperties:
> +  "dma-router@[0-9a-f]+$":

Do these actually appear at variable addresses, or is it always 48 for
the phy and 53 for the dma router?

> +    $ref: /schemas/dma/sophgo,cv1800b-dmamux.yaml#
> +    unevaluatedProperties: false
> +
> +  "phy@[0-9a-f]+$":
> +    $ref: /schemas/phy/sophgo,cv1800b-usb2-phy.yaml#
> +    unevaluatedProperties: false
> +
> +required:
> +  - compatible
> +  - reg
> +  - "#address-cells"
> +  - "#size-cells"
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/sophgo,cv1800.h>
> +
> +    syscon@3000000 {
> +      compatible = "sophgo,cv1800b-top-syscon", "syscon", "simple-mfd";
> +      reg = <0x03000000 0x1000>;
> +      #address-cells = <1>;
> +      #size-cells = <1>;
> +
> +      usbphy: phy@48 {

Drop the labels off of these two, since they're unused in the example.

> +        compatible = "sophgo,cv1800b-usb2-phy";
> +        reg = <0x48 0x4>;
> +        #phy-cells = <0>;
> +        clocks = <&clk CLK_USB_125M>,
> +                 <&clk CLK_USB_33K>,
> +                 <&clk CLK_USB_12M>;
> +        clock-names = "app", "stb", "lpm";
> +        resets = <&rst 58>;
> +      };
> +
> +      dmamux: dma-router@154 {
> +        compatible = "sophgo,cv1800b-dmamux";
> +        reg = <0x154 0x8>, <0x298 0x4>;
> +        #dma-cells = <2>;
> +        dma-masters = <&dmac>;
> +      };
> +    };
> +
> +...
> --
> 2.51.0

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

[-- Attachment #2: Type: text/plain, Size: 161 bytes --]

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

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

* Re: [PATCH v4 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC
  2025-10-24 16:46   ` Conor Dooley
@ 2025-10-24 16:47     ` Conor Dooley
  2025-10-25  2:10     ` Longbin Li
  2025-10-25  2:27     ` Longbin Li
  2 siblings, 0 replies; 12+ messages in thread
From: Conor Dooley @ 2025-10-24 16:47 UTC (permalink / raw)
  To: Longbin Li
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen Wang,
	Inochi Amaoto, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Alexander Sverdlin, Yu Yuan, Ze Huang,
	devicetree, sophgo, linux-kernel, linux-riscv


[-- Attachment #1.1: Type: text/plain, Size: 3920 bytes --]

On Fri, Oct 24, 2025 at 05:46:03PM +0100, Conor Dooley wrote:
> On Fri, Oct 24, 2025 at 11:05:14AM +0800, Longbin Li wrote:
> > The Sophgo CV1800/SG2000 SoC top misc system controller provides register
> 
> Please remind me how it works, sg2000 is just a rebadge and really this
> just refers to one device?
> 
> > access to configure related modules. It includes a usb2 phy and a dma
> > multiplexer.
> > 
> > Co-developed-by: Inochi Amaoto <inochiama@gmail.com>
> > Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
> > Signed-off-by: Longbin Li <looong.bin@gmail.com>
> > ---
> >  .../soc/sophgo/sophgo,cv1800b-top-syscon.yaml | 81 +++++++++++++++++++
> >  1 file changed, 81 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml
> > new file mode 100644
> > index 000000000000..d044ca661fa2
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml
> > @@ -0,0 +1,81 @@
> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/soc/sophgo/sophgo,cv1800b-top-syscon.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Sophgo CV18XX/SG200X SoC top system controller
> > +
> > +maintainers:
> > +  - Inochi Amaoto <inochiama@outlook.com>
> > +
> > +description:
> > +  The Sophgo CV18XX/SG200X SoC top misc system controller provides
> > +  register access to configure related modules.
> 
> Here and in the title you have Xs, are those placeholder or is this
> going into cv180x.dtsi and going to be used on multiple devices?

nvm, I read the next patch. It's going into cv180x.dtsi.

> > +properties:
> > +  compatible:
> > +    oneOf:
> > +      - items:
> > +          - const: sophgo,cv1800b-top-syscon
> > +          - const: syscon
> > +          - const: simple-mfd
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  "#address-cells":
> > +    const: 1
> > +
> > +  "#size-cells":
> > +    const: 1
> > +
> > +  ranges: true
> 
> Do you actually use ranges?
> 
> > +patternProperties:
> > +  "dma-router@[0-9a-f]+$":
> 
> Do these actually appear at variable addresses, or is it always 48 for
> the phy and 53 for the dma router?
> 
> > +    $ref: /schemas/dma/sophgo,cv1800b-dmamux.yaml#
> > +    unevaluatedProperties: false
> > +
> > +  "phy@[0-9a-f]+$":
> > +    $ref: /schemas/phy/sophgo,cv1800b-usb2-phy.yaml#
> > +    unevaluatedProperties: false
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +  - "#address-cells"
> > +  - "#size-cells"
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > +  - |
> > +    #include <dt-bindings/clock/sophgo,cv1800.h>
> > +
> > +    syscon@3000000 {
> > +      compatible = "sophgo,cv1800b-top-syscon", "syscon", "simple-mfd";
> > +      reg = <0x03000000 0x1000>;
> > +      #address-cells = <1>;
> > +      #size-cells = <1>;
> > +
> > +      usbphy: phy@48 {
> 
> Drop the labels off of these two, since they're unused in the example.
> 
> > +        compatible = "sophgo,cv1800b-usb2-phy";
> > +        reg = <0x48 0x4>;
> > +        #phy-cells = <0>;
> > +        clocks = <&clk CLK_USB_125M>,
> > +                 <&clk CLK_USB_33K>,
> > +                 <&clk CLK_USB_12M>;
> > +        clock-names = "app", "stb", "lpm";
> > +        resets = <&rst 58>;
> > +      };
> > +
> > +      dmamux: dma-router@154 {
> > +        compatible = "sophgo,cv1800b-dmamux";
> > +        reg = <0x154 0x8>, <0x298 0x4>;
> > +        #dma-cells = <2>;
> > +        dma-masters = <&dmac>;
> > +      };
> > +    };
> > +
> > +...
> > --
> > 2.51.0



[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

[-- Attachment #2: Type: text/plain, Size: 161 bytes --]

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

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

* Re: [PATCH v4 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC
  2025-10-24 16:46   ` Conor Dooley
  2025-10-24 16:47     ` Conor Dooley
@ 2025-10-25  2:10     ` Longbin Li
  2025-10-25  2:27     ` Longbin Li
  2 siblings, 0 replies; 12+ messages in thread
From: Longbin Li @ 2025-10-25  2:10 UTC (permalink / raw)
  To: Conor Dooley
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen Wang,
	Inochi Amaoto, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Alexander Sverdlin, Yu Yuan, Ze Huang,
	devicetree, sophgo, linux-kernel, linux-riscv

On Fri, Oct 24, 2025 at 05:46:03PM +0100, Conor Dooley wrote:
> On Fri, Oct 24, 2025 at 11:05:14AM +0800, Longbin Li wrote:
> > The Sophgo CV1800/SG2000 SoC top misc system controller provides register
> 
> Please remind me how it works, sg2000 is just a rebadge and really this
> just refers to one device?
>

SG2000 and CV1800 belong to the same SoC series.
So it's more accurate to describe as “CV18XX/SG200X”.
 
> > access to configure related modules. It includes a usb2 phy and a dma
> > multiplexer.
> >
> > ....
> > 
> > +
> > +description:
> > +  The Sophgo CV18XX/SG200X SoC top misc system controller provides
> > +  register access to configure related modules.
> 
> Here and in the title you have Xs, are those placeholder or is this
> going into cv180x.dtsi and going to be used on multiple devices?
> 

Yes, the “XX” is going to be used in the whole CV18XX/SG200X SoC series.

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

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

* Re: [PATCH v4 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC
  2025-10-24 16:46   ` Conor Dooley
  2025-10-24 16:47     ` Conor Dooley
  2025-10-25  2:10     ` Longbin Li
@ 2025-10-25  2:27     ` Longbin Li
  2025-10-25 12:44       ` Conor Dooley
  2 siblings, 1 reply; 12+ messages in thread
From: Longbin Li @ 2025-10-25  2:27 UTC (permalink / raw)
  To: Conor Dooley, Rob Herring
  Cc: Krzysztof Kozlowski, Conor Dooley, Chen Wang, Inochi Amaoto,
	Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti,
	Alexander Sverdlin, Yu Yuan, Ze Huang, devicetree, sophgo,
	linux-kernel, linux-riscv

On Fri, Oct 24, 2025 at 05:46:03PM +0100, Conor Dooley wrote:

> > ...
> > +
> > +properties:
> > +  compatible:
> > +    oneOf:
> > +      - items:
> > +          - const: sophgo,cv1800b-top-syscon
> > +          - const: syscon
> > +          - const: simple-mfd
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  "#address-cells":
> > +    const: 1
> > +
> > +  "#size-cells":
> > +    const: 1
> > +
> > +  ranges: true
> 
> Do you actually use ranges?
> 
> > +patternProperties:
> > +  "dma-router@[0-9a-f]+$":
> 
> Do these actually appear at variable addresses, or is it always 48 for
> the phy and 53 for the dma router?
> 
> > +    $ref: /schemas/dma/sophgo,cv1800b-dmamux.yaml#
> > +    unevaluatedProperties: false
> > +
> > +  "phy@[0-9a-f]+$":
> > +    $ref: /schemas/phy/sophgo,cv1800b-usb2-phy.yaml#
> > +    unevaluatedProperties: false
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +  - "#address-cells"
> > +  - "#size-cells"
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > +  - |
> > +    #include <dt-bindings/clock/sophgo,cv1800.h>
> > +
> > +    syscon@3000000 {
> > +      compatible = "sophgo,cv1800b-top-syscon", "syscon", "simple-mfd";
> > +      reg = <0x03000000 0x1000>;
> > +      #address-cells = <1>;
> > +      #size-cells = <1>;
> > +
> > +      usbphy: phy@48 {
> 
> Drop the labels off of these two, since they're unused in the example.
> 

Hi,

Thanks for the review.

There are a couple of different opinions here.
Could you please help confirm which approach is preferred here?

This is Rob's reply:
https://lore.kernel.org/all/20251015134144.GA3265377-robh@kernel.org/

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

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

* Re: [PATCH v4 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC
  2025-10-25  2:27     ` Longbin Li
@ 2025-10-25 12:44       ` Conor Dooley
  2025-10-26  9:47         ` Longbin Li
  0 siblings, 1 reply; 12+ messages in thread
From: Conor Dooley @ 2025-10-25 12:44 UTC (permalink / raw)
  To: Longbin Li
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen Wang,
	Inochi Amaoto, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Alexander Sverdlin, Yu Yuan, Ze Huang,
	devicetree, sophgo, linux-kernel, linux-riscv


[-- Attachment #1.1: Type: text/plain, Size: 2251 bytes --]

On Sat, Oct 25, 2025 at 10:27:13AM +0800, Longbin Li wrote:
> On Fri, Oct 24, 2025 at 05:46:03PM +0100, Conor Dooley wrote:
> 
> > > ...
> > > +
> > > +properties:
> > > +  compatible:
> > > +    oneOf:
> > > +      - items:
> > > +          - const: sophgo,cv1800b-top-syscon
> > > +          - const: syscon
> > > +          - const: simple-mfd
> > > +
> > > +  reg:
> > > +    maxItems: 1
> > > +
> > > +  "#address-cells":
> > > +    const: 1
> > > +
> > > +  "#size-cells":
> > > +    const: 1
> > > +
> > > +  ranges: true
> > 
> > Do you actually use ranges?
> > 
> > > +patternProperties:
> > > +  "dma-router@[0-9a-f]+$":
> > 
> > Do these actually appear at variable addresses, or is it always 48 for
> > the phy and 53 for the dma router?
> > 
> > > +    $ref: /schemas/dma/sophgo,cv1800b-dmamux.yaml#
> > > +    unevaluatedProperties: false
> > > +
> > > +  "phy@[0-9a-f]+$":
> > > +    $ref: /schemas/phy/sophgo,cv1800b-usb2-phy.yaml#
> > > +    unevaluatedProperties: false
> > > +
> > > +required:
> > > +  - compatible
> > > +  - reg
> > > +  - "#address-cells"
> > > +  - "#size-cells"
> > > +
> > > +additionalProperties: false
> > > +
> > > +examples:
> > > +  - |
> > > +    #include <dt-bindings/clock/sophgo,cv1800.h>
> > > +
> > > +    syscon@3000000 {
> > > +      compatible = "sophgo,cv1800b-top-syscon", "syscon", "simple-mfd";
> > > +      reg = <0x03000000 0x1000>;
> > > +      #address-cells = <1>;
> > > +      #size-cells = <1>;
> > > +
> > > +      usbphy: phy@48 {
> > 
> > Drop the labels off of these two, since they're unused in the example.
> > 
> 
> Hi,
> 
> Thanks for the review.
> 
> There are a couple of different opinions here.
> Could you please help confirm which approach is preferred here?
> 
> This is Rob's reply:
> https://lore.kernel.org/all/20251015134144.GA3265377-robh@kernel.org/

I don't think that Rob and I disgree about the example, having child
nodes is good, having the label on them is what I don't want.

Re: the child node patterns, I was not looking for a return to what Rob
didn't like, but rather a move to just making them normal properties
rather than a pattern, if there's only one possible address.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

[-- Attachment #2: Type: text/plain, Size: 161 bytes --]

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

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

* Re: [PATCH v4 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC
  2025-10-25 12:44       ` Conor Dooley
@ 2025-10-26  9:47         ` Longbin Li
  2025-10-26 21:44           ` Conor Dooley
  0 siblings, 1 reply; 12+ messages in thread
From: Longbin Li @ 2025-10-26  9:47 UTC (permalink / raw)
  To: Conor Dooley
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen Wang,
	Inochi Amaoto, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Alexander Sverdlin, Yu Yuan, Ze Huang,
	devicetree, sophgo, linux-kernel, linux-riscv

On Sat, Oct 25, 2025 at 01:44:00PM +0100, Conor Dooley wrote:
> On Sat, Oct 25, 2025 at 10:27:13AM +0800, Longbin Li wrote:
> > On Fri, Oct 24, 2025 at 05:46:03PM +0100, Conor Dooley wrote:
> > 
> > > > ...
> > > > +
> > > > +properties:
> > > > +  compatible:
> > > > +    oneOf:
> > > > +      - items:
> > > > +          - const: sophgo,cv1800b-top-syscon
> > > > +          - const: syscon
> > > > +          - const: simple-mfd
> > > > +
> > > > +  reg:
> > > > +    maxItems: 1
> > > > +
> > > > +  "#address-cells":
> > > > +    const: 1
> > > > +
> > > > +  "#size-cells":
> > > > +    const: 1
> > > > +
> > > > +  ranges: true
> > > 
> > > Do you actually use ranges?
> > > 

Actually, I do not use it.
I added it following Rob's suggestion in
https://lore.kernel.org/all/20251015134144.GA3265377-robh@kernel.org/.
Should I drop it or not?

> > > > +patternProperties:
> > > > +  "dma-router@[0-9a-f]+$":
> > > 
> > > Do these actually appear at variable addresses, or is it always 48 for
> > > the phy and 53 for the dma router?
> > > 
> > > > +    $ref: /schemas/dma/sophgo,cv1800b-dmamux.yaml#
> > > > +    unevaluatedProperties: false
> > > > +
> > > > +  "phy@[0-9a-f]+$":
> > > > +    $ref: /schemas/phy/sophgo,cv1800b-usb2-phy.yaml#
> > > > +    unevaluatedProperties: false
> > > > +
> > > > +required:
> > > > +  - compatible
> > > > +  - reg
> > > > +  - "#address-cells"
> > > > +  - "#size-cells"
> > > > +
> > > > +additionalProperties: false
> > > > +
> > > > +examples:
> > > > +  - |
> > > > +    #include <dt-bindings/clock/sophgo,cv1800.h>
> > > > +
> > > > +    syscon@3000000 {
> > > > +      compatible = "sophgo,cv1800b-top-syscon", "syscon", "simple-mfd";
> > > > +      reg = <0x03000000 0x1000>;
> > > > +      #address-cells = <1>;
> > > > +      #size-cells = <1>;
> > > > +
> > > > +      usbphy: phy@48 {
> > > 
> > > Drop the labels off of these two, since they're unused in the example.
> > > 
> > 
> > Hi,
> > 
> > Thanks for the review.
> > 
> > There are a couple of different opinions here.
> > Could you please help confirm which approach is preferred here?
> > 
> > This is Rob's reply:
> > https://lore.kernel.org/all/20251015134144.GA3265377-robh@kernel.org/
> 
> I don't think that Rob and I disgree about the example, having child
> nodes is good, having the label on them is what I don't want.
> 
> Re: the child node patterns, I was not looking for a return to what Rob
> didn't like, but rather a move to just making them normal properties
> rather than a pattern, if there's only one possible address.

Thanks!
I will drop the lable and move the child nodes to normal properties.

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

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

* Re: [PATCH v4 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC
  2025-10-26  9:47         ` Longbin Li
@ 2025-10-26 21:44           ` Conor Dooley
  2025-10-27 15:13             ` Rob Herring
  0 siblings, 1 reply; 12+ messages in thread
From: Conor Dooley @ 2025-10-26 21:44 UTC (permalink / raw)
  To: Longbin Li
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen Wang,
	Inochi Amaoto, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Alexander Sverdlin, Yu Yuan, Ze Huang,
	devicetree, sophgo, linux-kernel, linux-riscv


[-- Attachment #1.1: Type: text/plain, Size: 1091 bytes --]

Rob, Longbin,

On Sun, Oct 26, 2025 at 05:47:32PM +0800, Longbin Li wrote:
> On Sat, Oct 25, 2025 at 01:44:00PM +0100, Conor Dooley wrote:
> > On Sat, Oct 25, 2025 at 10:27:13AM +0800, Longbin Li wrote:
> > > On Fri, Oct 24, 2025 at 05:46:03PM +0100, Conor Dooley wrote:
> > > 
> > > > > ...
> > > > > +
> > > > > +properties:
> > > > > +  compatible:
> > > > > +    oneOf:
> > > > > +      - items:
> > > > > +          - const: sophgo,cv1800b-top-syscon
> > > > > +          - const: syscon
> > > > > +          - const: simple-mfd
> > > > > +
> > > > > +  reg:
> > > > > +    maxItems: 1
> > > > > +
> > > > > +  "#address-cells":
> > > > > +    const: 1
> > > > > +
> > > > > +  "#size-cells":
> > > > > +    const: 1
> > > > > +
> > > > > +  ranges: true
> > > > 
> > > > Do you actually use ranges?
> > > > 
> 
> Actually, I do not use it.
> I added it following Rob's suggestion in
> https://lore.kernel.org/all/20251015134144.GA3265377-robh@kernel.org/.
> Should I drop it or not?

I don't know why he suggested it, if it is not being used. Rob?

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

[-- Attachment #2: Type: text/plain, Size: 161 bytes --]

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

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

* Re: [PATCH v4 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC
  2025-10-26 21:44           ` Conor Dooley
@ 2025-10-27 15:13             ` Rob Herring
  0 siblings, 0 replies; 12+ messages in thread
From: Rob Herring @ 2025-10-27 15:13 UTC (permalink / raw)
  To: Conor Dooley
  Cc: Longbin Li, Krzysztof Kozlowski, Conor Dooley, Chen Wang,
	Inochi Amaoto, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Alexander Sverdlin, Yu Yuan, Ze Huang,
	devicetree, sophgo, linux-kernel, linux-riscv

On Sun, Oct 26, 2025 at 09:44:12PM +0000, Conor Dooley wrote:
> Rob, Longbin,
> 
> On Sun, Oct 26, 2025 at 05:47:32PM +0800, Longbin Li wrote:
> > On Sat, Oct 25, 2025 at 01:44:00PM +0100, Conor Dooley wrote:
> > > On Sat, Oct 25, 2025 at 10:27:13AM +0800, Longbin Li wrote:
> > > > On Fri, Oct 24, 2025 at 05:46:03PM +0100, Conor Dooley wrote:
> > > > 
> > > > > > ...
> > > > > > +
> > > > > > +properties:
> > > > > > +  compatible:
> > > > > > +    oneOf:
> > > > > > +      - items:
> > > > > > +          - const: sophgo,cv1800b-top-syscon
> > > > > > +          - const: syscon
> > > > > > +          - const: simple-mfd
> > > > > > +
> > > > > > +  reg:
> > > > > > +    maxItems: 1
> > > > > > +
> > > > > > +  "#address-cells":
> > > > > > +    const: 1
> > > > > > +
> > > > > > +  "#size-cells":
> > > > > > +    const: 1
> > > > > > +
> > > > > > +  ranges: true
> > > > > 
> > > > > Do you actually use ranges?
> > > > > 
> > 
> > Actually, I do not use it.
> > I added it following Rob's suggestion in
> > https://lore.kernel.org/all/20251015134144.GA3265377-robh@kernel.org/.
> > Should I drop it or not?
> 
> I don't know why he suggested it, if it is not being used. Rob?

Child nodes are memory-mapped, right? MMIO should have 'ranges' all the 
way down. Doesn't matter if Linux (currently) uses it or not.

Rob

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

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

end of thread, other threads:[~2025-10-27 15:14 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-24  3:05 [PATCH v4 0/3] riscv: sophgo: add top syscon device for cv18xx Longbin Li
2025-10-24  3:05 ` [PATCH v4 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC Longbin Li
2025-10-24 16:46   ` Conor Dooley
2025-10-24 16:47     ` Conor Dooley
2025-10-25  2:10     ` Longbin Li
2025-10-25  2:27     ` Longbin Li
2025-10-25 12:44       ` Conor Dooley
2025-10-26  9:47         ` Longbin Li
2025-10-26 21:44           ` Conor Dooley
2025-10-27 15:13             ` Rob Herring
2025-10-24  3:05 ` [PATCH v4 2/3] riscv: dts: sophgo: Add syscon node for cv18xx Longbin Li
2025-10-24  3:05 ` [PATCH v4 3/3] riscv: dts: sophgo: Add USB support " Longbin Li

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