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 |
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 >
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 > >
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
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 --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>; + }; + }; + +...
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