Re: [PATCH v4 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC

Conor Dooley
2025-10-24T16:46:09Z

[-- Attachment #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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]