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

Conor Dooley <[email protected]>
Newsgroups dev.linux.lists.sophgo,org.infradead.lists.linux-riscv,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel
Message-ID <20251024-hangout-designing-33e96c0d35fc@spud>
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 <[email protected]>
> Signed-off-by: Inochi Amaoto <[email protected]>
> Signed-off-by: Longbin Li <[email protected]>
> ---
>  .../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 <[email protected]>
> +
> +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
signature.asc (application/pgp-signature, 228 B)
-----BEGIN PGP SIGNATURE-----

iHUEABYKAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCaPutSwAKCRB4tDGHoIJi
0trzAP4nfQ6/Wxgh8wcGJdVXjTM5fYSSjyHVynWRqnuELKsrCQD+NmT3Mi9bgtxf
nLsFD4E3jkFuEsA2OafNMSd9+ubbNw8=
=pezZ
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.