On Thu, Aug 29, 2024 at 04:30:58PM -0500, Chris Morgan wrote: > From: Chris Morgan <macromorgan@xxxxxxxxxxx> > > Document the Texas instruments BQ25703 series of charger managers/ > buck/boost regulators. > > Signed-off-by: Chris Morgan <macromorgan@xxxxxxxxxxx> > --- > .../devicetree/bindings/mfd/ti,bq25703a.yaml | 143 ++++++++++++++++++ > 1 file changed, 143 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml > > diff --git a/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml b/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml > new file mode 100644 > index 000000000000..e555aa60f9ad > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml > @@ -0,0 +1,143 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mfd/ti,bq25703a.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: BQ25703 Charger Manager/Buck/Boost Converter BQ25703A? > + > +maintainers: > + - Chris Morgan <macromorgan@xxxxxxxxxxx> > + > +properties: > + compatible: > + const: ti,bq25703a > + > + reg: > + const: 0x6b > + description: I2C slave address Drop description. > + > + interrupts: > + maxItems: 1 > + > + power-supplies: > + description: > + phandle of the power supply that provides input power > + $ref: /schemas/types.yaml#/definitions/phandle Already has a type. You need a reference to power-supply.yaml at the top level and 'maxItems: 1' here. > + > + ti,charge-current: > + description: > + maximum current to apply to charging the battery > + minimum: 0 > + maximum: 8128000 > + $ref: /schemas/types.yaml#/definitions/uint32 I guess this is copied from other TI parts, but really this should move to a property with a unit suffix. Or these shared properties moved to a shared schema so we aren't redefining the type multiple times. Same for the others here. > + > + ti,current-limit: > + description: > + maximum total input current allowed > + minimum: 50000 > + maximum: 6400000 > + default: 3250000 > + $ref: /schemas/types.yaml#/definitions/uint32 > + > + ti,max-charge-voltage: > + description: > + maximum voltage to apply to charging the battery > + minimum: 1024000 > + maximum: 19200000 > + $ref: /schemas/types.yaml#/definitions/uint32 > + > + ti,minimum-sys-voltage: > + description: > + minimum system voltage while on battery power, with default value > + depending based on cell configuration > + minimum: 1024000 > + maximum: 16128000 > + default: > + enum: [3584000, 6144000, 9216000, 16128000] > + $ref: /schemas/types.yaml#/definitions/uint32 > + > + regulators: > + type: object > + additionalProperties: false > + description: > + Boost converter regulator output of bq257xx Doesn't this apply to "usb-otg-vbus"? Really, only one regulator, so you don't need a container node. > + > + properties: > + "usb-otg-vbus": Don't need quotes. > + type: object > + $ref: /schemas/regulator/regulator.yaml > + > + properties: > + regulator-name: true > + regulator-min-microamp: > + minimum: 0 > + maximum: 6350000 > + regulator-max-microamp: > + minimum: 0 > + maximum: 6350000 > + regulator-min-microvolt: > + minimum: 4480000 > + maximum: 20800000 > + regulator-max-microvolt: > + minimum: 4480000 > + maximum: 20800000 > + enable-gpios: > + description: > + The BQ25703 may require both a register write and a GPIO > + toggle to enable the boost regulator. > + > + additionalProperties: true Nope. > + > + required: > + - regulator-name > + - regulator-min-microamp > + - regulator-max-microamp > + - regulator-min-microvolt > + - regulator-max-microvolt > + > +additionalProperties: false > + > +required: > + - compatible > + - reg > + - power-supplies > + - ti,charge-current > + - ti,current-limit > + - ti,max-charge-voltage > + - ti,minimum-sys-voltage > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + #include <dt-bindings/interrupt-controller/irq.h> > + #include <dt-bindings/pinctrl/rockchip.h> > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + bq25703: bq25703@6b { charger@6b > + compatible = "ti,bq25703a"; > + reg = <0x6b>; > + interrupt-parent = <&gpio0>; > + interrupts = <RK_PD5 IRQ_TYPE_LEVEL_LOW>; > + power-supplies = <&fusb302>; > + ti,charge-current = <2500000>; > + ti,current-limit = <5000000>; > + ti,max-charge-voltage = <8750000>; > + ti,minimum-sys-voltage = <7400000>; > + > + regulators { > + usb_otg_vbus: usb-otg-vbus { > + enable-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>; > + regulator-max-microamp = <960000>; > + regulator-max-microvolt = <5088000>; > + regulator-min-microamp = <512000>; > + regulator-min-microvolt = <4992000>; > + regulator-name = "usb_otg_vbus"; > + }; > + }; > + }; > + }; > + > +... > -- > 2.34.1 >