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

Peng Fan peng.fan at nxp.com
Tue May 24 05:07:05 PDT 2022


> 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.

> 
> >
> >
> >>
> >>> +    type: object
> >>> +    description: list of power domains provided by this controller.
> >>> +
> >>
> >> Hm, what about address/size cells? Is syscon schema bringing these?
> >
> > The slice submode should have address/size cells, but I not meet
> > yaml/dtbs check error. Will add it.
> >
> > Not sure syscon bringing or not.
> >
> >>
> >>> +    patternProperties:
> >>> +      "power-domain@[0-9]$":
> >>> +        type: object
> >>
> >> Missing ref to power-domain.yaml
> >
> > Ok.
> >
> >>
> >>> +        properties:
> >>> +
> >>> +          '#power-domain-cells':
> >>> +            const: 0
> >>> +
> >>> +          reg:
> >>> +            description: |
> >>> +              Power domain index. Valid values are defined in
> >>> +              include/dt-bindings/power/imx93-power.h for
> fsl,imx93-src
> >>> +            maxItems: 1
> >>> +
> >>> +          clocks:
> >>> +            description: |
> >>> +              A number of phandles to clocks that need to be enabled
> >>> +              during domain power-up sequencing to ensure reset
> >>> +              propagation into devices located inside this power
> domain.
> >>> +            minItems: 1
> >>> +            maxItems: 5
> >>> +
> >>> +        required:
> >>> +          - '#power-domain-cells'
> >>> +          - reg
> >>> +
> >>> +required:
> >>> +  - compatible
> >>> +  - reg
> >>> +  - slice
> >>> +
> >>> +additionalProperties: false
> >>> +
> >>> +examples:
> >>> +  - |
> >>> +    #include <dt-bindings/clock/imx93-clock.h>
> >>> +    #include <dt-bindings/power/imx93-power.h>
> >>> +
> >>> +    src at 44460000 {
> >>
> >> reset-controller
> >> or some other generic node name.
> >
> > It is not a single reset or power domain controller, Currently linux
> > driver just use it as a power domain controller.
> 
> Then maybe system-controller.

Ok.

Thanks,
Peng.

> 
> >
> > Thanks,
> > Peng.
> >
> >>
> >>> +        compatible = "fsl,imx93-src", "syscon";
> >>> +        reg = <0x44460000 0x10000>;
> >>> +
> >>> +        slice {
> >>> +                #address-cells = <1>;
> >>> +                #size-cells = <0>;
> >>> +
> >>> +                mediamix: power-domain at 0 {
> >>
> >> Best regards,
> >> Krzysztof
> 
> 
> Best regards,
> Krzysztof


More information about the linux-arm-kernel mailing list