diff mbox series

[v2,2/4] dt-bindings: soc: sophgo: Add top misc controller of CV18XX/SG200X series SoC

Message ID PH7PR20MB4962BEA2751F7C45A16E40B9BB502@PH7PR20MB4962.namprd20.prod.outlook.com (mailing list archive)
State Superseded
Headers show
Series riscv: sophgo: add dmamux support for Sophgo CV1800/SG2000 SoCs | expand

Commit Message

Inochi Amaoto Feb. 20, 2024, 10:28 a.m. UTC
CV18XX/SG200X series SoCs have a special top misc system controller,
which provides register access for several devices. In addition to
register access, this system controller also contains some subdevices
(such as dmamux).

Add bindings for top misc controller of CV18XX/SG200X series SoC.

Signed-off-by: Inochi Amaoto <inochiama@outlook.com>
---
 .../soc/sophgo/sophgo,cv1800-top-syscon.yaml  | 48 +++++++++++++++++++
 1 file changed, 48 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml

--
2.43.2

Comments

Rob Herring Feb. 23, 2024, 12:33 a.m. UTC | #1
On Tue, Feb 20, 2024 at 06:28:59PM +0800, Inochi Amaoto wrote:
> CV18XX/SG200X series SoCs have a special top misc system controller,
> which provides register access for several devices. In addition to
> register access, this system controller also contains some subdevices
> (such as dmamux).
> 
> Add bindings for top misc controller of CV18XX/SG200X series SoC.
> 
> Signed-off-by: Inochi Amaoto <inochiama@outlook.com>
> ---
>  .../soc/sophgo/sophgo,cv1800-top-syscon.yaml  | 48 +++++++++++++++++++
>  1 file changed, 48 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
> 
> diff --git a/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
> new file mode 100644
> index 000000000000..29825fee66d5
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
> @@ -0,0 +1,48 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/soc/sophgo/sophgo,cv1800-top-syscon.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Sophgo CV1800/SG2000 SoC top system controller
> +
> +maintainers:
> +  - Inochi Amaoto <inochiama@outlook.com>
> +
> +description:
> +  The Sophgo CV1800/SG2000 SoC top misc system controller provides
> +  register access to configure related modules.
> +
> +properties:
> +  compatible:
> +    items:
> +      - const: sophgo,cv1800-top-syscon
> +      - const: syscon
> +      - const: simple-mfd
> +
> +  reg:
> +    maxItems: 1
> +
> +required:
> +  - compatible
> +  - reg
> +
> +additionalProperties:
> +  type: object
> +
> +examples:
> +  - |
> +    syscon@3000000 {
> +      compatible = "sophgo,cv1800-top-syscon",
> +                   "syscon", "simple-mfd";
> +      reg = <0x03000000 0x1000>;
> +
> +      dma-router {

Is there no defined register set you can put in 'reg' here?

> +        compatible = "sophgo,cv1800-dmamux";
> +        #dma-cells = <3>;
> +        dma-masters = <&dmac>;
> +        dma-requests = <8>;
> +      };
> +    };
> +
> +...
> --
> 2.43.2
>
Inochi Amaoto Feb. 23, 2024, 1:47 a.m. UTC | #2
On Thu, Feb 22, 2024 at 05:33:34PM -0700, Rob Herring wrote:
> On Tue, Feb 20, 2024 at 06:28:59PM +0800, Inochi Amaoto wrote:
> > CV18XX/SG200X series SoCs have a special top misc system controller,
> > which provides register access for several devices. In addition to
> > register access, this system controller also contains some subdevices
> > (such as dmamux).
> > 
> > Add bindings for top misc controller of CV18XX/SG200X series SoC.
> > 
> > Signed-off-by: Inochi Amaoto <inochiama@outlook.com>
> > ---
> >  .../soc/sophgo/sophgo,cv1800-top-syscon.yaml  | 48 +++++++++++++++++++
> >  1 file changed, 48 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
> > new file mode 100644
> > index 000000000000..29825fee66d5
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
> > @@ -0,0 +1,48 @@
> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/soc/sophgo/sophgo,cv1800-top-syscon.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Sophgo CV1800/SG2000 SoC top system controller
> > +
> > +maintainers:
> > +  - Inochi Amaoto <inochiama@outlook.com>
> > +
> > +description:
> > +  The Sophgo CV1800/SG2000 SoC top misc system controller provides
> > +  register access to configure related modules.
> > +
> > +properties:
> > +  compatible:
> > +    items:
> > +      - const: sophgo,cv1800-top-syscon
> > +      - const: syscon
> > +      - const: simple-mfd
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +
> > +additionalProperties:
> > +  type: object
> > +
> > +examples:
> > +  - |
> > +    syscon@3000000 {
> > +      compatible = "sophgo,cv1800-top-syscon",
> > +                   "syscon", "simple-mfd";
> > +      reg = <0x03000000 0x1000>;
> > +
> > +      dma-router {
> 
> Is there no defined register set you can put in 'reg' here?
> 

It has multiple registers in the syscon. But in fact, the dmamux
is a virtual device. And the syscon device only have some discrete 
registers. This is why I did not put reg. It should access the
device using the offset defined in the patch 3.

> > +        compatible = "sophgo,cv1800-dmamux";
> > +        #dma-cells = <3>;
> > +        dma-masters = <&dmac>;
> > +        dma-requests = <8>;
> > +      };
> > +    };
> > +
> > +...
> > --
> > 2.43.2
> >
Rob Herring Feb. 28, 2024, 5:07 p.m. UTC | #3
On Fri, Feb 23, 2024 at 09:47:05AM +0800, Inochi Amaoto wrote:
> On Thu, Feb 22, 2024 at 05:33:34PM -0700, Rob Herring wrote:
> > On Tue, Feb 20, 2024 at 06:28:59PM +0800, Inochi Amaoto wrote:
> > > CV18XX/SG200X series SoCs have a special top misc system controller,
> > > which provides register access for several devices. In addition to
> > > register access, this system controller also contains some subdevices
> > > (such as dmamux).
> > > 
> > > Add bindings for top misc controller of CV18XX/SG200X series SoC.
> > > 
> > > Signed-off-by: Inochi Amaoto <inochiama@outlook.com>
> > > ---
> > >  .../soc/sophgo/sophgo,cv1800-top-syscon.yaml  | 48 +++++++++++++++++++
> > >  1 file changed, 48 insertions(+)
> > >  create mode 100644 Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
> > > 
> > > diff --git a/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
> > > new file mode 100644
> > > index 000000000000..29825fee66d5
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
> > > @@ -0,0 +1,48 @@
> > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/soc/sophgo/sophgo,cv1800-top-syscon.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: Sophgo CV1800/SG2000 SoC top system controller
> > > +
> > > +maintainers:
> > > +  - Inochi Amaoto <inochiama@outlook.com>
> > > +
> > > +description:
> > > +  The Sophgo CV1800/SG2000 SoC top misc system controller provides
> > > +  register access to configure related modules.
> > > +
> > > +properties:
> > > +  compatible:
> > > +    items:
> > > +      - const: sophgo,cv1800-top-syscon
> > > +      - const: syscon
> > > +      - const: simple-mfd
> > > +
> > > +  reg:
> > > +    maxItems: 1
> > > +
> > > +required:
> > > +  - compatible
> > > +  - reg
> > > +
> > > +additionalProperties:
> > > +  type: object
> > > +
> > > +examples:
> > > +  - |
> > > +    syscon@3000000 {
> > > +      compatible = "sophgo,cv1800-top-syscon",
> > > +                   "syscon", "simple-mfd";
> > > +      reg = <0x03000000 0x1000>;
> > > +
> > > +      dma-router {
> > 
> > Is there no defined register set you can put in 'reg' here?
> > 
> 
> It has multiple registers in the syscon. But in fact, the dmamux
> is a virtual device. And the syscon device only have some discrete 
> registers. This is why I did not put reg. It should access the
> device using the offset defined in the patch 3.

I would add:

reg = <0x154 8>, <0x298 0x4>;

(with appropriate "ranges" in parent)

No requirement for Linux to use this either.

Rob
Inochi Amaoto Feb. 29, 2024, 3:25 a.m. UTC | #4
On Wed, Feb 28, 2024 at 11:07:58AM -0600, Rob Herring wrote:
> On Fri, Feb 23, 2024 at 09:47:05AM +0800, Inochi Amaoto wrote:
> > On Thu, Feb 22, 2024 at 05:33:34PM -0700, Rob Herring wrote:
> > > On Tue, Feb 20, 2024 at 06:28:59PM +0800, Inochi Amaoto wrote:
> > > > CV18XX/SG200X series SoCs have a special top misc system controller,
> > > > which provides register access for several devices. In addition to
> > > > register access, this system controller also contains some subdevices
> > > > (such as dmamux).
> > > > 
> > > > Add bindings for top misc controller of CV18XX/SG200X series SoC.
> > > > 
> > > > Signed-off-by: Inochi Amaoto <inochiama@outlook.com>
> > > > ---
> > > >  .../soc/sophgo/sophgo,cv1800-top-syscon.yaml  | 48 +++++++++++++++++++
> > > >  1 file changed, 48 insertions(+)
> > > >  create mode 100644 Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
> > > > 
> > > > diff --git a/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
> > > > new file mode 100644
> > > > index 000000000000..29825fee66d5
> > > > --- /dev/null
> > > > +++ b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
> > > > @@ -0,0 +1,48 @@
> > > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > > > +%YAML 1.2
> > > > +---
> > > > +$id: http://devicetree.org/schemas/soc/sophgo/sophgo,cv1800-top-syscon.yaml#
> > > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > > +
> > > > +title: Sophgo CV1800/SG2000 SoC top system controller
> > > > +
> > > > +maintainers:
> > > > +  - Inochi Amaoto <inochiama@outlook.com>
> > > > +
> > > > +description:
> > > > +  The Sophgo CV1800/SG2000 SoC top misc system controller provides
> > > > +  register access to configure related modules.
> > > > +
> > > > +properties:
> > > > +  compatible:
> > > > +    items:
> > > > +      - const: sophgo,cv1800-top-syscon
> > > > +      - const: syscon
> > > > +      - const: simple-mfd
> > > > +
> > > > +  reg:
> > > > +    maxItems: 1
> > > > +
> > > > +required:
> > > > +  - compatible
> > > > +  - reg
> > > > +
> > > > +additionalProperties:
> > > > +  type: object
> > > > +
> > > > +examples:
> > > > +  - |
> > > > +    syscon@3000000 {
> > > > +      compatible = "sophgo,cv1800-top-syscon",
> > > > +                   "syscon", "simple-mfd";
> > > > +      reg = <0x03000000 0x1000>;
> > > > +
> > > > +      dma-router {
> > > 
> > > Is there no defined register set you can put in 'reg' here?
> > > 
> > 
> > It has multiple registers in the syscon. But in fact, the dmamux
> > is a virtual device. And the syscon device only have some discrete 
> > registers. This is why I did not put reg. It should access the
> > device using the offset defined in the patch 3.
> 
> I would add:
> 
> reg = <0x154 8>, <0x298 0x4>;

This is what I have done before. :)

> 
> (with appropriate "ranges" in parent)
> 
> No requirement for Linux to use this either.

It seems like that the device should only be described, right?
Also a small question, is it better to add reg-names for this?

> 
> Rob
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
new file mode 100644
index 000000000000..29825fee66d5
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800-top-syscon.yaml
@@ -0,0 +1,48 @@ 
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/soc/sophgo/sophgo,cv1800-top-syscon.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Sophgo CV1800/SG2000 SoC top system controller
+
+maintainers:
+  - Inochi Amaoto <inochiama@outlook.com>
+
+description:
+  The Sophgo CV1800/SG2000 SoC top misc system controller provides
+  register access to configure related modules.
+
+properties:
+  compatible:
+    items:
+      - const: sophgo,cv1800-top-syscon
+      - const: syscon
+      - const: simple-mfd
+
+  reg:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+
+additionalProperties:
+  type: object
+
+examples:
+  - |
+    syscon@3000000 {
+      compatible = "sophgo,cv1800-top-syscon",
+                   "syscon", "simple-mfd";
+      reg = <0x03000000 0x1000>;
+
+      dma-router {
+        compatible = "sophgo,cv1800-dmamux";
+        #dma-cells = <3>;
+        dma-masters = <&dmac>;
+        dma-requests = <8>;
+      };
+    };
+
+...