All of lore.kernel.org
 help / color / mirror / Atom feed
From: Enric Balletbo i Serra <enric.balletbo@collabora.com>
To: Rob Herring <robh@kernel.org>,
	Enric Balletbo Serra <eballetbo@gmail.com>
Cc: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"Heiko Stübner" <heiko@sntech.de>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	"Doug Anderson" <dianders@chromium.org>,
	"open list:ARM/Rockchip SoC..."
	<linux-rockchip@lists.infradead.org>,
	"Collabora Kernel ML" <kernel@collabora.com>,
	"Linux ARM" <linux-arm-kernel@lists.infradead.org>,
	"Caesar Wang" <wxt@rock-chips.com>
Subject: Re: [PATCH v3] dt-bindings: power: rockchip: Convert to json-schema
Date: Sun, 11 Oct 2020 11:01:52 +0200	[thread overview]
Message-ID: <2623f12e-aca6-59ea-5f5e-0cd61a229004@collabora.com> (raw)
In-Reply-To: <CAL_JsqL7ej3o_qzb7r+Nmdp=YkuYciqRYYcFo4Z21OGOvkn-3A@mail.gmail.com>

Hi Rob,

On 8/10/20 21:47, Rob Herring wrote:
> On Wed, Oct 7, 2020 at 3:57 PM Enric Balletbo Serra <eballetbo@gmail.com> wrote:
>>
>> Hi Rob,
>>
>> Missatge de Rob Herring <robh@kernel.org> del dia dc., 7 d’oct. 2020 a
>> les 17:12:
>>>
>>> On Mon, Sep 21, 2020 at 11:29:51AM +0200, Enric Balletbo i Serra wrote:
>>>> Convert the soc/rockchip/power_domain.txt binding document to json-schema
>>>> and move to the power bindings directory.
>>>>
>>>> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
>>>> ---
>>>>
>>>> Changes in v3:
>>>> - Fixed tab errors found by bot
>>>>
>>>> Changes in v2:
>>>> - Fixed a warning that says that 'syscon' should not be used alone.
>>>> - Use patternProperties to define a new level for power-domains.
>>>> - Add const values for power-domain-cells, address-cells, etc.
>>>>
>>>>  .../power/rockchip,power-controller.yaml      | 207 ++++++++++++++++++
>>>>  .../bindings/soc/rockchip/power_domain.txt    | 136 ------------
>>>>  2 files changed, 207 insertions(+), 136 deletions(-)
>>>>  create mode 100644 Documentation/devicetree/bindings/power/rockchip,power-controller.yaml
>>>>  delete mode 100644 Documentation/devicetree/bindings/soc/rockchip/power_domain.txt
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/power/rockchip,power-controller.yaml b/Documentation/devicetree/bindings/power/rockchip,power-controller.yaml
>>>> new file mode 100644
>>>> index 000000000000..b23ea37e2a08
>>>> --- /dev/null
>>>> +++ b/Documentation/devicetree/bindings/power/rockchip,power-controller.yaml
>>>> @@ -0,0 +1,207 @@
>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>>> +%YAML 1.2
>>>> +---
>>>> +$id: http://devicetree.org/schemas/power/rockchip,power-controller.yaml#
>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>> +
>>>> +title: Rockchip Power Domains
>>>> +
>>>> +maintainers:
>>>> +  - Caesar Wang <wxt@rock-chips.com>
>>>> +  - Heiko Stuebner <heiko@sntech.de>
>>>> +
>>>> +description: |
>>>> +  Rockchip processors include support for multiple power domains which can be
>>>> +  powered up/down by software based on different application scenes to save power.
>>>> +
>>>> +  Power domains contained within power-controller node are generic power domain
>>>> +  providers documented in Documentation/devicetree/bindings/power/power-domain.yaml.
>>>> +
>>>> +  IP cores belonging to a power domain should contain a 'power-domains'
>>>> +  property that is a phandle for the power domain node representing the domain.
>>>> +
>>>> +properties:
>>>> +  $nodename:
>>>> +    const: power-controller
>>>> +
>>>> +  compatible:
>>>> +    enum:
>>>> +      - rockchip,px30-power-controller
>>>> +      - rockchip,rk3036-power-controller
>>>> +      - rockchip,rk3066-power-controller
>>>> +      - rockchip,rk3128-power-controller
>>>> +      - rockchip,rk3188-power-controller
>>>> +      - rockchip,rk3228-power-controller
>>>> +      - rockchip,rk3288-power-controller
>>>> +      - rockchip,rk3328-power-controller
>>>> +      - rockchip,rk3366-power-controller
>>>> +      - rockchip,rk3368-power-controller
>>>> +      - rockchip,rk3399-power-controller
>>>> +
>>>> +  '#power-domain-cells':
>>>> +    const: 1
>>>> +
>>>> +  '#address-cells':
>>>> +    const: 1
>>>> +
>>>> +  '#size-cells':
>>>> +    const: 0
>>>> +
>>>> +patternProperties:
>>>> +  "^power-domain@[0-9]+$":
>>>
>>> unit-addresses are hex.
>>>
>>>> +    type: object
>>>> +    description: |
>>>> +      Represents the power domains within the power controller node as documented
>>>> +      in Documentation/devicetree/bindings/power/power-domain.yaml.
>>>> +
>>>> +    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:
>>>> +        description: |
>>>> +          Power domain index. Valid values are defined in:
>>>> +          "include/dt-bindings/power/px30-power.h" - for PX30 type power domain.
>>>> +          "include/dt-bindings/power/rk3036-power.h" - for RK3036 type power domain.
>>>> +          "include/dt-bindings/power/rk3066-power.h" - for RK3066 type power domain.
>>>> +          "include/dt-bindings/power/rk3128-power.h" - for RK3128 type power domain.
>>>> +          "include/dt-bindings/power/rk3188-power.h" - for RK3188 type power domain.
>>>> +          "include/dt-bindings/power/rk3228-power.h" - for RK3228 type power domain.
>>>> +          "include/dt-bindings/power/rk3288-power.h" - for RK3288 type power domain.
>>>> +          "include/dt-bindings/power/rk3328-power.h" - for RK3328 type power domain.
>>>> +          "include/dt-bindings/power/rk3366-power.h" - for RK3366 type power domain.
>>>> +          "include/dt-bindings/power/rk3368-power.h" - for RK3368 type power domain.
>>>> +          "include/dt-bindings/power/rk3399-power.h" - for RK3399 type power domain.
>>>> +        maxItems: 1
>>>
>>> Range of values?
>>>
>>>> +
>>>> +      clocks:
>>>> +        description: |
>>>> +          A number of phandles to clocks that need to be enabled while power domain
>>>> +          switches state.
>>>
>>> Can you at least put a range of how many clocks?
>>>
>>>> +
>>>> +      pm_qos:
>>>> +        description: |
>>>> +          A number of phandles to qos blocks which need to be saved and restored
>>>> +          while power domain switches state.
>>>
>>> And here.
>>>
>>>> +
>>>> +    required:
>>>> +      - reg
>>>
>>>        additionalProperties: false
>>>
>>> Which in turn means the nested power domains will throw an error, so you
>>> can do:
>>>
>>>        patternProperties:
>>>          "^power-domain@[0-9a-f]+$":
>>>            $ref: '#/patternProperties/^power-domain@[0-9a-f]+$'
>>>
>>
>> When I tried this I got the following error:
>>
>> rockchip,power-controller.yaml:
>> patternProperties:^power-domain@[0-9a-f]+$:patternProperties:^power-domain@[0-9a-f]+$:$ref:
>> '#/patternProperties/^power-domain@[0-9a-f]+$' is not a
>> 'uri-reference'
>>
>> Not sure if is my environment or I am still doing something silly, can
>> you confirm that this works for you? It doesn't seem to be any binding
>> doing this actually.
> 
> I think the regex would have to be escaped to be a valid URI:
> 
> $ref: '%23/patternProperties/%5Epower-domain@%5B0-9a-f%5D+%24'
> 
> That's not the most readable nor am I sure it would get translated
> back to the right path, so it's probably going to be best to just
> define the child nodes even if duplicated.
> 

