Re: [PATCH v4 1/2] regulator: dt-bindings: rtq2208: Add Richtek RTQ2208 SubPMIC

From: Krzysztof Kozlowski
Date: Wed Jul 19 2023 - 05:45:52 EST


On 19/07/2023 11:24, alina_yu@xxxxxxxxxxx wrote:
> From: alinayu <alina_yu@xxxxxxxxxxx>
>
> Add bindings for Richtek RTQ2208 IC controlled SubPMIC
>
> Signed-off-by: Alina Yu <alina_yu@xxxxxxxxxxx>
> ---
> v4
> - Modify filename to "richtek,rtq2208"
> - Add more desciptions for "regulator-allowed-modes"
> ---
> .../bindings/regulator/richtek,rtq2208.yaml | 208 +++++++++++++++++++++
> 1 file changed, 208 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/regulator/richtek,rtq2208.yaml
>
> diff --git a/Documentation/devicetree/bindings/regulator/richtek,rtq2208.yaml b/Documentation/devicetree/bindings/regulator/richtek,rtq2208.yaml
> new file mode 100644
> index 0000000..6cc441f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/regulator/richtek,rtq2208.yaml
> @@ -0,0 +1,208 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/regulator/richtek,rtq2208-regulator.yaml#

Please test the patch before sending.

It does not look like you tested the bindings, at least after quick
look. Please run `make dt_binding_check` (see
Documentation/devicetree/bindings/writing-schema.rst for instructions).

Also, one patchset version per day... give people time to review.


> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Richtek RTQ2208 SubPMIC Regulator
> +
> +maintainers:
> + - Alina Yu <alina_yu@xxxxxxxxxxx>
> +
> +description: |
> + RTQ2208 is a highly integrated power converter that offers functional safety dual
> + multi-configurable synchronous buck converters and two LDOs.
> +
> + Bucks support "regulator-allowed-modes" and "regulator-mode". The former defines the permitted
> + switching operation in normal mode; the latter defines the operation in suspend to RAM mode.
> +
> + No matter the RTQ2208 is configured to normal or suspend to RAM mode, there are two switching
> + operation modes for all buck rails, automatic power saving mode (Auto mode) and forced continuous
> + conduction mode (FCCM).
> +
> + The definition of modes is in the datasheet which is available in below link
> + and their meaning is::
> + 0 - Auto mode for power saving, which reducing the switching frequency at light load condition
> + to maintain high frequency.
> + 1 - FCCM to meet the strict voltage regulation accuracy, which keeping constant switching frequency.
> +
> + Datasheet will be available soon at
> + https://www.richtek.com/assets/Products
> +
> +properties:
> + compatible:
> + enum:
> + - richtek,rtq2208
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + richtek,mtp-sel:
> + type: boolean
> + description:
> + vout register selection based on this boolean value.
> + false - Using DVS0 register setting to adjust vout
> + true - Using DVS1 register setting to adjust vout
> +
> + regulators:
> + type: object
> +
> + patternProperties:
> + "^buck-[a-h]$":
> + type: object
> + $ref: regulator.yaml#
> + unevaluatedProperties: false
> + description:
> + description for buck-[a-h] regulator.
> +
> + properties:
> + regulator-allowed-modes:
> + description:
> + two buck modes in different switching accuracy.
> + 0 - Auto mode
> + 1 - FCCM
> + items:
> + enum: [0, 1]
> +
> + regulator-mode:
> + enum: [0, 1]
> + description:
> + describe buck initial operating mode in suspend state.

There is no such property on this level. Aren't you mixing initial one?

> +
> + "^ldo[1-2]$":
> + type: object
> + $ref: regulator.yaml#

Missing unevaluatedProperties: false.

> + description:
> + regulator description for ldo[1-2].
> +
> + properties:
> + regulator-compatible:
> + pattern: "^LDO[1-2]$"
> +
> + richtek,fixed-uV:
> + $ref: "/schemas/types.yaml#/definitions/uint32"

This is pointed out by schema, so standard text:
It does not look like you tested the bindings, at least after quick
look. Please run `make dt_binding_check` (see
Documentation/devicetree/bindings/writing-schema.rst for instructions).
Maybe you need to update your dtschema and yamllint.

> + enum: [ 900000, 1200000, 1800000, 3300000 ]
> + description:
> + the fixed voltage in micro volt which is decided at the factory.

I don't understand this property. Why this is different from min/max
microvolt? Plus, you use incorrect unit suffix.

> +
> +required:
> + - compatible
> + - reg
> + - regulators
> +
> +unevaluatedProperties: false

Instead: additionalProperties: false

> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + pmic@10 {
> + compatible = "richtek,rtq2208";
> + reg = <0x10>;
> + interrupts-extended = <&gpio26 0 IRQ_TYPE_LEVEL_LOW>;
> + richtek,mtp-sel;
> +
> + regulators {
> + buck-a {

Wrong indentation. If you use 2 spaces, use it consistently.

> + regulator-min-microvolt = <400000>;
> + regulator-max-microvolt = <2050000>;
> + regulator-allowed-modes = <0 1>;

...

> + };
> + ldo2 {
> + regulator-always-on;

And three spaces here?

> + richtek,fixed-uV = <3300000>;
> + regulator-state-mem {
> + regulator-on-in-suspend;
> + };
> + };
> + };
> + };
> + };

Best regards,
Krzysztof