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,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     };