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

Krzysztof Kozlowski krzysztof.kozlowski at linaro.org
Sun May 29 00:56:17 PDT 2022


On 27/05/2022 03:47, Peng Fan wrote:
> 
> 
>> -----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.

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



More information about the linux-arm-kernel mailing list