On 27/05/2022 03:47, Peng Fan wrote: > > >> -----Original Message----- >> From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> >> Sent: 2022年5月26日 20:08 >> To: Peng Fan <peng.fan@xxxxxxx>; Peng Fan (OSS) <peng.fan@xxxxxxxxxxx>; >> robh+dt@xxxxxxxxxx; krzysztof.kozlowski+dt@xxxxxxxxxx; sboyd@xxxxxxxxxx; >> mturquette@xxxxxxxxxxxx; shawnguo@xxxxxxxxxx; s.hauer@xxxxxxxxxxxxxx >> Cc: Aisheng Dong <aisheng.dong@xxxxxxx>; l.stach@xxxxxxxxxxxxxx; >> kernel@xxxxxxxxxxxxxx; festevam@xxxxxxxxx; dl-linux-imx >> <linux-imx@xxxxxxx>; devicetree@xxxxxxxxxxxxxxx; >> linux-kernel@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx >> 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@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. >> >> 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@xxx { > xxxxx > slice { > media: slice@0 { > } > ml: slice@1 { > } > ddr: slice@2 { > } > } > xxxxx > } > > With a slice node there, it will be also be easy for specific driver to know > specific node. I understand that, you repeat and repeat the same description of what you are doing, but that still does not explain my first question - why do you need superficial slice property containing all the slices? Best regards, Krzysztof