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,bd9576-pmic.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: ROHM BD9576MUF and BD9573MUF Power Management Integrated Circuit bindings
0008
0009 maintainers:
0010 - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
0011
0012 description: |
0013 BD9576MUF and BD9573MUF are power management ICs primarily intended for
0014 powering the R-Car series processors.
0015 The IC provides 6 power outputs with configurable sequencing and safety
0016 monitoring. A watchdog logic with slow ping/windowed modes is also included.
0017
0018 properties:
0019 compatible:
0020 enum:
0021 - rohm,bd9576
0022 - rohm,bd9573
0023
0024 reg:
0025 description:
0026 I2C slave address.
0027 maxItems: 1
0028
0029 interrupts:
0030 maxItems: 1
0031
0032 rohm,vout1-en-low:
0033 description:
0034 BD9576 and BD9573 VOUT1 regulator enable state can be individually
0035 controlled by a GPIO. This is dictated by state of vout1-en pin during
0036 the PMIC startup. If vout1-en is LOW during PMIC startup then the VOUT1
0037 enable sate is controlled via this pin. Set this property if vout1-en
0038 is wired to be down at PMIC start-up.
0039 type: boolean
0040
0041 rohm,vout1-en-gpios:
0042 description:
0043 GPIO specifier to specify the GPIO connected to vout1-en for vout1 ON/OFF
0044 state control.
0045 maxItems: 1
0046
0047 rohm,ddr-sel-low:
0048 description:
0049 The BD9576 and BD9573 output voltage for DDR can be selected by setting
0050 the ddr-sel pin low or high. Set this property if ddr-sel is grounded.
0051 type: boolean
0052
0053 rohm,watchdog-enable-gpios:
0054 description: The GPIO line used to enable the watchdog.
0055 maxItems: 1
0056
0057 rohm,watchdog-ping-gpios:
0058 description: The GPIO line used to ping the watchdog.
0059 maxItems: 1
0060
0061 rohm,hw-timeout-ms:
0062 maxItems: 2
0063 description:
0064 Watchog timeout in milliseconds. If single value is given it is
0065 the maximum timeout. Eg. if pinging watchdog is not done within this time
0066 limit the watchdog will be triggered. If two values are given watchdog
0067 is configured in "window mode". Then first value is limit for short-ping
0068 Eg. if watchdog is pinged sooner than that the watchdog will trigger.
0069 When two values is given the second value is the maximum timeout.
0070 # (HW) minimum for short timeout is 2ms, maximum 220 ms.
0071 # (HW) minimum for max timeout is 4ms, maximum 4416 ms.
0072
0073 regulators:
0074 $ref: ../regulator/rohm,bd9576-regulator.yaml
0075 description:
0076 List of child nodes that specify the regulators.
0077
0078 required:
0079 - compatible
0080 - reg
0081 - regulators
0082
0083 additionalProperties: false
0084
0085 examples:
0086 - |
0087 #include <dt-bindings/gpio/gpio.h>
0088 #include <dt-bindings/leds/common.h>
0089 i2c {
0090 #address-cells = <1>;
0091 #size-cells = <0>;
0092 pmic: pmic@30 {
0093 compatible = "rohm,bd9576";
0094 reg = <0x30>;
0095 rohm,vout1-en-low;
0096 rohm,vout1-en-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
0097 rohm,ddr-sel-low;
0098 rohm,watchdog-enable-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
0099 rohm,watchdog-ping-gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
0100 rohm,hw-timeout-ms = <150>, <2300>;
0101
0102 regulators {
0103 boost1: regulator-vd50 {
0104 regulator-name = "VD50";
0105 };
0106 buck1: regulator-vd18 {
0107 regulator-name = "VD18";
0108 };
0109 buck2: regulator-vdddr {
0110 regulator-name = "VDDDR";
0111 };
0112 buck3: regulator-vd10 {
0113 regulator-name = "VD10";
0114 };
0115 ldo: regulator-voutl1 {
0116 regulator-name = "VOUTL1";
0117 };
0118 sw: regulator-vouts1 {
0119 regulator-name = "VOUTS1";
0120 };
0121 };
0122 };
0123 };