[PATCH 1/7] dt-bindings: soc: add bindings for i.MX93 SRC

Peng Fan peng.fan at nxp.com
Thu May 26 18:47:12 PDT 2022



> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski at linaro.org>
> Sent: 2022年5月26日 20:08
> To: Peng Fan <peng.fan at nxp.com>; Peng Fan (OSS) <peng.fan at oss.nxp.com>;
> robh+dt at kernel.org; krzysztof.kozlowski+dt at linaro.org; sboyd at kernel.org;
> mturquette at baylibre.com; shawnguo at kernel.org; s.hauer at pengutronix.de
> Cc: Aisheng Dong <aisheng.dong at nxp.com>; l.stach at pengutronix.de;
> kernel at pengutronix.de; festevam at gmail.com; dl-linux-imx
> <linux-imx at nxp.com>; devicetree at vger.kernel.org;
> linux-kernel at vger.kernel.org; linux-arm-kernel at lists.infradead.org
> Subject: Re: [PATCH 1/7] dt-bindings: soc: add bindings for i.MX93 SRC
> 
> On 24/05/2022 14:07, Peng Fan wrote:
> >> Subject: Re: [PATCH 1/7] dt-bindings: soc: add bindings for i.MX93
> >> SRC
> >>
> >> On 24/05/2022 12:37, Peng Fan wrote:
> >>>> Subject: Re: [PATCH 1/7] dt-bindings: soc: add bindings for i.MX93
> >>>> SRC
> >>>>
> >>>> On 23/05/2022 13:30, Peng Fan (OSS) wrote:
> >>>>> From: Peng Fan <peng.fan at nxp.com>
> >>>>>
> >>>>> Add bindings for i.MX93 System Reset Controller(SRC). SRC supports
> >>>>> resets and power gating for mixes.
> >>>>>
> >>>>> Signed-off-by: Peng Fan <peng.fan at nxp.com>
> >>>>> ---
> >>>>>  .../bindings/soc/imx/fsl,imx93-src.yaml       | 88
> >>>> +++++++++++++++++++
> >>>>>  include/dt-bindings/power/imx93-power.h       | 11 +++
> >>>>>  2 files changed, 99 insertions(+)  create mode 100644
> >>>>> Documentation/devicetree/bindings/soc/imx/fsl,imx93-src.yaml
> >>>>
> >>>> File should be in respective subsystem, so probably power/reset?
> >>>
> >>> ok, will put under power.
> >>>
> >>>>
> >>>>>  create mode 100644 include/dt-bindings/power/imx93-power.h
> >>>>>
> >>>>> diff --git
> >>>>> a/Documentation/devicetree/bindings/soc/imx/fsl,imx93-src.yaml
> >>>>> b/Documentation/devicetree/bindings/soc/imx/fsl,imx93-src.yaml
> >>>>> new file mode 100644
> >>>>> index 000000000000..d45c1458b9c1
> >>>>> --- /dev/null
> >>>>> +++ b/Documentation/devicetree/bindings/soc/imx/fsl,imx93-src.yaml
> >>>>> @@ -0,0 +1,88 @@
> >>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML
> >>>>> +1.2
> >>>>> +---
> >>>>> +$id:
> >>>>> +> > +title: NXP i.MX9 System Reset Controller
> >>>>> +
> >>>>> +maintainers:
> >>>>> +  - Peng Fan <peng.fan at nxp.com>
> >>>>> +
> >>>>> +description: |
> >>>>> +  The System Reset Controller (SRC) is responsible for the
> >>>>> +generation of
> >>>>> +  all the system reset signals and boot argument latching.
> >>>>> +
> >>>>> +  Its main functions are as follows,
> >>>>> +  - Deals with all global system reset sources from other modules,
> >>>>> +    and generates global system reset.
> >>>>> +  - Responsible for power gating of MIXs (Slices) and their memory
> >>>>> +    low power control.
> >>>>> +
> >>>>> +properties:
> >>>>> +  compatible:
> >>>>> +    items:
> >>>>> +      - const: fsl,imx93-src
> >>>>> +      - const: syscon
> >>>>> +
> >>>>> +  reg:
> >>>>> +    maxItems: 1
> >>>>> +
> >>>>> +  slice:
> >>>>
> >>>> Why do you need this subnode, instead of listing domains here?
> >>>
> >>> I follow
> >>> Documentation/devicetree/bindings/power/fsl,imx-gpcv2.yaml
> >>>
> >>> There are several slices in SRC, just like there are many pgcs in gpcv2.
> >>
> >> Wait, but you have only one slice and you do no allow more of them.
> >
> > Slice is just a group node that could include many child nodes, such
> > as slice {
> >   mediamix {
> >   };
> >   mlmix {
> >   };
> > }
> >
> > The same
> >> as for gpcv2 - there is only one pgc. What's the point of that node?
> >
> > There are many pgcs, pgc is just a group node there, See
> > arch/arm64/boot/dts/freescale/imx8mp.dtsi.
> 
> So this does not explain my question at all. Why do you need "slice" (or
> pgc) node? You have only one slice in this device, so this is some indirect layer
> without meaning...

There is not only one slice, there are many slices. I use a slice node to group
all the slices, as below:
src: system-controller at xxx {
  xxxxx
  slice {
     media: slice at 0 {
     }
     ml: slice at 1 {
     }
     ddr: slice at 2 {
     }
  }
  xxxxx
}

With a slice node there, it will be also be easy for specific driver to know
specific node.

Thanks,
Peng.

> 
> 
> Best regards,
> Krzysztof


More information about the linux-arm-kernel mailing list