xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/rohm,bd9576-pmic.yaml (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
12eb4d8dcSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
22eb4d8dcSEmmanuel Vadot%YAML 1.2
32eb4d8dcSEmmanuel Vadot---
42eb4d8dcSEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/rohm,bd9576-pmic.yaml#
52eb4d8dcSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
62eb4d8dcSEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: ROHM BD9576MUF and BD9573MUF Power Management Integrated Circuit
82eb4d8dcSEmmanuel Vadot
92eb4d8dcSEmmanuel Vadotmaintainers:
108bab661aSEmmanuel Vadot  - Matti Vaittinen <mazziesaccount@gmail.com>
112eb4d8dcSEmmanuel Vadot
122eb4d8dcSEmmanuel Vadotdescription: |
132eb4d8dcSEmmanuel Vadot  BD9576MUF and BD9573MUF are power management ICs primarily intended for
142eb4d8dcSEmmanuel Vadot  powering the R-Car series processors.
152eb4d8dcSEmmanuel Vadot  The IC provides 6 power outputs with configurable sequencing and safety
162eb4d8dcSEmmanuel Vadot  monitoring. A watchdog logic with slow ping/windowed modes is also included.
172eb4d8dcSEmmanuel Vadot
182eb4d8dcSEmmanuel Vadotproperties:
192eb4d8dcSEmmanuel Vadot  compatible:
202eb4d8dcSEmmanuel Vadot    enum:
212eb4d8dcSEmmanuel Vadot      - rohm,bd9576
222eb4d8dcSEmmanuel Vadot      - rohm,bd9573
232eb4d8dcSEmmanuel Vadot
242eb4d8dcSEmmanuel Vadot  reg:
252eb4d8dcSEmmanuel Vadot    description:
262eb4d8dcSEmmanuel Vadot      I2C slave address.
272eb4d8dcSEmmanuel Vadot    maxItems: 1
282eb4d8dcSEmmanuel Vadot
292eb4d8dcSEmmanuel Vadot  interrupts:
302eb4d8dcSEmmanuel Vadot    maxItems: 1
312eb4d8dcSEmmanuel Vadot
322eb4d8dcSEmmanuel Vadot  rohm,vout1-en-low:
332eb4d8dcSEmmanuel Vadot    description:
342eb4d8dcSEmmanuel Vadot      BD9576 and BD9573 VOUT1 regulator enable state can be individually
352eb4d8dcSEmmanuel Vadot      controlled by a GPIO. This is dictated by state of vout1-en pin during
362eb4d8dcSEmmanuel Vadot      the PMIC startup. If vout1-en is LOW during PMIC startup then the VOUT1
37*aa1a8ff2SEmmanuel Vadot      enable state is controlled via this pin. Set this property if vout1-en
382eb4d8dcSEmmanuel Vadot      is wired to be down at PMIC start-up.
392eb4d8dcSEmmanuel Vadot    type: boolean
402eb4d8dcSEmmanuel Vadot
412eb4d8dcSEmmanuel Vadot  rohm,vout1-en-gpios:
422eb4d8dcSEmmanuel Vadot    description:
432eb4d8dcSEmmanuel Vadot      GPIO specifier to specify the GPIO connected to vout1-en for vout1 ON/OFF
442eb4d8dcSEmmanuel Vadot      state control.
452eb4d8dcSEmmanuel Vadot    maxItems: 1
462eb4d8dcSEmmanuel Vadot
472eb4d8dcSEmmanuel Vadot  rohm,ddr-sel-low:
482eb4d8dcSEmmanuel Vadot    description:
492eb4d8dcSEmmanuel Vadot      The BD9576 and BD9573 output voltage for DDR can be selected by setting
502eb4d8dcSEmmanuel Vadot      the ddr-sel pin low or high. Set this property if ddr-sel is grounded.
512eb4d8dcSEmmanuel Vadot    type: boolean
522eb4d8dcSEmmanuel Vadot
532eb4d8dcSEmmanuel Vadot  rohm,watchdog-enable-gpios:
542eb4d8dcSEmmanuel Vadot    description: The GPIO line used to enable the watchdog.
552eb4d8dcSEmmanuel Vadot    maxItems: 1
562eb4d8dcSEmmanuel Vadot
572eb4d8dcSEmmanuel Vadot  rohm,watchdog-ping-gpios:
582eb4d8dcSEmmanuel Vadot    description: The GPIO line used to ping the watchdog.
592eb4d8dcSEmmanuel Vadot    maxItems: 1
602eb4d8dcSEmmanuel Vadot
612eb4d8dcSEmmanuel Vadot  rohm,hw-timeout-ms:
622eb4d8dcSEmmanuel Vadot    maxItems: 2
632eb4d8dcSEmmanuel Vadot    description:
64*aa1a8ff2SEmmanuel Vadot      Watchdog timeout in milliseconds. If single value is given it is
652eb4d8dcSEmmanuel Vadot      the maximum timeout. Eg. if pinging watchdog is not done within this time
662eb4d8dcSEmmanuel Vadot      limit the watchdog will be triggered. If two values are given watchdog
672eb4d8dcSEmmanuel Vadot      is configured in "window mode". Then first value is limit for short-ping
682eb4d8dcSEmmanuel Vadot      Eg. if watchdog is pinged sooner than that the watchdog will trigger.
692eb4d8dcSEmmanuel Vadot      When two values is given the second value is the maximum timeout.
702eb4d8dcSEmmanuel Vadot      # (HW) minimum for short timeout is 2ms, maximum 220 ms.
712eb4d8dcSEmmanuel Vadot      # (HW) minimum for max timeout is 4ms, maximum 4416 ms.
722eb4d8dcSEmmanuel Vadot
732eb4d8dcSEmmanuel Vadot  regulators:
742eb4d8dcSEmmanuel Vadot    $ref: ../regulator/rohm,bd9576-regulator.yaml
752eb4d8dcSEmmanuel Vadot    description:
762eb4d8dcSEmmanuel Vadot      List of child nodes that specify the regulators.
772eb4d8dcSEmmanuel Vadot
782eb4d8dcSEmmanuel Vadotrequired:
792eb4d8dcSEmmanuel Vadot  - compatible
802eb4d8dcSEmmanuel Vadot  - reg
812eb4d8dcSEmmanuel Vadot  - regulators
822eb4d8dcSEmmanuel Vadot
832eb4d8dcSEmmanuel VadotadditionalProperties: false
842eb4d8dcSEmmanuel Vadot
852eb4d8dcSEmmanuel Vadotexamples:
862eb4d8dcSEmmanuel Vadot  - |
872eb4d8dcSEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
882eb4d8dcSEmmanuel Vadot    #include <dt-bindings/leds/common.h>
892eb4d8dcSEmmanuel Vadot    i2c {
902eb4d8dcSEmmanuel Vadot        #address-cells = <1>;
912eb4d8dcSEmmanuel Vadot        #size-cells = <0>;
922eb4d8dcSEmmanuel Vadot        pmic: pmic@30 {
932eb4d8dcSEmmanuel Vadot            compatible = "rohm,bd9576";
942eb4d8dcSEmmanuel Vadot            reg = <0x30>;
952eb4d8dcSEmmanuel Vadot            rohm,vout1-en-low;
962eb4d8dcSEmmanuel Vadot            rohm,vout1-en-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
972eb4d8dcSEmmanuel Vadot            rohm,ddr-sel-low;
982eb4d8dcSEmmanuel Vadot            rohm,watchdog-enable-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
992eb4d8dcSEmmanuel Vadot            rohm,watchdog-ping-gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
1002eb4d8dcSEmmanuel Vadot            rohm,hw-timeout-ms = <150>, <2300>;
1012eb4d8dcSEmmanuel Vadot
1022eb4d8dcSEmmanuel Vadot            regulators {
1032eb4d8dcSEmmanuel Vadot                boost1: regulator-vd50 {
1042eb4d8dcSEmmanuel Vadot                    regulator-name = "VD50";
1052eb4d8dcSEmmanuel Vadot                };
1062eb4d8dcSEmmanuel Vadot                buck1: regulator-vd18 {
1072eb4d8dcSEmmanuel Vadot                    regulator-name = "VD18";
1082eb4d8dcSEmmanuel Vadot                };
1092eb4d8dcSEmmanuel Vadot                buck2: regulator-vdddr {
1102eb4d8dcSEmmanuel Vadot                    regulator-name = "VDDDR";
1112eb4d8dcSEmmanuel Vadot                };
1122eb4d8dcSEmmanuel Vadot                buck3: regulator-vd10 {
1132eb4d8dcSEmmanuel Vadot                    regulator-name = "VD10";
1142eb4d8dcSEmmanuel Vadot                };
1152eb4d8dcSEmmanuel Vadot                ldo: regulator-voutl1 {
1162eb4d8dcSEmmanuel Vadot                    regulator-name = "VOUTL1";
1172eb4d8dcSEmmanuel Vadot                };
1182eb4d8dcSEmmanuel Vadot                sw: regulator-vouts1 {
1192eb4d8dcSEmmanuel Vadot                    regulator-name = "VOUTS1";
1202eb4d8dcSEmmanuel Vadot                };
1212eb4d8dcSEmmanuel Vadot            };
1222eb4d8dcSEmmanuel Vadot        };
1232eb4d8dcSEmmanuel Vadot    };
124