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

Conor Dooley conor at kernel.org
Fri Oct 24 09:46:03 PDT 2025


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 at gmail.com>
> Signed-off-by: Inochi Amaoto <inochiama at gmail.com>
> Signed-off-by: Longbin Li <looong.bin at 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 at 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 at 3000000 {
> +      compatible = "sophgo,cv1800b-top-syscon", "syscon", "simple-mfd";
> +      reg = <0x03000000 0x1000>;
> +      #address-cells = <1>;
> +      #size-cells = <1>;
> +
> +      usbphy: phy at 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 at 154 {
> +        compatible = "sophgo,cv1800b-dmamux";
> +        reg = <0x154 0x8>, <0x298 0x4>;
> +        #dma-cells = <2>;
> +        dma-masters = <&dmac>;
> +      };
> +    };
> +
> +...
> --
> 2.51.0
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-riscv/attachments/20251024/a7364d31/attachment.sig>


More information about the linux-riscv mailing list