Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause |
| 2 | %YAML 1.2 |
| 3 | --- |
| 4 | $id: http://devicetree.org/schemas/mfd/rohm,bd9576-pmic.yaml# |
| 5 | $schema: http://devicetree.org/meta-schemas/core.yaml# |
| 6 | |
| 7 | title: ROHM BD9576MUF and BD9573MUF Power Management Integrated Circuit |
| 8 | |
| 9 | maintainers: |
| 10 | - Matti Vaittinen <mazziesaccount@gmail.com> |
| 11 | |
| 12 | description: | |
| 13 | BD9576MUF and BD9573MUF are power management ICs primarily intended for |
| 14 | powering the R-Car series processors. |
| 15 | The IC provides 6 power outputs with configurable sequencing and safety |
| 16 | monitoring. A watchdog logic with slow ping/windowed modes is also included. |
| 17 | |
| 18 | properties: |
| 19 | compatible: |
| 20 | enum: |
| 21 | - rohm,bd9576 |
| 22 | - rohm,bd9573 |
| 23 | |
| 24 | reg: |
| 25 | description: |
| 26 | I2C slave address. |
| 27 | maxItems: 1 |
| 28 | |
| 29 | interrupts: |
| 30 | maxItems: 1 |
| 31 | |
| 32 | rohm,vout1-en-low: |
| 33 | description: |
| 34 | BD9576 and BD9573 VOUT1 regulator enable state can be individually |
| 35 | controlled by a GPIO. This is dictated by state of vout1-en pin during |
| 36 | the PMIC startup. If vout1-en is LOW during PMIC startup then the VOUT1 |
| 37 | enable state is controlled via this pin. Set this property if vout1-en |
| 38 | is wired to be down at PMIC start-up. |
| 39 | type: boolean |
| 40 | |
| 41 | rohm,vout1-en-gpios: |
| 42 | description: |
| 43 | GPIO specifier to specify the GPIO connected to vout1-en for vout1 ON/OFF |
| 44 | state control. |
| 45 | maxItems: 1 |
| 46 | |
| 47 | rohm,ddr-sel-low: |
| 48 | description: |
| 49 | The BD9576 and BD9573 output voltage for DDR can be selected by setting |
| 50 | the ddr-sel pin low or high. Set this property if ddr-sel is grounded. |
| 51 | type: boolean |
| 52 | |
| 53 | rohm,watchdog-enable-gpios: |
| 54 | description: The GPIO line used to enable the watchdog. |
| 55 | maxItems: 1 |
| 56 | |
| 57 | rohm,watchdog-ping-gpios: |
| 58 | description: The GPIO line used to ping the watchdog. |
| 59 | maxItems: 1 |
| 60 | |
| 61 | rohm,hw-timeout-ms: |
| 62 | maxItems: 2 |
| 63 | description: |
| 64 | Watchdog timeout in milliseconds. If single value is given it is |
| 65 | the maximum timeout. Eg. if pinging watchdog is not done within this time |
| 66 | limit the watchdog will be triggered. If two values are given watchdog |
| 67 | is configured in "window mode". Then first value is limit for short-ping |
| 68 | Eg. if watchdog is pinged sooner than that the watchdog will trigger. |
| 69 | When two values is given the second value is the maximum timeout. |
| 70 | # (HW) minimum for short timeout is 2ms, maximum 220 ms. |
| 71 | # (HW) minimum for max timeout is 4ms, maximum 4416 ms. |
| 72 | |
| 73 | regulators: |
| 74 | $ref: ../regulator/rohm,bd9576-regulator.yaml |
| 75 | description: |
| 76 | List of child nodes that specify the regulators. |
| 77 | |
| 78 | required: |
| 79 | - compatible |
| 80 | - reg |
| 81 | - regulators |
| 82 | |
| 83 | additionalProperties: false |
| 84 | |
| 85 | examples: |
| 86 | - | |
| 87 | #include <dt-bindings/gpio/gpio.h> |
| 88 | #include <dt-bindings/leds/common.h> |
| 89 | i2c { |
| 90 | #address-cells = <1>; |
| 91 | #size-cells = <0>; |
| 92 | pmic: pmic@30 { |
| 93 | compatible = "rohm,bd9576"; |
| 94 | reg = <0x30>; |
| 95 | rohm,vout1-en-low; |
| 96 | rohm,vout1-en-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>; |
| 97 | rohm,ddr-sel-low; |
| 98 | rohm,watchdog-enable-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>; |
| 99 | rohm,watchdog-ping-gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>; |
| 100 | rohm,hw-timeout-ms = <150>, <2300>; |
| 101 | |
| 102 | regulators { |
| 103 | boost1: regulator-vd50 { |
| 104 | regulator-name = "VD50"; |
| 105 | }; |
| 106 | buck1: regulator-vd18 { |
| 107 | regulator-name = "VD18"; |
| 108 | }; |
| 109 | buck2: regulator-vdddr { |
| 110 | regulator-name = "VDDDR"; |
| 111 | }; |
| 112 | buck3: regulator-vd10 { |
| 113 | regulator-name = "VD10"; |
| 114 | }; |
| 115 | ldo: regulator-voutl1 { |
| 116 | regulator-name = "VOUTL1"; |
| 117 | }; |
| 118 | sw: regulator-vouts1 { |
| 119 | regulator-name = "VOUTS1"; |
| 120 | }; |
| 121 | }; |
| 122 | }; |
| 123 | }; |