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. The same as for gpcv2 - there is only one pgc. What's the point of that node? > > >> >>> + 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. > > 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