Message ID | 20220714122837.20094-6-tinghan.shen@mediatek.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add driver nodes for MT8195 SoC | expand |
On 14/07/2022 14:28, Tinghan Shen wrote: > Extract duplicated properties and support more levels of power > domain nodes. > > This change fix following error when do dtbs_check, > arch/arm64/boot/dts/mediatek/mt8195-evb.dtb: power-controller: power-domain@15:power-domain@16:power-domain@18: 'power-domain@19', 'power-domain@20', 'power-domain@21' do not match any of the regexes: 'pinctrl-[0-9]+' > From schema: Documentation/devicetree/bindings/power/mediatek,power-controller.yaml > > Signed-off-by: Tinghan Shen <tinghan.shen@mediatek.com> > --- > .../power/mediatek,power-controller.yaml | 119 +----------------- > 1 file changed, 6 insertions(+), 113 deletions(-) > > diff --git a/Documentation/devicetree/bindings/power/mediatek,power-controller.yaml b/Documentation/devicetree/bindings/power/mediatek,power-controller.yaml > index be81cd97afa4..e5494a330716 100644 > --- a/Documentation/devicetree/bindings/power/mediatek,power-controller.yaml > +++ b/Documentation/devicetree/bindings/power/mediatek,power-controller.yaml > @@ -42,6 +42,10 @@ properties: > > patternProperties: > "^power-domain@[0-9a-f]+$": > + $ref: "#/$defs/power-domain-node" > + > +$defs: > + power-domain-node: > type: object > description: | > Represents the power domains within the power controller node as documented > @@ -100,122 +104,11 @@ patternProperties: > $ref: /schemas/types.yaml#/definitions/phandle > description: phandle to the device containing the SMI register range. > > - patternProperties: > - "^power-domain@[0-9a-f]+$": > - type: object > - description: | > - Represents a power domain child within a power domain parent node. > - > - properties: > - > - '#power-domain-cells': > - description: > - Must be 0 for nodes representing a single PM domain and 1 for nodes > - providing multiple PM domains. > - > - '#address-cells': > - const: 1 > - > - '#size-cells': > - const: 0 > - > - reg: > - maxItems: 1 > - > - clocks: > - description: | > - A number of phandles to clocks that need to be enabled during domain > - power-up sequencing. > - > - clock-names: > - description: | > - List of names of clocks, in order to match the power-up sequencing > - for each power domain we need to group the clocks by name. BASIC > - clocks need to be enabled before enabling the corresponding power > - domain, and should not have a '-' in their name (i.e mm, mfg, venc). > - SUSBYS clocks need to be enabled before releasing the bus protection, > - and should contain a '-' in their name (i.e mm-0, isp-0, cam-0). > - > - In order to follow properly the power-up sequencing, the clocks must > - be specified by order, adding first the BASIC clocks followed by the > - SUSBSYS clocks. > - > - domain-supply: > - description: domain regulator supply. > - > - mediatek,infracfg: > - $ref: /schemas/types.yaml#/definitions/phandle > - description: phandle to the device containing the INFRACFG register range. > - > - mediatek,smi: > - $ref: /schemas/types.yaml#/definitions/phandle > - description: phandle to the device containing the SMI register range. > - > - patternProperties: > - "^power-domain@[0-9a-f]+$": > - type: object > - description: | > - Represents a power domain child within a power domain parent node. > - > - properties: > - > - '#power-domain-cells': > - description: > - Must be 0 for nodes representing a single PM domain and 1 for nodes > - providing multiple PM domains. > - > - '#address-cells': > - const: 1 > - > - '#size-cells': > - const: 0 > - > - reg: > - maxItems: 1 > - > - clocks: > - description: | > - A number of phandles to clocks that need to be enabled during domain > - power-up sequencing. > - > - clock-names: > - description: | > - List of names of clocks, in order to match the power-up sequencing > - for each power domain we need to group the clocks by name. BASIC > - clocks need to be enabled before enabling the corresponding power > - domain, and should not have a '-' in their name (i.e mm, mfg, venc). > - SUSBYS clocks need to be enabled before releasing the bus protection, > - and should contain a '-' in their name (i.e mm-0, isp-0, cam-0). > - > - In order to follow properly the power-up sequencing, the clocks must > - be specified by order, adding first the BASIC clocks followed by the > - SUSBSYS clocks. > - > - domain-supply: > - description: domain regulator supply. > - > - mediatek,infracfg: > - $ref: /schemas/types.yaml#/definitions/phandle > - description: phandle to the device containing the INFRACFG register range. > - > - mediatek,smi: > - $ref: /schemas/types.yaml#/definitions/phandle > - description: phandle to the device containing the SMI register range. > - > - required: > - - reg > - > - additionalProperties: false > - > - required: > - - reg > - > - additionalProperties: false > - > required: > - reg > > - additionalProperties: false > + additionalProperties: > + $ref: "#/$defs/power-domain-node" That's an interesting construction - endless recurrence. I did not know it works like that... How about making it a bit more specific? Defining defs "power-domain-node" for just one child (without additionalProperties piece) and (maybe with just one more level): @@ -43,6 +43,12 @@ patternProperties: "^power-domain@[0-9a-f]+$": $ref: "#/$defs/power-domain-node" + patternProperties: + "^power-domain@[0-9a-f]+$": + $ref: "#/$defs/power-domain-node" + unevaluatedProperties: false + unevaluatedProperties: false + $defs: power-domain-node: type: object @@ -105,9 +111,6 @@ $defs: required: - reg - additionalProperties: - $ref: "#/$defs/power-domain-node" - required: - compatible Best regards, Krzysztof
On 15/07/2022 10:07, Krzysztof Kozlowski wrote: > On 14/07/2022 14:28, Tinghan Shen wrote: >> Extract duplicated properties and support more levels of power >> domain nodes. Can you guys stop cc-ing all the non-working @mediatek.com emails? Every time I got a bunch of bounced: 550 Relaying mail to weiyi.lu@mediatek.com is not allowed and other like that. Really, it's being since some time and it became extra annoying. Best regards, Krzysztof
Hi Krzysztof, (Remove non-working @mediatek.com) On Fri, 2022-07-15 at 10:15 +0200, Krzysztof Kozlowski wrote: > On 15/07/2022 10:07, Krzysztof Kozlowski wrote: > > On 14/07/2022 14:28, Tinghan Shen wrote: > > > Extract duplicated properties and support more levels of power > > > domain nodes. > > Can you guys stop cc-ing all the non-working @mediatek.com emails? Every > time I got a bunch of bounced: > > 550 Relaying mail to weiyi.lu@mediatek.com is not allowed > > and other like that. > > Really, it's being since some time and it became extra annoying. > > Best regards, > Krzysztof I'm sorry for causing the annoying notifications. I'll update the maintainer lists in next version. Thanks, TingHan
diff --git a/Documentation/devicetree/bindings/power/mediatek,power-controller.yaml b/Documentation/devicetree/bindings/power/mediatek,power-controller.yaml index be81cd97afa4..e5494a330716 100644 --- a/Documentation/devicetree/bindings/power/mediatek,power-controller.yaml +++ b/Documentation/devicetree/bindings/power/mediatek,power-controller.yaml @@ -42,6 +42,10 @@ properties: patternProperties: "^power-domain@[0-9a-f]+$": + $ref: "#/$defs/power-domain-node" + +$defs: + power-domain-node: type: object description: | Represents the power domains within the power controller node as documented @@ -100,122 +104,11 @@ patternProperties: $ref: /schemas/types.yaml#/definitions/phandle description: phandle to the device containing the SMI register range. - patternProperties: - "^power-domain@[0-9a-f]+$": - type: object - description: | - Represents a power domain child within a power domain parent node. - - properties: - - '#power-domain-cells': - description: - Must be 0 for nodes representing a single PM domain and 1 for nodes - providing multiple PM domains. - - '#address-cells': - const: 1 - - '#size-cells': - const: 0 - - reg: - maxItems: 1 - - clocks: - description: | - A number of phandles to clocks that need to be enabled during domain - power-up sequencing. - - clock-names: - description: | - List of names of clocks, in order to match the power-up sequencing - for each power domain we need to group the clocks by name. BASIC - clocks need to be enabled before enabling the corresponding power - domain, and should not have a '-' in their name (i.e mm, mfg, venc). - SUSBYS clocks need to be enabled before releasing the bus protection, - and should contain a '-' in their name (i.e mm-0, isp-0, cam-0). - - In order to follow properly the power-up sequencing, the clocks must - be specified by order, adding first the BASIC clocks followed by the - SUSBSYS clocks. - - domain-supply: - description: domain regulator supply. - - mediatek,infracfg: - $ref: /schemas/types.yaml#/definitions/phandle - description: phandle to the device containing the INFRACFG register range. - - mediatek,smi: - $ref: /schemas/types.yaml#/definitions/phandle - description: phandle to the device containing the SMI register range. - - patternProperties: - "^power-domain@[0-9a-f]+$": - type: object - description: | - Represents a power domain child within a power domain parent node. - - properties: - - '#power-domain-cells': - description: - Must be 0 for nodes representing a single PM domain and 1 for nodes - providing multiple PM domains. - - '#address-cells': - const: 1 - - '#size-cells': - const: 0 - - reg: - maxItems: 1 - - clocks: - description: | - A number of phandles to clocks that need to be enabled during domain - power-up sequencing. - - clock-names: - description: | - List of names of clocks, in order to match the power-up sequencing - for each power domain we need to group the clocks by name. BASIC - clocks need to be enabled before enabling the corresponding power - domain, and should not have a '-' in their name (i.e mm, mfg, venc). - SUSBYS clocks need to be enabled before releasing the bus protection, - and should contain a '-' in their name (i.e mm-0, isp-0, cam-0). - - In order to follow properly the power-up sequencing, the clocks must - be specified by order, adding first the BASIC clocks followed by the - SUSBSYS clocks. - - domain-supply: - description: domain regulator supply. - - mediatek,infracfg: - $ref: /schemas/types.yaml#/definitions/phandle - description: phandle to the device containing the INFRACFG register range. - - mediatek,smi: - $ref: /schemas/types.yaml#/definitions/phandle - description: phandle to the device containing the SMI register range. - - required: - - reg - - additionalProperties: false - - required: - - reg - - additionalProperties: false - required: - reg - additionalProperties: false + additionalProperties: + $ref: "#/$defs/power-domain-node" required: - compatible
Extract duplicated properties and support more levels of power domain nodes. This change fix following error when do dtbs_check, arch/arm64/boot/dts/mediatek/mt8195-evb.dtb: power-controller: power-domain@15:power-domain@16:power-domain@18: 'power-domain@19', 'power-domain@20', 'power-domain@21' do not match any of the regexes: 'pinctrl-[0-9]+' From schema: Documentation/devicetree/bindings/power/mediatek,power-controller.yaml Signed-off-by: Tinghan Shen <tinghan.shen@mediatek.com> --- .../power/mediatek,power-controller.yaml | 119 +----------------- 1 file changed, 6 insertions(+), 113 deletions(-)