1*b54185c1SJakob Hauser# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*b54185c1SJakob Hauser%YAML 1.2 3*b54185c1SJakob Hauser--- 4*b54185c1SJakob Hauser$id: http://devicetree.org/schemas/mfd/richtek,rt5033.yaml# 5*b54185c1SJakob Hauser$schema: http://devicetree.org/meta-schemas/core.yaml# 6*b54185c1SJakob Hauser 7*b54185c1SJakob Hausertitle: Richtek RT5033 Power Management Integrated Circuit 8*b54185c1SJakob Hauser 9*b54185c1SJakob Hausermaintainers: 10*b54185c1SJakob Hauser - Jakob Hauser <jahau@rocketmail.com> 11*b54185c1SJakob Hauser 12*b54185c1SJakob Hauserdescription: 13*b54185c1SJakob Hauser RT5033 is a multifunction device which includes battery charger, fuel gauge, 14*b54185c1SJakob Hauser flash LED current source, LDO and synchronous Buck converter for portable 15*b54185c1SJakob Hauser applications. It is interfaced to host controller using I2C interface. The 16*b54185c1SJakob Hauser battery fuel gauge uses a separate I2C bus. 17*b54185c1SJakob Hauser 18*b54185c1SJakob Hauserproperties: 19*b54185c1SJakob Hauser compatible: 20*b54185c1SJakob Hauser const: richtek,rt5033 21*b54185c1SJakob Hauser 22*b54185c1SJakob Hauser reg: 23*b54185c1SJakob Hauser maxItems: 1 24*b54185c1SJakob Hauser 25*b54185c1SJakob Hauser interrupts: 26*b54185c1SJakob Hauser maxItems: 1 27*b54185c1SJakob Hauser 28*b54185c1SJakob Hauser regulators: 29*b54185c1SJakob Hauser description: 30*b54185c1SJakob Hauser The regulators of RT5033 have to be instantiated under a sub-node named 31*b54185c1SJakob Hauser "regulators". For SAFE_LDO voltage there is only one value of 4.9 V. LDO 32*b54185c1SJakob Hauser voltage ranges from 1.2 V to 3.0 V in 0.1 V steps. BUCK voltage ranges 33*b54185c1SJakob Hauser from 1.0 V to 3.0 V in 0.1 V steps. 34*b54185c1SJakob Hauser type: object 35*b54185c1SJakob Hauser patternProperties: 36*b54185c1SJakob Hauser "^(SAFE_LDO|LDO|BUCK)$": 37*b54185c1SJakob Hauser type: object 38*b54185c1SJakob Hauser $ref: /schemas/regulator/regulator.yaml# 39*b54185c1SJakob Hauser unevaluatedProperties: false 40*b54185c1SJakob Hauser additionalProperties: false 41*b54185c1SJakob Hauser 42*b54185c1SJakob Hauser charger: 43*b54185c1SJakob Hauser type: object 44*b54185c1SJakob Hauser $ref: /schemas/power/supply/richtek,rt5033-charger.yaml# 45*b54185c1SJakob Hauser 46*b54185c1SJakob Hauserrequired: 47*b54185c1SJakob Hauser - compatible 48*b54185c1SJakob Hauser - reg 49*b54185c1SJakob Hauser - interrupts 50*b54185c1SJakob Hauser 51*b54185c1SJakob HauseradditionalProperties: false 52*b54185c1SJakob Hauser 53*b54185c1SJakob Hauserexamples: 54*b54185c1SJakob Hauser - | 55*b54185c1SJakob Hauser #include <dt-bindings/interrupt-controller/irq.h> 56*b54185c1SJakob Hauser 57*b54185c1SJakob Hauser battery: battery { 58*b54185c1SJakob Hauser compatible = "simple-battery"; 59*b54185c1SJakob Hauser precharge-current-microamp = <450000>; 60*b54185c1SJakob Hauser constant-charge-current-max-microamp = <1000000>; 61*b54185c1SJakob Hauser charge-term-current-microamp = <150000>; 62*b54185c1SJakob Hauser precharge-upper-limit-microvolt = <3500000>; 63*b54185c1SJakob Hauser constant-charge-voltage-max-microvolt = <4350000>; 64*b54185c1SJakob Hauser }; 65*b54185c1SJakob Hauser 66*b54185c1SJakob Hauser extcon { 67*b54185c1SJakob Hauser usb_con: connector { 68*b54185c1SJakob Hauser compatible = "usb-b-connector"; 69*b54185c1SJakob Hauser label = "micro-USB"; 70*b54185c1SJakob Hauser type = "micro"; 71*b54185c1SJakob Hauser }; 72*b54185c1SJakob Hauser }; 73*b54185c1SJakob Hauser 74*b54185c1SJakob Hauser i2c { 75*b54185c1SJakob Hauser #address-cells = <1>; 76*b54185c1SJakob Hauser #size-cells = <0>; 77*b54185c1SJakob Hauser 78*b54185c1SJakob Hauser i2c@0 { 79*b54185c1SJakob Hauser #address-cells = <1>; 80*b54185c1SJakob Hauser #size-cells = <0>; 81*b54185c1SJakob Hauser reg = <0>; 82*b54185c1SJakob Hauser 83*b54185c1SJakob Hauser fuel-gauge@35 { 84*b54185c1SJakob Hauser compatible = "richtek,rt5033-battery"; 85*b54185c1SJakob Hauser reg = <0x35>; 86*b54185c1SJakob Hauser 87*b54185c1SJakob Hauser interrupt-parent = <&msmgpio>; 88*b54185c1SJakob Hauser interrupts = <121 IRQ_TYPE_EDGE_FALLING>; 89*b54185c1SJakob Hauser 90*b54185c1SJakob Hauser pinctrl-names = "default"; 91*b54185c1SJakob Hauser pinctrl-0 = <&fg_alert_default>; 92*b54185c1SJakob Hauser 93*b54185c1SJakob Hauser power-supplies = <&rt5033_charger>; 94*b54185c1SJakob Hauser }; 95*b54185c1SJakob Hauser }; 96*b54185c1SJakob Hauser 97*b54185c1SJakob Hauser i2c@1 { 98*b54185c1SJakob Hauser #address-cells = <1>; 99*b54185c1SJakob Hauser #size-cells = <0>; 100*b54185c1SJakob Hauser reg = <1>; 101*b54185c1SJakob Hauser 102*b54185c1SJakob Hauser pmic@34 { 103*b54185c1SJakob Hauser compatible = "richtek,rt5033"; 104*b54185c1SJakob Hauser reg = <0x34>; 105*b54185c1SJakob Hauser 106*b54185c1SJakob Hauser interrupt-parent = <&msmgpio>; 107*b54185c1SJakob Hauser interrupts = <62 IRQ_TYPE_EDGE_FALLING>; 108*b54185c1SJakob Hauser 109*b54185c1SJakob Hauser pinctrl-names = "default"; 110*b54185c1SJakob Hauser pinctrl-0 = <&pmic_int_default>; 111*b54185c1SJakob Hauser 112*b54185c1SJakob Hauser regulators { 113*b54185c1SJakob Hauser safe_ldo_reg: SAFE_LDO { 114*b54185c1SJakob Hauser regulator-name = "SAFE_LDO"; 115*b54185c1SJakob Hauser regulator-min-microvolt = <4900000>; 116*b54185c1SJakob Hauser regulator-max-microvolt = <4900000>; 117*b54185c1SJakob Hauser regulator-always-on; 118*b54185c1SJakob Hauser }; 119*b54185c1SJakob Hauser ldo_reg: LDO { 120*b54185c1SJakob Hauser regulator-name = "LDO"; 121*b54185c1SJakob Hauser regulator-min-microvolt = <2800000>; 122*b54185c1SJakob Hauser regulator-max-microvolt = <2800000>; 123*b54185c1SJakob Hauser }; 124*b54185c1SJakob Hauser buck_reg: BUCK { 125*b54185c1SJakob Hauser regulator-name = "BUCK"; 126*b54185c1SJakob Hauser regulator-min-microvolt = <1200000>; 127*b54185c1SJakob Hauser regulator-max-microvolt = <1200000>; 128*b54185c1SJakob Hauser }; 129*b54185c1SJakob Hauser }; 130*b54185c1SJakob Hauser 131*b54185c1SJakob Hauser rt5033_charger: charger { 132*b54185c1SJakob Hauser compatible = "richtek,rt5033-charger"; 133*b54185c1SJakob Hauser monitored-battery = <&battery>; 134*b54185c1SJakob Hauser richtek,usb-connector = <&usb_con>; 135*b54185c1SJakob Hauser }; 136*b54185c1SJakob Hauser }; 137*b54185c1SJakob Hauser }; 138*b54185c1SJakob Hauser }; 139