Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/mfd/rohm,bd71815-pmic.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: ROHM BD71815 Power Management Integrated Circuit bindings
0008 
0009 maintainers:
0010   - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
0011 
0012 description: |
0013   BD71815AGW is a single-chip power management ICs for battery-powered
0014   portable devices. It integrates 5 buck converters, 8 LDOs, a boost driver
0015   for LED and a 500 mA single-cell linear charger. Also included is a Coulomb
0016   counter, a real-time clock (RTC), and a 32.768 kHz clock gate and two GPOs.
0017 
0018 properties:
0019   compatible:
0020     const: rohm,bd71815
0021 
0022   reg:
0023     description:
0024       I2C slave address.
0025     maxItems: 1
0026 
0027   interrupts:
0028     maxItems: 1
0029 
0030   gpio-controller: true
0031 
0032   "#gpio-cells":
0033     const: 2
0034     description: |
0035       The first cell is the pin number and the second cell is used to specify
0036       flags. See ../gpio/gpio.txt for more information.
0037 
0038   clocks:
0039     maxItems: 1
0040 
0041   "#clock-cells":
0042     const: 0
0043 
0044   clock-output-names:
0045     const: bd71815-32k-out
0046 
0047   rohm,clkout-open-drain:
0048     description: clk32kout mode. Set to 1 for "open-drain" or 0 for "cmos".
0049     $ref: "/schemas/types.yaml#/definitions/uint32"
0050     minimum: 0
0051     maximum: 1
0052 
0053   rohm,charger-sense-resistor-ohms:
0054     minimum: 10000000
0055     maximum: 50000000
0056     description: |
0057       BD71827 and BD71828 have SAR ADC for measuring charging currents.
0058       External sense resistor (RSENSE in data sheet) should be used. If
0059       something other but 30MOhm resistor is used the resistance value
0060       should be given here in Ohms.
0061     default: 30000000
0062 
0063   regulators:
0064     $ref: ../regulator/rohm,bd71815-regulator.yaml
0065     description:
0066       List of child nodes that specify the regulators.
0067 
0068   gpio-reserved-ranges:
0069     description: |
0070       Usage of BD71828 GPIO pins can be changed via OTP. This property can be
0071       used to mark the pins which should not be configured for GPIO. Please see
0072       the ../gpio/gpio.txt for more information.
0073 
0074   rohm,enable-hidden-gpo:
0075     description: |
0076       The BD71815 has undocumented GPO at pin E5. Pin is marked as GND at the
0077       data-sheet as its location in the middle of GND pins makes it hard to
0078       use on PCB. If your board has managed to use this pin you can enable the
0079       second GPO by defining this property. Dont enable this if you are unsure
0080       about how the E5 pin is connected on your board.
0081     type: boolean
0082 
0083 required:
0084   - compatible
0085   - reg
0086   - interrupts
0087   - clocks
0088   - "#clock-cells"
0089   - regulators
0090   - gpio-controller
0091   - "#gpio-cells"
0092 
0093 additionalProperties: false
0094 
0095 examples:
0096   - |
0097     #include <dt-bindings/interrupt-controller/irq.h>
0098     #include <dt-bindings/leds/common.h>
0099     i2c {
0100         #address-cells = <1>;
0101         #size-cells = <0>;
0102         pmic: pmic@4b {
0103             compatible = "rohm,bd71815";
0104             reg = <0x4b>;
0105 
0106             interrupt-parent = <&gpio1>;
0107             interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
0108 
0109             clocks = <&osc 0>;
0110             #clock-cells = <0>;
0111             clock-output-names = "bd71815-32k-out";
0112 
0113             gpio-controller;
0114             #gpio-cells = <2>;
0115 
0116             rohm,charger-sense-resistor-ohms = <10000000>;
0117 
0118             regulators {
0119                 buck1: buck1 {
0120                     regulator-name = "buck1";
0121                     regulator-min-microvolt = <800000>;
0122                     regulator-max-microvolt = <2000000>;
0123                     regulator-always-on;
0124                     regulator-ramp-delay = <1250>;
0125                     rohm,dvs-run-voltage = <1150000>;
0126                     rohm,dvs-suspend-voltage = <950000>;
0127                 };
0128                 buck2: buck2 {
0129                     regulator-name = "buck2";
0130                     regulator-min-microvolt = <800000>;
0131                     regulator-max-microvolt = <2000000>;
0132                     regulator-always-on;
0133                     regulator-ramp-delay = <1250>;
0134                     rohm,dvs-run-voltage = <1150000>;
0135                     rohm,dvs-suspend-voltage = <950000>;
0136                 };
0137                 buck3: buck3 {
0138                     regulator-name = "buck3";
0139                     regulator-min-microvolt = <1200000>;
0140                     regulator-max-microvolt = <2700000>;
0141                     regulator-always-on;
0142                 };
0143                 buck4: buck4 {
0144                     regulator-name = "buck4";
0145                     regulator-min-microvolt = <1100000>;
0146                     regulator-max-microvolt = <1850000>;
0147                     regulator-always-on;
0148                 };
0149                 buck5: buck5 {
0150                     regulator-name = "buck5";
0151                     regulator-min-microvolt = <1800000>;
0152                     regulator-max-microvolt = <3300000>;
0153                     regulator-always-on;
0154                 };
0155                 ldo1: ldo1 {
0156                     regulator-name = "ldo1";
0157                     regulator-min-microvolt = <800000>;
0158                     regulator-max-microvolt = <3300000>;
0159                     regulator-always-on;
0160                 };
0161                 ldo2: ldo2 {
0162                     regulator-name = "ldo2";
0163                     regulator-min-microvolt = <800000>;
0164                     regulator-max-microvolt = <3300000>;
0165                     regulator-always-on;
0166                 };
0167                 ldo3: ldo3 {
0168                     regulator-name = "ldo3";
0169                     regulator-min-microvolt = <800000>;
0170                     regulator-max-microvolt = <3300000>;
0171                     regulator-always-on;
0172                 };
0173                 ldo4: ldo4 {
0174                     regulator-name = "ldo4";
0175                     regulator-min-microvolt = <800000>;
0176                     regulator-max-microvolt = <3300000>;
0177                     regulator-always-on;
0178                 };
0179                 ldo5: ldo5 {
0180                     regulator-name = "ldo5";
0181                     regulator-min-microvolt = <800000>;
0182                     regulator-max-microvolt = <3300000>;
0183                     regulator-always-on;
0184                 };
0185                 ldo6: ldodvref {
0186                     regulator-name = "ldodvref";
0187                     regulator-always-on;
0188                 };
0189                 ldo7: ldolpsr {
0190                     regulator-name = "ldolpsr";
0191                     regulator-always-on;
0192                 };
0193 
0194                 boost: wled {
0195                     regulator-name = "wled";
0196                     regulator-min-microamp = <10>;
0197                     regulator-max-microamp = <25000>;
0198                 };
0199             };
0200         };
0201     };