Ok, I'll define the child node then. Thank you for your support.

Cheers,
  Enric

> Rob
> 

WARNING: multiple messages have this Message-ID (diff)
From: Enric Balletbo i Serra <enric.balletbo@collabora.com>
To: Rob Herring <robh@kernel.org>,
	Enric Balletbo Serra <eballetbo@gmail.com>
Cc: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"Heiko Stübner" <heiko@sntech.de>,
	"Doug Anderson" <dianders@chromium.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	"open list:ARM/Rockchip SoC..."
	<linux-rockchip@lists.infradead.org>,
	"Collabora Kernel ML" <kernel@collabora.com>,
	"Linux ARM" <linux-arm-kernel@lists.infradead.org>,
	"Caesar Wang" <wxt@rock-chips.com>
Subject: Re: [PATCH v3] dt-bindings: power: rockchip: Convert to json-schema
Date: Sun, 11 Oct 2020 11:01:52 +0200	[thread overview]
Message-ID: <2623f12e-aca6-59ea-5f5e-0cd61a229004@collabora.com> (raw)
In-Reply-To: <CAL_JsqL7ej3o_qzb7r+Nmdp=YkuYciqRYYcFo4Z21OGOvkn-3A@mail.gmail.com>

Hi Rob,

On 8/10/20 21:47, Rob Herring wrote:
> On Wed, Oct 7, 2020 at 3:57 PM Enric Balletbo Serra <eballetbo@gmail.com> wrote:
>>
>> Hi Rob,
>>
>> Missatge de Rob Herring <robh@kernel.org> del dia dc., 7 d’oct. 2020 a
>> les 17:12:
>>>
>>> On Mon, Sep 21, 2020 at 11:29:51AM +0200, Enric Balletbo i Serra wrote:
>>>> Convert the soc/rockchip/power_domain.txt binding document to json-schema
>>>> and move to the power bindings directory.
>>>>
>>>> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
>>>> ---
>>>>
>>>> Changes in v3:
>>>> - Fixed tab errors found by bot
>>>>
>>>> Changes in v2:
>>>> - Fixed a warning that says that 'syscon' should not be used alone.
>>>> - Use patternProperties to define a new level for power-domains.
>>>> - Add const values for power-domain-cells, address-cells, etc.
>>>>
>>>>  .../power/rockchip,power-controller.yaml      | 207 ++++++++++++++++++
>>>>  .../bindings/soc/rockchip/power_domain.txt    | 136 ------------
>>>>  2 files changed, 207 insertions(+), 136 deletions(-)
>>>>  create mode 100644 Documentation/devicetree/bindings/power/rockchip,power-controller.yaml
>>>>  delete mode 100644 Documentation/devicetree/bindings/soc/rockchip/power_domain.txt
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/power/rockchip,power-controller.yaml b/Documentation/devicetree/bindings/power/rockchip,power-controller.yaml
>>>> new file mode 100644
>>>> index 000000000000..b23ea37e2a08
>>>> --- /dev/null
>>>> +++ b/Documentation/devicetree/bindings/power/rockchip,power-controller.yaml
>>>> @@ -0,0 +1,207 @@
>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>>> +%YAML 1.2
>>>> +---
>>>> +$id: http://devicetree.org/schemas/power/rockchip,power-controller.yaml#
>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>> +
>>>> +title: Rockchip Power Domains
>>>> +
>>>> +maintainers:
>>>> +  - Caesar Wang <wxt@rock-chips.com>
>>>> +  - Heiko Stuebner <heiko@sntech.de>
>>>> +
>>>> +description: |
>>>> +  Rockchip processors include support for multiple power domains which can be
>>>> +  powered up/down by software based on different application scenes to save power.
>>>> +
>>>> +  Power domains contained within power-controller node are generic power domain
>>>> +  providers documented in Documentation/devicetree/bindings/power/power-domain.yaml.
>>>> +
>>>> +  IP cores belonging to a power domain should contain a 'power-domains'
>>>> +  property that is a phandle for the power domain node representing the domain.
>>>> +
>>>> +properties:
>>>> +  $nodename:
>>>> +    const: power-controller
>>>> +
>>>> +  compatible:
>>>> +    enum:
>>>> +      - rockchip,px30-power-controller
>>>> +      - rockchip,rk3036-power-controller
>>>> +      - rockchip,rk3066-power-controller
>>>> +      - rockchip,rk3128-power-controller
>>>> +      - rockchip,rk3188-power-controller
>>>> +      - rockchip,rk3228-power-controller
>>>> +      - rockchip,rk3288-power-controller
>>>> +      - rockchip,rk3328-power-controller
>>>> +      - rockchip,rk3366-power-controller
>>>> +      - rockchip,rk3368-power-controller
>>>> +      - rockchip,rk3399-power-controller
>>>> +
>>>> +  '#power-domain-cells':
>>>> +    const: 1
>>>> +
>>>> +  '#address-cells':
>>>> +    const: 1
>>>> +
>>>> +  '#size-cells':
>>>> +    const: 0
>>>> +
>>>> +patternProperties:
>>>> +  "^power-domain@[0-9]+$":
>>>
>>> unit-addresses are hex.
>>>
>>>> +    type: object
>>>> +    description: |
>>>> +      Represents the power domains within the power controller node as documented
>>>> +      in Documentation/devicetree/bindings/power/power-domain.yaml.
>>>> +
>>>> +    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:
>>>> +        description: |
>>>> +          Power domain index. Valid values are defined in:
>>>> +          "include/dt-bindings/power/px30-power.h" - for PX30 type power domain.
>>>> +          "include/dt-bindings/power/rk3036-power.h" - for RK3036 type power domain.
>>>> +          "include/dt-bindings/power/rk3066-power.h" - for RK3066 type power domain.
>>>> +          "include/dt-bindings/power/rk3128-power.h" - for RK3128 type power domain.
>>>> +          "include/dt-bindings/power/rk3188-power.h" - for RK3188 type power domain.
>>>> +          "include/dt-bindings/power/rk3228-power.h" - for RK3228 type power domain.
>>>> +          "include/dt-bindings/power/rk3288-power.h" - for RK3288 type power domain.
>>>> +          "include/dt-bindings/power/rk3328-power.h" - for RK3328 type power domain.
>>>> +          "include/dt-bindings/power/rk3366-power.h" - for RK3366 type power domain.
>>>> +          "include/dt-bindings/power/rk3368-power.h" - for RK3368 type power domain.
>>>> +          "include/dt-bindings/power/rk3399-power.h" - for RK3399 type power domain.
>>>> +        maxItems: 1
>>>
>>> Range of values?
>>>
>>>> +
>>>> +      clocks:
>>>> +        description: |
>>>> +          A number of phandles to clocks that need to be enabled while power domain
>>>> +          switches state.
>>>
>>> Can you at least put a range of how many clocks?
>>>
>>>> +
>>>> +      pm_qos:
>>>> +        description: |
>>>> +          A number of phandles to qos blocks which need to be saved and restored
>>>> +          while power domain switches state.
>>>
>>> And here.
>>>
>>>> +
>>>> +    required:
>>>> +      - reg
>>>
>>>        additionalProperties: false
>>>
>>> Which in turn means the nested power domains will throw an error, so you
>>> can do:
>>>
>>>        patternProperties:
>>>          "^power-domain@[0-9a-f]+$":
>>>            $ref: '#/patternProperties/^power-domain@[0-9a-f]+$'
>>>
>>
>> When I tried this I got the following error:
>>
>> rockchip,power-controller.yaml:
>> patternProperties:^power-domain@[0-9a-f]+$:patternProperties:^power-domain@[0-9a-f]+$:$ref:
>> '#/patternProperties/^power-domain@[0-9a-f]+$' is not a
>> 'uri-reference'
>>
>> Not sure if is my environment or I am still doing something silly, can
>> you confirm that this works for you? It doesn't seem to be any binding
>> doing this actually.
> 
> I think the regex would have to be escaped to be a valid URI:
> 
> $ref: '%23/patternProperties/%5Epower-domain@%5B0-9a-f%5D+%24'
> 
> That's not the most readable nor am I sure it would get translated
> back to the right path, so it's probably going to be best to just
> define the child nodes even if duplicated.
> 

