Re: [RFC] dt-bindings.yaml: power: supply: add bindings for TI bq24296/7

From: Rob Herring
Date: Mon Mar 30 2020 - 11:43:19 EST


On Sun, 29 Mar 2020 21:36:29 +0200, "H. Nikolaus Schaller" wrote:
> This is an attempt to define a schema for the bq24296/7
> charger and power supply controllers with battery monitoring
> and OTG booster.
>
> We model it as a dual regulator because it can generate
> a VSYS (with controllable voltage) and optionally an
> OTG voltage either from the battery or from external power
> supply.
>
> This scheme works well with e.g. the dwc3 setup of the
> OMAP5 to turn on OTG regulator on demand.
>
> The DT should provide a reference to a monitored battery
> description so that initial and operation parameters
> of the battery can be specified to control the charger
> parameters.
>
> To support different initial charging current for USB
> and AC charger mode, an optional gpio should be provided
> that the driver can use to set defaults.
>
> A driver is available and working for several years,
> but the bindings should be clarified first.
>
> The example shows what we are successfully using for
> the working system.
>
> Since the omap5 Pyra Handheld is not yet in the DTS tree,
> there would be no explicit user of this driver. So
> the plan is to submit a full patch set for the Pyra
> later.
>
> Signed-off-by: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx>
> ---
> .../bindings/power/supply/bq2429x.yaml | 122 ++++++++++++++++++
> 1 file changed, 122 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/power/supply/bq2429x.yaml
>

My bot found errors running 'make dt_binding_check' on your patch:

/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/power/supply/bq2429x.yaml: properties:monitored-battery: [{'description': 'phandle to the battery node'}, {'allOf': [{'$ref': '/schemas/types.yaml#/definitions/phandle'}]}, {'enum': [{'voltage-max-design-microvolt': [{'default': 4200000}]}, {'voltage-min-design-microvolt': [{'default': 3200000}]}, {'constant-charge-current-max-microamp': [{'default': 'as defined by boot loader'}]}, {'precharge-current-microamp': [{'default': 128000}]}, {'charge-term-current-microamp': [{'default': 128000}]}]}] is not of type 'object', 'boolean'
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/power/supply/bq2429x.yaml: properties:dc-det-gpios: {'items': [{'description': 'gpio for detecting two different DC sources'}, {'default': 'use usb-input-current-microamp only'}]} is not valid under any of the given schemas (Possible causes of the failure):
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/power/supply/bq2429x.yaml: properties:dc-det-gpios: 'maxItems' is a required property
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/power/supply/bq2429x.yaml: properties:dc-det-gpios:items: [{'description': 'gpio for detecting two different DC sources'}, {'default': 'use usb-input-current-microamp only'}] is not valid under any of the given schemas (Possible causes of the failure):
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/power/supply/bq2429x.yaml: properties:dc-det-gpios:items: [{'description': 'gpio for detecting two different DC sources'}, {'default': 'use usb-input-current-microamp only'}] is not of type 'object'
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/power/supply/bq2429x.yaml: properties:dc-det-gpios:items:1:default: 'use usb-input-current-microamp only' is not of type 'integer'


Documentation/devicetree/bindings/Makefile:12: recipe for target 'Documentation/devicetree/bindings/power/supply/bq2429x.example.dts' failed
make[1]: *** [Documentation/devicetree/bindings/power/supply/bq2429x.example.dts] Error 1
make[1]: *** Waiting for unfinished jobs....
warning: no schema found in file: Documentation/devicetree/bindings/power/supply/bq2429x.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/power/supply/bq2429x.yaml: ignoring, error in schema: properties: monitored-battery
Makefile:1262: recipe for target 'dt_binding_check' failed
make: *** [dt_binding_check] Error 2

See https://patchwork.ozlabs.org/patch/1263547

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure dt-schema is up to date:

pip3 install git+https://github.com/devicetree-org/dt-schema.git@master --upgrade

Please check and re-submit.