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