# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/mfd/rohm,bd72720-pmic.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: ROHM BD72720 Power Management Integrated Circuit maintainers: - Matti Vaittinen description: BD72720 is a single-chip power management IC for battery-powered portable devices. The BD72720 integrates 10 bucks and 11 LDOs, and a 3000 mA switching charger. The IC also includes a Coulomb counter, a real-time clock (RTC), GPIOs and a 32.768 kHz clock gate. # In addition to the properties found from the charger node, the ROHM BD72720 # uses properties from a static battery node. Please see the: # Documentation/devicetree/bindings/power/supply/battery.yaml # # Following properties are used # when present: # # charge-full-design-microamp-hours: Battry capacity in mAh # voltage-max-design-microvolt: Maximum voltage # voltage-min-design-microvolt: Minimum voltage system is still operating. # degrade-cycle-microamp-hours: Capacity lost due to aging at each full # charge cycle. # ocv-capacity-celsius: Array of OCV table temperatures. 1/table. # ocv-capacity-table-: Table of OCV voltage/SOC pairs. Corresponds # N.th temperature in ocv-capacity-celsius # # volt-drop-thresh-microvolt: Threshold for starting the VDR correction # volt-drop-soc: Table of capacity values matching the # values in VDR tables. # # volt-drop-temperatures-millicelsius: Temperatures corresponding to the volage # drop values given in volt-drop-[0-9]-microvolt # # volt-drop-[0-9]-microvolt: VDR table for a temperature specified in # volt-drop-temperatures-millicelsius # # VDR tables are (usually) determined for a specific battery by ROHM. # The battery node would then be referred from the charger node: # # monitored-battery = <&battery>; properties: compatible: const: rohm,bd72720 reg: description: I2C slave address. maxItems: 1 interrupts: maxItems: 1 gpio-controller: true "#gpio-cells": const: 2 description: The first cell is the pin number and the second cell is used to specify flags. See the gpio binding document for more information. clocks: maxItems: 1 "#clock-cells": const: 0 clock-output-names: const: bd71828-32k-out rohm,clkout-open-drain: description: clk32kout mode. Set to 1 for "open-drain" or 0 for "cmos". $ref: /schemas/types.yaml#/definitions/uint32 maximum: 1 rohm,charger-sense-resistor-micro-ohms: minimum: 10000 maximum: 50000 description: BD72720 has a SAR ADC for measuring charging currents. External sense resistor (RSENSE in data sheet) should be used. If some other but 30 mOhm resistor is used the resistance value should be given here in micro Ohms. regulators: $ref: /schemas/regulator/rohm,bd72720-regulator.yaml description: List of child nodes that specify the regulators. leds: $ref: /schemas/leds/rohm,bd71828-leds.yaml rohm,pin-fault_b: $ref: /schemas/types.yaml#/definitions/string description: BD72720 has an OTP option to use fault_b-pin for different purposes. Set this property accordingly. OTP options are OTP0 - bi-directional FAULT_B or READY indicator depending on a 'sub option' OTP1 - GPO OTP2 - Power sequencer output. enum: - faultb - readyind - gpo - pwrseq patternProperties: "^rohm,pin-dvs[0-1]$": $ref: /schemas/types.yaml#/definitions/string description: BD72720 has 4 different OTP options to determine the use of dvs-pins. OTP0 - regulator RUN state control. OTP1 - GPI. OTP2 - GPO. OTP3 - Power sequencer output. This property specifies the use of the pin. enum: - dvs-input - gpi - gpo - pwrseq "^rohm,pin-exten[0-1]$": $ref: /schemas/types.yaml#/definitions/string description: BD72720 has an OTP option to use exten0-pin for different purposes. Set this property accordingly. OTP0 - GPO OTP1 - Power sequencer output. enum: - gpo - pwrseq required: - compatible - reg - interrupts - clocks - "#clock-cells" - regulators - gpio-controller - "#gpio-cells" additionalProperties: false examples: - | #include #include i2c { #address-cells = <1>; #size-cells = <0>; pmic: pmic@4b { compatible = "rohm,bd72720"; reg = <0x4b>; interrupt-parent = <&gpio1>; interrupts = <29 IRQ_TYPE_LEVEL_LOW>; clocks = <&osc 0>; #clock-cells = <0>; clock-output-names = "bd71828-32k-out"; gpio-controller; #gpio-cells = <2>; rohm,pin-dvs0 = "gpi"; rohm,pin-dvs1 = "gpi"; rohm,pin-exten0 = "gpo"; rohm,pin-exten1 = "gpo"; rohm,pin-fault_b = "faultb"; rohm,charger-sense-resistor-micro-ohms = <10000>; regulators { buck1 { regulator-name = "buck1"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <2000000>; regulator-ramp-delay = <2500>; }; buck2 { regulator-name = "buck2"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <2000000>; regulator-ramp-delay = <2500>; }; buck3 { regulator-name = "buck3"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <2000000>; }; buck4 { regulator-name = "buck4"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1800000>; }; buck5 { regulator-name = "buck5"; regulator-min-microvolt = <2500000>; regulator-max-microvolt = <3300000>; }; buck6 { regulator-name = "buck6"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <2000000>; regulator-ramp-delay = <2500>; }; buck7 { regulator-name = "buck7"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <2000000>; regulator-ramp-delay = <2500>; }; buck8 { regulator-name = "buck8"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1700000>; regulator-ramp-delay = <2500>; rohm,dvs-run-voltage = <1700000>; rohm,dvs-idle-voltage = <1>; rohm,dvs-suspend-voltage = <1>; rohm,dvs-lpsr-voltage = <0>; regulator-boot-on; }; buck9 { regulator-name = "buck9"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1700000>; regulator-ramp-delay = <2500>; rohm,dvs-run-voltage = <1700000>; rohm,dvs-idle-voltage = <1>; rohm,dvs-suspend-voltage = <1>; rohm,dvs-lpsr-voltage = <0>; regulator-boot-on; }; buck10 { regulator-name = "buck10"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1700000>; regulator-ramp-delay = <2500>; rohm,dvs-run-voltage = <1700000>; rohm,dvs-idle-voltage = <1>; rohm,dvs-suspend-voltage = <1>; rohm,dvs-lpsr-voltage = <0>; regulator-boot-on; }; ldo1 { regulator-name = "ldo1"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <3300000>; }; ldo2 { regulator-name = "ldo2"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <3300000>; }; ldo3 { regulator-name = "ldo3"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <3300000>; }; ldo4 { regulator-name = "ldo4"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <3300000>; }; ldo5 { regulator-name = "ldo5"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <3300000>; }; ldo6 { regulator-name = "ldo6"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; ldo7 { regulator-name = "ldo7"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <3300000>; }; ldo8 { regulator-name = "ldo8"; regulator-min-microvolt = <750000>; regulator-max-microvolt = <3300000>; rohm,dvs-suspend-voltage = <0>; rohm,dvs-lpsr-voltage = <1>; rohm,dvs-run-voltage = <750000>; }; ldo9 { regulator-name = "ldo9"; regulator-min-microvolt = <750000>; regulator-max-microvolt = <3300000>; rohm,dvs-suspend-voltage = <0>; rohm,dvs-lpsr-voltage = <1>; rohm,dvs-run-voltage = <750000>; }; ldo10 { regulator-name = "ldo10"; regulator-min-microvolt = <750000>; regulator-max-microvolt = <3300000>; rohm,dvs-suspend-voltage = <0>; rohm,dvs-lpsr-voltage = <1>; rohm,dvs-run-voltage = <750000>; }; ldo11 { regulator-name = "ldo11"; regulator-min-microvolt = <750000>; regulator-max-microvolt = <3300000>; rohm,dvs-suspend-voltage = <0>; rohm,dvs-lpsr-voltage = <1>; rohm,dvs-run-voltage = <750000>; }; }; leds { compatible = "rohm,bd71828-leds"; led-1 { rohm,led-compatible = "bd71828-grnled"; function = LED_FUNCTION_INDICATOR; color = ; }; led-2 { rohm,led-compatible = "bd71828-ambled"; function = LED_FUNCTION_CHARGING; color = ; }; }; }; };