* [PATCH v1 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC
2025-10-12 2:25 [PATCH v1 0/3] riscv: sophgo: add top syscon device for cv18xx Longbin Li
@ 2025-10-12 2:25 ` Longbin Li
2025-10-15 13:41 ` Rob Herring
2025-10-12 2:25 ` [PATCH v1 2/3] riscv: dts: sophgo: Add syscon node for cv18xx Longbin Li
2025-10-12 2:25 ` [PATCH v1 3/3] riscv: dts: sophgo: Add USB support " Longbin Li
2 siblings, 1 reply; 6+ messages in thread
From: Longbin Li @ 2025-10-12 2:25 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen Wang,
Inochi Amaoto, Paul Walmsley, Palmer Dabbelt, Albert Ou,
Alexandre Ghiti, Longbin Li, Alexander Sverdlin, Yixun Lan,
Thomas Bonnefille, Ze Huang
Cc: 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.
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Longbin Li <looong.bin@gmail.com>
---
.../soc/sophgo/sophgo,cv1800b-top-syscon.yaml | 59 +++++++++++++++++++
1 file changed, 59 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..d1993f2156b4
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml
@@ -0,0 +1,59 @@
+# 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
+
+patternProperties:
+ "dma-router@154":
+ $ref: /schemas/dma/sophgo,cv1800b-dmamux.yaml#
+ unevaluatedProperties: false
+
+ "phy@48":
+ $ref: /schemas/phy/sophgo,cv1800b-usb2-phy.yaml#
+ unevaluatedProperties: false
+
+required:
+ - compatible
+ - reg
+ - "#address-cells"
+ - "#size-cells"
+
+additionalProperties: false
+
+examples:
+ - |
+ syscon@3000000 {
+ compatible = "sophgo,cv1800b-top-syscon", "syscon", "simple-mfd";
+ reg = <0x03000000 0x1000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ };
+
+...
--
2.51.0
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH v1 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC
2025-10-12 2:25 ` [PATCH v1 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC Longbin Li
@ 2025-10-15 13:41 ` Rob Herring
2025-10-17 9:35 ` Longbin Li
0 siblings, 1 reply; 6+ messages in thread
From: Rob Herring @ 2025-10-15 13:41 UTC (permalink / raw)
To: Longbin Li
Cc: Krzysztof Kozlowski, Conor Dooley, Chen Wang, Inochi Amaoto,
Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti,
Alexander Sverdlin, Yixun Lan, Thomas Bonnefille, Ze Huang,
devicetree, sophgo, linux-kernel, linux-riscv
On Sun, Oct 12, 2025 at 10:25:52AM +0800, Longbin Li wrote:
> 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.
>
> Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
> Signed-off-by: Longbin Li <looong.bin@gmail.com>
> ---
> .../soc/sophgo/sophgo,cv1800b-top-syscon.yaml | 59 +++++++++++++++++++
> 1 file changed, 59 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..d1993f2156b4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml
> @@ -0,0 +1,59 @@
> +# 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
Also need 'ranges'
> +
> +patternProperties:
> + "dma-router@154":
This allows 'foodma-router@154bar'. It's not a pattern as-is, but
generally we don't put fixed unit-addresses into the schema. So instead,
should be "^dma-router@[0-9a-f]+$".
> + $ref: /schemas/dma/sophgo,cv1800b-dmamux.yaml#
> + unevaluatedProperties: false
> +
> + "phy@48":
And similar here.
> + $ref: /schemas/phy/sophgo,cv1800b-usb2-phy.yaml#
> + unevaluatedProperties: false
> +
> +required:
> + - compatible
> + - reg
> + - "#address-cells"
> + - "#size-cells"
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + syscon@3000000 {
> + compatible = "sophgo,cv1800b-top-syscon", "syscon", "simple-mfd";
> + reg = <0x03000000 0x1000>;
> + #address-cells = <1>;
> + #size-cells = <1>;
Please make the example complete with child nodes.
> + };
> +
> +...
> --
> 2.51.0
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH v1 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC
2025-10-15 13:41 ` Rob Herring
@ 2025-10-17 9:35 ` Longbin Li
0 siblings, 0 replies; 6+ messages in thread
From: Longbin Li @ 2025-10-17 9:35 UTC (permalink / raw)
To: Rob Herring
Cc: Krzysztof Kozlowski, Conor Dooley, Chen Wang, Inochi Amaoto,
Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti,
Alexander Sverdlin, Yixun Lan, Thomas Bonnefille, Ze Huang,
devicetree, sophgo, linux-kernel, linux-riscv
On Wed, Oct 15, 2025 at 08:41:44AM -0500, Rob Herring wrote:
> On Sun, Oct 12, 2025 at 10:25:52AM +0800, Longbin Li wrote:
> > 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.
> >
> > Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
> > Signed-off-by: Longbin Li <looong.bin@gmail.com>
> > ---
> > .../soc/sophgo/sophgo,cv1800b-top-syscon.yaml | 59 +++++++++++++++++++
> > 1 file changed, 59 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..d1993f2156b4
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml
> > @@ -0,0 +1,59 @@
> > +# 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
>
> Also need 'ranges'
>
> > +
> > +patternProperties:
> > + "dma-router@154":
>
> This allows 'foodma-router@154bar'. It's not a pattern as-is, but
> generally we don't put fixed unit-addresses into the schema. So instead,
> should be "^dma-router@[0-9a-f]+$".
>
> > + $ref: /schemas/dma/sophgo,cv1800b-dmamux.yaml#
> > + unevaluatedProperties: false
> > +
> > + "phy@48":
>
> And similar here.
>
> > + $ref: /schemas/phy/sophgo,cv1800b-usb2-phy.yaml#
> > + unevaluatedProperties: false
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - "#address-cells"
> > + - "#size-cells"
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > + - |
> > + syscon@3000000 {
> > + compatible = "sophgo,cv1800b-top-syscon", "syscon", "simple-mfd";
> > + reg = <0x03000000 0x1000>;
> > + #address-cells = <1>;
> > + #size-cells = <1>;
>
> Please make the example complete with child nodes.
>
> > + };
> > +
> > +...
> > --
> > 2.51.0
Thanks, I will fix it.
longbin li
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v1 2/3] riscv: dts: sophgo: Add syscon node for cv18xx
2025-10-12 2:25 [PATCH v1 0/3] riscv: sophgo: add top syscon device for cv18xx Longbin Li
2025-10-12 2:25 ` [PATCH v1 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC Longbin Li
@ 2025-10-12 2:25 ` Longbin Li
2025-10-12 2:25 ` [PATCH v1 3/3] riscv: dts: sophgo: Add USB support " Longbin Li
2 siblings, 0 replies; 6+ messages in thread
From: Longbin Li @ 2025-10-12 2:25 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen Wang,
Inochi Amaoto, Paul Walmsley, Palmer Dabbelt, Albert Ou,
Alexandre Ghiti, Longbin Li, Alexander Sverdlin, Yixun Lan,
Thomas Bonnefille, Ze Huang
Cc: devicetree, sophgo, linux-kernel, linux-riscv
Add top syscon node and all subdevice nodes for cv18xx series SoC.
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Longbin Li <looong.bin@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
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v1 3/3] riscv: dts: sophgo: Add USB support for cv18xx
2025-10-12 2:25 [PATCH v1 0/3] riscv: sophgo: add top syscon device for cv18xx Longbin Li
2025-10-12 2:25 ` [PATCH v1 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC Longbin Li
2025-10-12 2:25 ` [PATCH v1 2/3] riscv: dts: sophgo: Add syscon node for cv18xx Longbin Li
@ 2025-10-12 2:25 ` Longbin Li
2 siblings, 0 replies; 6+ messages in thread
From: Longbin Li @ 2025-10-12 2:25 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen Wang,
Inochi Amaoto, Paul Walmsley, Palmer Dabbelt, Albert Ou,
Alexandre Ghiti, Longbin Li, Alexander Sverdlin, Yixun Lan,
Thomas Bonnefille, Ze Huang
Cc: devicetree, sophgo, linux-kernel, linux-riscv
Add USB controller node for cv18xx and enable it for Huashan Pi, milkv-duo.
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Longbin Li <looong.bin@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
^ permalink raw reply related [flat|nested] 6+ messages in thread