Ok, I'll define the child node then. Thank you for your support.

Cheers,
  Enric

> Rob
> 

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

WARNING: multiple messages have this Message-ID (diff)
From: Enric Balletbo i Serra <enric.balletbo@collabora.com>
To: Rob Herring <robh@kernel.org>,
	Enric Balletbo Serra <eballetbo@gmail.com>
Cc: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"Heiko Stübner" <heiko@sntech.de>,
	"Doug Anderson" <dianders@chromium.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	"open list:ARM/Rockchip SoC..."
	<linux-rockchip@lists.infradead.org>,
	"Collabora Kernel ML" <kernel@collabora.com>,
	"Linux ARM" <linux-arm-kernel@lists.infradead.org>,
	"Caesar Wang" <wxt@rock-chips.com>
Subject: Re: [PATCH v3] dt-bindings: power: rockchip: Convert to json-schema
Date: Sun, 11 Oct 2020 11:01:52 +0200	[thread overview]
Message-ID: <2623f12e-aca6-59ea-5f5e-0cd61a229004@collabora.com> (raw)
In-Reply-To: <CAL_JsqL7ej3o_qzb7r+Nmdp=YkuYciqRYYcFo4Z21OGOvkn-3A@mail.gmail.com>

Hi Rob,

On 8/10/20 21:47, Rob Herring wrote:
> On Wed, Oct 7, 2020 at 3:57 PM Enric Balletbo Serra <eballetbo@gmail.com> wrote:
>>
>> Hi Rob,
>>
>> Missatge de Rob Herring <robh@kernel.org> del dia dc., 7 d’oct. 2020 a
>> les 17:12:
>>>
>>> On Mon, Sep 21, 2020 at 11:29:51AM +0200, Enric Balletbo i Serra wrote:
>>>> Convert the soc/rockchip/power_domain.txt binding document to json-schema
>>>> and move to the power bindings directory.
>>>>
>>>> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
>>>> ---
>>>>
>>>> Changes in v3:
>>>> - Fixed tab errors found by bot
>>>>
>>>> Changes in v2:
>>>> - Fixed a warning that says that 'syscon' should not be used alone.
>>>> - Use patternProperties to define a new level for power-domains.
>>>> - Add const values for power-domain-cells, address-cells, etc.
>>>>
>>>>  .../power/rockchip,power-controller.yaml      | 207 ++++++++++++++++++
>>>>  .../bindings/soc/rockchip/power_domain.txt    | 136 ------------
>>>>  2 files changed, 207 insertions(+), 136 deletions(-)
>>>>  create mode 100644 Documentation/devicetree/bindings/power/rockchip,power-controller.yaml
>>>>  delete mode 100644 Documentation/devicetree/bindings/soc/rockchip/power_domain.txt
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/power/rockchip,power-controller.yaml b/Documentation/devicetree/bindings/power/rockchip,power-controller.yaml
>>>> new file mode 100644
>>>> index 000000000000..b23ea37e2a08
>>>> --- /dev/null
>>>> +++ b/Documentation/devicetree/bindings/power/rockchip,power-controller.yaml
>>>> @@ -0,0 +1,207 @@
>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>>> +%YAML 1.2
>>>> +---
>>>> +$id: http://devicetree.org/schemas/power/rockchip,power-controller.yaml#
>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>> +
>>>> +title: Rockchip Power Domains
>>>> +
>>>> +maintainers:
>>>> +  - Caesar Wang <wxt@rock-chips.com>
>>>> +  - Heiko Stuebner <heiko@sntech.de>
>>>> +
>>>> +description: |
>>>> +  Rockchip processors include support for multiple power domains which can be
>>>> +  powered up/down by software based on different application scenes to save power.
>>>> +
>>>> +  Power domains contained within power-controller node are generic power domain
>>>> +  providers documented in Documentation/devicetree/bindings/power/power-domain.yaml.
>>>> +
>>>> +  IP cores belonging to a power domain should contain a 'power-domains'
>>>> +  property that is a phandle for the power domain node representing the domain.
>>>> +
>>>> +properties:
>>>> +  $nodename:
>>>> +    const: power-controller
>>>> +
>>>> +  compatible:
>>>> +    enum:
>>>> +      - rockchip,px30-power-controller
>>>> +      - rockchip,rk3036-power-controller
>>>> +      - rockchip,rk3066-power-controller
>>>> +      - rockchip,rk3128-power-controller
>>>> +      - rockchip,rk3188-power-controller
>>>> +      - rockchip,rk3228-power-controller
>>>> +      - rockchip,rk3288-power-controller
>>>> +      - rockchip,rk3328-power-controller
>>>> +      - rockchip,rk3366-power-controller
>>>> +      - rockchip,rk3368-power-controller
>>>> +      - rockchip,rk3399-power-controller
>>>> +
>>>> +  '#power-domain-cells':
>>>> +    const: 1
>>>> +
>>>> +  '#address-cells':
>>>> +    const: 1
>>>> +
>>>> +  '#size-cells':
>>>> +    const: 0
>>>> +
>>>> +patternProperties:
>>>> +  "^power-domain@[0-9]+$":
>>>
>>> unit-addresses are hex.
>>>
>>>> +    type: object
>>>> +    description: |
>>>> +      Represents the power domains within the power controller node as documented
>>>> +      in Documentation/devicetree/bindings/power/power-domain.yaml.
>>>> +
>>>> +    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:
>>>> +        description: |
>>>> +          Power domain index. Valid values are defined in:
>>>> +          "include/dt-bindings/power/px30-power.h" - for PX30 type power domain.
>>>> +          "include/dt-bindings/power/rk3036-power.h" - for RK3036 type power domain.
>>>> +          "include/dt-bindings/power/rk3066-power.h" - for RK3066 type power domain.
>>>> +          "include/dt-bindings/power/rk3128-power.h" - for RK3128 type power domain.
>>>> +          "include/dt-bindings/power/rk3188-power.h" - for RK3188 type power domain.
>>>> +          "include/dt-bindings/power/rk3228-power.h" - for RK3228 type power domain.
>>>> +          "include/dt-bindings/power/rk3288-power.h" - for RK3288 type power domain.
>>>> +          "include/dt-bindings/power/rk3328-power.h" - for RK3328 type power domain.
>>>> +          "include/dt-bindings/power/rk3366-power.h" - for RK3366 type power domain.
>>>> +          "include/dt-bindings/power/rk3368-power.h" - for RK3368 type power domain.
>>>> +          "include/dt-bindings/power/rk3399-power.h" - for RK3399 type power domain.
>>>> +        maxItems: 1
>>>
>>> Range of values?
>>>
>>>> +
>>>> +      clocks:
>>>> +        description: |
>>>> +          A number of phandles to clocks that need to be enabled while power domain
>>>> +          switches state.
>>>
>>> Can you at least put a range of how many clocks?
>>>
>>>> +
>>>> +      pm_qos:
>>>> +        description: |
>>>> +          A number of phandles to qos blocks which need to be saved and restored
>>>> +          while power domain switches state.
>>>
>>> And here.
>>>
>>>> +
>>>> +    required:
>>>> +      - reg
>>>
>>>        additionalProperties: false
>>>
>>> Which in turn means the nested power domains will throw an error, so you
>>> can do:
>>>
>>>        patternProperties:
>>>          "^power-domain@[0-9a-f]+$":
>>>            $ref: '#/patternProperties/^power-domain@[0-9a-f]+$'
>>>
>>
>> When I tried this I got the following error:
>>
>> rockchip,power-controller.yaml:
>> patternProperties:^power-domain@[0-9a-f]+$:patternProperties:^power-domain@[0-9a-f]+$:$ref:
>> '#/patternProperties/^power-domain@[0-9a-f]+$' is not a
>> 'uri-reference'
>>
>> Not sure if is my environment or I am still doing something silly, can
>> you confirm that this works for you? It doesn't seem to be any binding
>> doing this actually.
> 
> I think the regex would have to be escaped to be a valid URI:
> 
> $ref: '%23/patternProperties/%5Epower-domain@%5B0-9a-f%5D+%24'
> 
> That's not the most readable nor am I sure it would get translated
> back to the right path, so it's probably going to be best to just
> define the child nodes even if duplicated.
> 

