From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Samuel Holland <samuel@sholland.org>,
Chen-Yu Tsai <wens@csie.org>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Rob Herring <robh+dt@kernel.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>,
Maxime Ripard <mripard@kernel.org>,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev
Subject: Re: [PATCH v3 1/4] regulator: dt-bindings: Add Allwinner D1 LDOs
Date: Wed, 17 Aug 2022 11:27:31 +0300 [thread overview]
Message-ID: <29e6a293-29c4-a9ab-0767-9adfa982226b@linaro.org> (raw)
In-Reply-To: <03de0f7b-9251-a5c0-91a1-5f2b5d41d8a0@sholland.org>
On 17/08/2022 11:15, Samuel Holland wrote:
>>> +
>>> +properties:
>>> + compatible:
>>> + enum:
>>> + - allwinner,sun20i-d1-analog-ldos
>>> +
>>> + reg:
>>> + maxItems: 1
>>> +
>>> + nvmem-cells:
>>> + items:
>>> + - description: NVMEM cell for the calibrated bandgap reference trim value
>>> +
>>> + nvmem-cell-names:
>>> + items:
>>> + - const: bg_trim
>>> +
>>> +patternProperties:
>>> + "^(a|hp)ldo$":
>>> + type: object
>>> + $ref: regulator.yaml#
>>> + unevaluatedProperties: false
>>> +
>>> +required:
>>> + - compatible
>>> + - reg
>>> + - nvmem-cells
>>> + - nvmem-cell-names
>>> +
>>> +unevaluatedProperties: false
>>> +
>>> +examples:
>>> + - |
>>> + audio-codec@2030000 {
>>> + compatible = "simple-mfd", "syscon";
>>
>> This cannot be on its own. Both require device specific compatible.
>
> Again, the device-specific compatible does not exist, because the binding for
> the audio codec has not been written (and it will be quite nontrivial).
>
> So I can:
> 1) Leave the example as-is until the audio codec binding gets written,
> and fill in the specific compatible at that time.
> 2) Remove the example, with the reasoning that the example really
> belongs with the MFD parent (like for the other regulator). Then
> there will be no example until the audio codec binding is written.
> 3) Drop the analog LDOs from this series entirely, and some parts
> of the SoC (like thermal monitoring) cannot be added to the DTSI
> until the audio codec binding is written.
>
> What do you think?
How about just removing the audio-codec node? The schema is about
regulators, not audio-codec.
OTOH, if you have parent device schema, you could put the example only
there. But as I understand, you don't have, right?
>
> The same question applies for the D1 SoC DTSI, where I use this same construct.
This is not correct and should be fixed. Either you add the schema with
compatible or please drop the device node from the DTSI.
>
> (And technically this does validate with the current schema.)
>
>>> + reg = <0x2030000 0x1000>;
>>> + ranges;
>>> + #address-cells = <1>;
>>> + #size-cells = <1>;
>>> +
>>> + regulators@2030348 {
>>> + compatible = "allwinner,sun20i-d1-analog-ldos";
>>> + reg = <0x2030348 0x4>;
>>> + nvmem-cells = <&bg_trim>;
>>> + nvmem-cell-names = "bg_trim";
>>> +
>>> + reg_aldo: aldo {
>>> + regulator-min-microvolt = <1800000>;
>>> + regulator-max-microvolt = <1800000>;
>>> + };
>>> +
>>> + reg_hpldo: hpldo {
>>> + regulator-min-microvolt = <1800000>;
>>> + regulator-max-microvolt = <1800000>;
>>> + };
>>> + };
>>> + };
>>> +
>>> +...
>>> diff --git a/Documentation/devicetree/bindings/regulator/allwinner,sun20i-d1-system-ldos.yaml b/Documentation/devicetree/bindings/regulator/allwinner,sun20i-d1-system-ldos.yaml
>>> new file mode 100644
>>> index 000000000000..e3e2810fb3d7
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/regulator/allwinner,sun20i-d1-system-ldos.yaml
>>> @@ -0,0 +1,37 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/regulator/allwinner,sun20i-d1-system-ldos.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Allwinner D1 System LDOs
>>> +
>>> +description:
>>> + Allwinner D1 contains a pair of general-purpose LDOs which are designed to
>>> + supply power inside and outside the SoC. They are controlled by a register
>>> + within the system control MMIO space.
>>
>> Fix order.
>>
>>
>>> +
>>> +maintainers:
>>> + - Samuel Holland <samuel@sholland.org>
>>> +
>>> +properties:
>>> + compatible:
>>> + enum:
>>> + - allwinner,sun20i-d1-system-ldos
>>> +
>>> + reg:
>>> + maxItems: 1
>>> +
>>> +patternProperties:
>>> + "^ldo[ab]$":
>>> + type: object
>>> + $ref: regulator.yaml#
>>> + unevaluatedProperties: false
>>> +
>>> +required:
>>> + - compatible
>>> + - reg
>>> +
>>> +unevaluatedProperties: false
>>
>>
>> Example please.
>
> Rob asked me to move the example to the parent binding, so I did. The example is
> added in patch 3.
Yeah, I noticed it later. It's fine.
Best regards,
Krzysztof
WARNING: multiple messages have this Message-ID (diff)
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Samuel Holland <samuel@sholland.org>,
Chen-Yu Tsai <wens@csie.org>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Rob Herring <robh+dt@kernel.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>,
Maxime Ripard <mripard@kernel.org>,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev
Subject: Re: [PATCH v3 1/4] regulator: dt-bindings: Add Allwinner D1 LDOs
Date: Wed, 17 Aug 2022 11:27:31 +0300 [thread overview]
Message-ID: <29e6a293-29c4-a9ab-0767-9adfa982226b@linaro.org> (raw)
In-Reply-To: <03de0f7b-9251-a5c0-91a1-5f2b5d41d8a0@sholland.org>
On 17/08/2022 11:15, Samuel Holland wrote:
>>> +
>>> +properties:
>>> + compatible:
>>> + enum:
>>> + - allwinner,sun20i-d1-analog-ldos
>>> +
>>> + reg:
>>> + maxItems: 1
>>> +
>>> + nvmem-cells:
>>> + items:
>>> + - description: NVMEM cell for the calibrated bandgap reference trim value
>>> +
>>> + nvmem-cell-names:
>>> + items:
>>> + - const: bg_trim
>>> +
>>> +patternProperties:
>>> + "^(a|hp)ldo$":
>>> + type: object
>>> + $ref: regulator.yaml#
>>> + unevaluatedProperties: false
>>> +
>>> +required:
>>> + - compatible
>>> + - reg
>>> + - nvmem-cells
>>> + - nvmem-cell-names
>>> +
>>> +unevaluatedProperties: false
>>> +
>>> +examples:
>>> + - |
>>> + audio-codec@2030000 {
>>> + compatible = "simple-mfd", "syscon";
>>
>> This cannot be on its own. Both require device specific compatible.
>
> Again, the device-specific compatible does not exist, because the binding for
> the audio codec has not been written (and it will be quite nontrivial).
>
> So I can:
> 1) Leave the example as-is until the audio codec binding gets written,
> and fill in the specific compatible at that time.
> 2) Remove the example, with the reasoning that the example really
> belongs with the MFD parent (like for the other regulator). Then
> there will be no example until the audio codec binding is written.
> 3) Drop the analog LDOs from this series entirely, and some parts
> of the SoC (like thermal monitoring) cannot be added to the DTSI
> until the audio codec binding is written.
>
> What do you think?
How about just removing the audio-codec node? The schema is about
regulators, not audio-codec.
OTOH, if you have parent device schema, you could put the example only
there. But as I understand, you don't have, right?
>
> The same question applies for the D1 SoC DTSI, where I use this same construct.
This is not correct and should be fixed. Either you add the schema with
compatible or please drop the device node from the DTSI.
>
> (And technically this does validate with the current schema.)
>
>>> + reg = <0x2030000 0x1000>;
>>> + ranges;
>>> + #address-cells = <1>;
>>> + #size-cells = <1>;
>>> +
>>> + regulators@2030348 {
>>> + compatible = "allwinner,sun20i-d1-analog-ldos";
>>> + reg = <0x2030348 0x4>;
>>> + nvmem-cells = <&bg_trim>;
>>> + nvmem-cell-names = "bg_trim";
>>> +
>>> + reg_aldo: aldo {
>>> + regulator-min-microvolt = <1800000>;
>>> + regulator-max-microvolt = <1800000>;
>>> + };
>>> +
>>> + reg_hpldo: hpldo {
>>> + regulator-min-microvolt = <1800000>;
>>> + regulator-max-microvolt = <1800000>;
>>> + };
>>> + };
>>> + };
>>> +
>>> +...
>>> diff --git a/Documentation/devicetree/bindings/regulator/allwinner,sun20i-d1-system-ldos.yaml b/Documentation/devicetree/bindings/regulator/allwinner,sun20i-d1-system-ldos.yaml
>>> new file mode 100644
>>> index 000000000000..e3e2810fb3d7
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/regulator/allwinner,sun20i-d1-system-ldos.yaml
>>> @@ -0,0 +1,37 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/regulator/allwinner,sun20i-d1-system-ldos.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Allwinner D1 System LDOs
>>> +
>>> +description:
>>> + Allwinner D1 contains a pair of general-purpose LDOs which are designed to
>>> + supply power inside and outside the SoC. They are controlled by a register
>>> + within the system control MMIO space.
>>
>> Fix order.
>>
>>
>>> +
>>> +maintainers:
>>> + - Samuel Holland <samuel@sholland.org>
>>> +
>>> +properties:
>>> + compatible:
>>> + enum:
>>> + - allwinner,sun20i-d1-system-ldos
>>> +
>>> + reg:
>>> + maxItems: 1
>>> +
>>> +patternProperties:
>>> + "^ldo[ab]$":
>>> + type: object
>>> + $ref: regulator.yaml#
>>> + unevaluatedProperties: false
>>> +
>>> +required:
>>> + - compatible
>>> + - reg
>>> +
>>> +unevaluatedProperties: false
>>
>>
>> Example please.
>
> Rob asked me to move the example to the parent binding, so I did. The example is
> added in patch 3.
Yeah, I noticed it later. It's fine.
Best regards,
Krzysztof
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-08-17 8:27 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-15 4:34 [PATCH v3 0/4] regulator: Add support for Allwinner D1 LDOs Samuel Holland
2022-08-15 4:34 ` Samuel Holland
2022-08-15 4:34 ` [PATCH v3 1/4] regulator: dt-bindings: Add " Samuel Holland
2022-08-15 4:34 ` Samuel Holland
2022-08-15 15:32 ` Heiko Stübner
2022-08-15 15:32 ` Heiko Stübner
2022-08-16 10:00 ` Krzysztof Kozlowski
2022-08-16 10:00 ` Krzysztof Kozlowski
2022-08-16 9:55 ` Krzysztof Kozlowski
2022-08-16 9:55 ` Krzysztof Kozlowski
2022-08-17 8:15 ` Samuel Holland
2022-08-17 8:15 ` Samuel Holland
2022-08-17 8:27 ` Krzysztof Kozlowski [this message]
2022-08-17 8:27 ` Krzysztof Kozlowski
2022-08-17 8:39 ` Samuel Holland
2022-08-17 8:39 ` Samuel Holland
2022-08-17 8:46 ` Krzysztof Kozlowski
2022-08-17 8:46 ` Krzysztof Kozlowski
2022-08-17 13:46 ` Krzysztof Kozlowski
2022-08-17 13:46 ` Krzysztof Kozlowski
2022-08-16 9:57 ` Krzysztof Kozlowski
2022-08-16 9:57 ` Krzysztof Kozlowski
2022-08-15 4:34 ` [PATCH v3 2/4] regulator: sun20i: Add support for " Samuel Holland
2022-08-15 4:34 ` Samuel Holland
2022-08-15 17:00 ` Heiko Stübner
2022-08-15 17:00 ` Heiko Stübner
2022-08-17 8:28 ` Samuel Holland
2022-08-17 8:28 ` Samuel Holland
2022-08-17 10:01 ` Heiko Stübner
2022-08-17 10:01 ` Heiko Stübner
2022-08-15 4:34 ` [PATCH v3 3/4] dt-bindings: sram: sunxi-sram: Add optional regulators child Samuel Holland
2022-08-15 4:34 ` Samuel Holland
2022-08-15 14:01 ` Rob Herring
2022-08-15 14:01 ` Rob Herring
2022-08-15 17:02 ` Heiko Stübner
2022-08-15 17:02 ` Heiko Stübner
2022-08-16 9:59 ` Krzysztof Kozlowski
2022-08-16 9:59 ` Krzysztof Kozlowski
2022-08-17 8:47 ` Samuel Holland
2022-08-17 8:47 ` Samuel Holland
2022-08-17 13:22 ` Krzysztof Kozlowski
2022-08-17 13:22 ` Krzysztof Kozlowski
2022-08-15 4:34 ` [PATCH v3 4/4] soc: sunxi: sram: Only iterate over SRAM children Samuel Holland
2022-08-15 4:34 ` Samuel Holland
2022-08-15 17:04 ` Heiko Stübner
2022-08-15 17:04 ` Heiko Stübner
2022-08-16 10:01 ` Krzysztof Kozlowski
2022-08-16 10:01 ` Krzysztof Kozlowski
2022-08-16 10:03 ` Krzysztof Kozlowski
2022-08-16 10:03 ` Krzysztof Kozlowski
2022-08-17 8:50 ` Samuel Holland
2022-08-17 8:50 ` Samuel Holland
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=29e6a293-29c4-a9ab-0767-9adfa982226b@linaro.org \
--to=krzysztof.kozlowski@linaro.org \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jernej.skrabec@gmail.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sunxi@lists.linux.dev \
--cc=mripard@kernel.org \
--cc=robh+dt@kernel.org \
--cc=samuel@sholland.org \
--cc=wens@csie.org \
/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.