18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/mfd/rohm,bd71828-pmic.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: ROHM BD71828 Power Management Integrated Circuit bindings
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cidescription: |
138c2ecf20Sopenharmony_ci  BD71828GW is a single-chip power management IC for battery-powered portable
148c2ecf20Sopenharmony_ci  devices. The IC integrates 7 buck converters, 7 LDOs, and a 1500 mA
158c2ecf20Sopenharmony_ci  single-cell linear charger. Also included is a Coulomb counter, a real-time
168c2ecf20Sopenharmony_ci  clock (RTC), and a 32.768 kHz clock gate.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciproperties:
198c2ecf20Sopenharmony_ci  compatible:
208c2ecf20Sopenharmony_ci    const: rohm,bd71828
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci  reg:
238c2ecf20Sopenharmony_ci    description:
248c2ecf20Sopenharmony_ci      I2C slave address.
258c2ecf20Sopenharmony_ci    maxItems: 1
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci  interrupts:
288c2ecf20Sopenharmony_ci    maxItems: 1
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci  gpio-controller: true
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci  "#gpio-cells":
338c2ecf20Sopenharmony_ci    const: 2
348c2ecf20Sopenharmony_ci    description: |
358c2ecf20Sopenharmony_ci      The first cell is the pin number and the second cell is used to specify
368c2ecf20Sopenharmony_ci      flags. See ../gpio/gpio.txt for more information.
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci  clocks:
398c2ecf20Sopenharmony_ci    maxItems: 1
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci  "#clock-cells":
428c2ecf20Sopenharmony_ci    const: 0
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci  clock-output-names:
458c2ecf20Sopenharmony_ci    const: bd71828-32k-out
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci  rohm,charger-sense-resistor-ohms:
488c2ecf20Sopenharmony_ci    minimum: 10000000
498c2ecf20Sopenharmony_ci    maximum: 50000000
508c2ecf20Sopenharmony_ci    description: |
518c2ecf20Sopenharmony_ci      BD71827 and BD71828 have SAR ADC for measuring charging currents.
528c2ecf20Sopenharmony_ci      External sense resistor (RSENSE in data sheet) should be used. If some
538c2ecf20Sopenharmony_ci      other but 30MOhm resistor is used the resistance value should be given
548c2ecf20Sopenharmony_ci      here in Ohms.
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci  regulators:
578c2ecf20Sopenharmony_ci    $ref: ../regulator/rohm,bd71828-regulator.yaml
588c2ecf20Sopenharmony_ci    description:
598c2ecf20Sopenharmony_ci      List of child nodes that specify the regulators.
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci  leds:
628c2ecf20Sopenharmony_ci    $ref: ../leds/rohm,bd71828-leds.yaml
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci  gpio-reserved-ranges:
658c2ecf20Sopenharmony_ci    description: |
668c2ecf20Sopenharmony_ci      Usage of BD71828 GPIO pins can be changed via OTP. This property can be
678c2ecf20Sopenharmony_ci      used to mark the pins which should not be configured for GPIO. Please see
688c2ecf20Sopenharmony_ci      the ../gpio/gpio.txt for more information.
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_cirequired:
718c2ecf20Sopenharmony_ci  - compatible
728c2ecf20Sopenharmony_ci  - reg
738c2ecf20Sopenharmony_ci  - interrupts
748c2ecf20Sopenharmony_ci  - clocks
758c2ecf20Sopenharmony_ci  - "#clock-cells"
768c2ecf20Sopenharmony_ci  - regulators
778c2ecf20Sopenharmony_ci  - gpio-controller
788c2ecf20Sopenharmony_ci  - "#gpio-cells"
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ciadditionalProperties: false
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ciexamples:
838c2ecf20Sopenharmony_ci  - |
848c2ecf20Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
858c2ecf20Sopenharmony_ci    #include <dt-bindings/leds/common.h>
868c2ecf20Sopenharmony_ci    i2c {
878c2ecf20Sopenharmony_ci        #address-cells = <1>;
888c2ecf20Sopenharmony_ci        #size-cells = <0>;
898c2ecf20Sopenharmony_ci        pmic: pmic@4b {
908c2ecf20Sopenharmony_ci            compatible = "rohm,bd71828";
918c2ecf20Sopenharmony_ci            reg = <0x4b>;
928c2ecf20Sopenharmony_ci
938c2ecf20Sopenharmony_ci            interrupt-parent = <&gpio1>;
948c2ecf20Sopenharmony_ci            interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
958c2ecf20Sopenharmony_ci
968c2ecf20Sopenharmony_ci            clocks = <&osc 0>;
978c2ecf20Sopenharmony_ci            #clock-cells = <0>;
988c2ecf20Sopenharmony_ci            clock-output-names = "bd71828-32k-out";
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ci            gpio-controller;
1018c2ecf20Sopenharmony_ci            #gpio-cells = <2>;
1028c2ecf20Sopenharmony_ci            gpio-reserved-ranges = <0 1>, <2 1>;
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ci            rohm,charger-sense-resistor-ohms = <10000000>;
1058c2ecf20Sopenharmony_ci
1068c2ecf20Sopenharmony_ci            regulators {
1078c2ecf20Sopenharmony_ci                buck1: BUCK1 {
1088c2ecf20Sopenharmony_ci                    regulator-name = "buck1";
1098c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <500000>;
1108c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <2000000>;
1118c2ecf20Sopenharmony_ci                    regulator-ramp-delay = <2500>;
1128c2ecf20Sopenharmony_ci                };
1138c2ecf20Sopenharmony_ci                buck2: BUCK2 {
1148c2ecf20Sopenharmony_ci                    regulator-name = "buck2";
1158c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <500000>;
1168c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <2000000>;
1178c2ecf20Sopenharmony_ci                    regulator-ramp-delay = <2500>;
1188c2ecf20Sopenharmony_ci                };
1198c2ecf20Sopenharmony_ci                buck3: BUCK3 {
1208c2ecf20Sopenharmony_ci                    regulator-name = "buck3";
1218c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <1200000>;
1228c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <2000000>;
1238c2ecf20Sopenharmony_ci                };
1248c2ecf20Sopenharmony_ci                buck4: BUCK4 {
1258c2ecf20Sopenharmony_ci                    regulator-name = "buck4";
1268c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <1000000>;
1278c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <1800000>;
1288c2ecf20Sopenharmony_ci                };
1298c2ecf20Sopenharmony_ci                buck5: BUCK5 {
1308c2ecf20Sopenharmony_ci                    regulator-name = "buck5";
1318c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <2500000>;
1328c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <3300000>;
1338c2ecf20Sopenharmony_ci                };
1348c2ecf20Sopenharmony_ci                buck6: BUCK6 {
1358c2ecf20Sopenharmony_ci                    regulator-name = "buck6";
1368c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <500000>;
1378c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <2000000>;
1388c2ecf20Sopenharmony_ci                    regulator-ramp-delay = <2500>;
1398c2ecf20Sopenharmony_ci                };
1408c2ecf20Sopenharmony_ci                buck7: BUCK7 {
1418c2ecf20Sopenharmony_ci                    regulator-name = "buck7";
1428c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <500000>;
1438c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <2000000>;
1448c2ecf20Sopenharmony_ci                    regulator-ramp-delay = <2500>;
1458c2ecf20Sopenharmony_ci                };
1468c2ecf20Sopenharmony_ci                ldo1: LDO1 {
1478c2ecf20Sopenharmony_ci                    regulator-name = "ldo1";
1488c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <800000>;
1498c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <3300000>;
1508c2ecf20Sopenharmony_ci                };
1518c2ecf20Sopenharmony_ci                ldo2: LDO2 {
1528c2ecf20Sopenharmony_ci                    regulator-name = "ldo2";
1538c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <800000>;
1548c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <3300000>;
1558c2ecf20Sopenharmony_ci                };
1568c2ecf20Sopenharmony_ci                ldo3: LDO3 {
1578c2ecf20Sopenharmony_ci                    regulator-name = "ldo3";
1588c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <800000>;
1598c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <3300000>;
1608c2ecf20Sopenharmony_ci                };
1618c2ecf20Sopenharmony_ci                ldo4: LDO4 {
1628c2ecf20Sopenharmony_ci                    regulator-name = "ldo4";
1638c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <800000>;
1648c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <3300000>;
1658c2ecf20Sopenharmony_ci                };
1668c2ecf20Sopenharmony_ci                ldo5: LDO5 {
1678c2ecf20Sopenharmony_ci                    regulator-name = "ldo5";
1688c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <800000>;
1698c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <3300000>;
1708c2ecf20Sopenharmony_ci                };
1718c2ecf20Sopenharmony_ci                ldo6: LDO6 {
1728c2ecf20Sopenharmony_ci                    regulator-name = "ldo6";
1738c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <1800000>;
1748c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <1800000>;
1758c2ecf20Sopenharmony_ci                };
1768c2ecf20Sopenharmony_ci                ldo7_reg: LDO7 {
1778c2ecf20Sopenharmony_ci                    regulator-name = "ldo7";
1788c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <800000>;
1798c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <3300000>;
1808c2ecf20Sopenharmony_ci                };
1818c2ecf20Sopenharmony_ci            };
1828c2ecf20Sopenharmony_ci
1838c2ecf20Sopenharmony_ci            leds {
1848c2ecf20Sopenharmony_ci                compatible = "rohm,bd71828-leds";
1858c2ecf20Sopenharmony_ci
1868c2ecf20Sopenharmony_ci                led-1 {
1878c2ecf20Sopenharmony_ci                    rohm,led-compatible = "bd71828-grnled";
1888c2ecf20Sopenharmony_ci                    function = LED_FUNCTION_INDICATOR;
1898c2ecf20Sopenharmony_ci                    color = <LED_COLOR_ID_GREEN>;
1908c2ecf20Sopenharmony_ci                };
1918c2ecf20Sopenharmony_ci                led-2 {
1928c2ecf20Sopenharmony_ci                    rohm,led-compatible = "bd71828-ambled";
1938c2ecf20Sopenharmony_ci                    function = LED_FUNCTION_CHARGING;
1948c2ecf20Sopenharmony_ci                    color = <LED_COLOR_ID_AMBER>;
1958c2ecf20Sopenharmony_ci                };
1968c2ecf20Sopenharmony_ci            };
1978c2ecf20Sopenharmony_ci        };
1988c2ecf20Sopenharmony_ci    };
199