Ok, I'll define the child node then. Thank you for your support.

Cheers,
  Enric

> Rob
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2020-10-11  9:02 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-21  9:29 [PATCH v3] dt-bindings: power: rockchip: Convert to json-schema Enric Balletbo i Serra
2020-09-21  9:29 ` Enric Balletbo i Serra
2020-09-21  9:29 ` Enric Balletbo i Serra
2020-10-07 15:11 ` Rob Herring
2020-10-07 15:11   ` Rob Herring
2020-10-07 15:11   ` Rob Herring
2020-10-07 20:57   ` Enric Balletbo Serra
2020-10-07 20:57     ` Enric Balletbo Serra
2020-10-07 20:57     ` Enric Balletbo Serra
2020-10-08 19:47     ` Rob Herring
2020-10-08 19:47       ` Rob Herring
2020-10-08 19:47       ` Rob Herring
2020-10-11  9:01       ` Enric Balletbo i Serra [this message]
2020-10-11  9:01         ` Enric Balletbo i Serra
2020-10-11  9:01         ` Enric Balletbo i Serra
2020-10-11  9:56   ` Enric Balletbo i Serra
2020-10-11  9:56     ` Enric Balletbo i Serra
2020-10-11  9:56     ` Enric Balletbo i Serra
2020-10-11 10:03     ` Enric Balletbo i Serra
2020-10-11 10:03       ` Enric Balletbo i Serra
2020-10-11 10:03       ` Enric Balletbo i Serra

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2623f12e-aca6-59ea-5f5e-0cd61a229004@collabora.com \
    --to=enric.balletbo@collabora.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dianders@chromium.org \
    --cc=eballetbo@gmail.com \
    --cc=heiko@sntech.de \
    --cc=kernel@collabora.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=robh@kernel.org \
    --cc=wxt@rock-chips.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.