> 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@xxxxxxx> > >>> > >>> Add bindings for i.MX93 System Reset Controller(SRC). SRC supports > >>> resets and power gating for mixes. > >>> > >>> Signed-off-by: Peng Fan <peng.fan@xxxxxxx> > >>> --- > >>> .../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@xxxxxxx> > >>> + > >>> +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@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@0 { > >> > >> Best regards, > >> Krzysztof > > > Best regards, > Krzysztof