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

From: Inochi Amaoto
Date: Wed Feb 28 2024 - 22:25:01 EST


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@xxxxxxxxxxx>
> > > > ---
> > > > .../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@xxxxxxxxxxx>
> > > > +
> > > > +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