# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/mfd/richtek,rt5033.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Richtek RT5033 Power Management Integrated Circuit maintainers: - Jakob Hauser <jahau@rocketmail.com> description: RT5033 is a multifunction device which includes battery charger, fuel gauge, flash LED current source, LDO and synchronous Buck converter for portable applications. It is interfaced to host controller using I2C interface. The battery fuel gauge uses a separate I2C bus. properties: compatible: const: richtek,rt5033 reg: maxItems: 1 interrupts: maxItems: 1 regulators: description: The regulators of RT5033 have to be instantiated under a sub-node named "regulators". For SAFE_LDO voltage there is only one value of 4.9 V. LDO voltage ranges from 1.2 V to 3.0 V in 0.1 V steps. BUCK voltage ranges from 1.0 V to 3.0 V in 0.1 V steps. type: object patternProperties: "^(SAFE_LDO|LDO|BUCK)$": type: object $ref: /schemas/regulator/regulator.yaml# unevaluatedProperties: false additionalProperties: false charger: type: object $ref: /schemas/power/supply/richtek,rt5033-charger.yaml# required: - compatible - reg - interrupts additionalProperties: false examples: - | #include <dt-bindings/interrupt-controller/irq.h> battery: battery { compatible = "simple-battery"; precharge-current-microamp = <450000>; constant-charge-current-max-microamp = <1000000>; charge-term-current-microamp = <150000>; precharge-upper-limit-microvolt = <3500000>; constant-charge-voltage-max-microvolt = <4350000>; }; extcon { usb_con: connector { compatible = "usb-b-connector"; label = "micro-USB"; type = "micro"; }; }; i2c { #address-cells = <1>; #size-cells = <0>; i2c@0 { #address-cells = <1>; #size-cells = <0>; reg = <0>; fuel-gauge@35 { compatible = "richtek,rt5033-battery"; reg = <0x35>; interrupt-parent = <&msmgpio>; interrupts = <121 IRQ_TYPE_EDGE_FALLING>; pinctrl-names = "default"; pinctrl-0 = <&fg_alert_default>; power-supplies = <&rt5033_charger>; }; }; i2c@1 { #address-cells = <1>; #size-cells = <0>; reg = <1>; pmic@34 { compatible = "richtek,rt5033"; reg = <0x34>; interrupt-parent = <&msmgpio>; interrupts = <62 IRQ_TYPE_EDGE_FALLING>; pinctrl-names = "default"; pinctrl-0 = <&pmic_int_default>; regulators { safe_ldo_reg: SAFE_LDO { regulator-name = "SAFE_LDO"; regulator-min-microvolt = <4900000>; regulator-max-microvolt = <4900000>; regulator-always-on; }; ldo_reg: LDO { regulator-name = "LDO"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; }; buck_reg: BUCK { regulator-name = "BUCK"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; }; }; rt5033_charger: charger { compatible = "richtek,rt5033-charger"; monitored-battery = <&battery>; richtek,usb-connector = <&usb_con>; }; }; }; };