|
| 1 | +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| 2 | +%YAML 1.2 |
| 3 | +--- |
| 4 | +$id: http://devicetree.org/schemas/regulator/adi,max77675.yaml# |
| 5 | +$schema: http://devicetree.org/meta-schemas/core.yaml# |
| 6 | + |
| 7 | +title: Maxim MAX77675 PMIC Regulator |
| 8 | + |
| 9 | +maintainers: |
| 10 | + - Joan Na <joan.na@analog.com> |
| 11 | + |
| 12 | +description: |
| 13 | + The MAX77675 is a Power Management IC providing four switching buck |
| 14 | + regulators (SBB0–SBB3) accessible via I2C. It supports configuration |
| 15 | + of output voltages and enable controls for each regulator. |
| 16 | + |
| 17 | +allOf: |
| 18 | + - $ref: /schemas/input/input.yaml |
| 19 | + - $ref: /schemas/pinctrl/pincfg-node.yaml |
| 20 | + |
| 21 | +properties: |
| 22 | + compatible: |
| 23 | + const: adi,max77675 |
| 24 | + |
| 25 | + reg: |
| 26 | + maxItems: 1 |
| 27 | + |
| 28 | + reset-time-sec: |
| 29 | + description: Manual reset time in seconds |
| 30 | + enum: [4, 8, 12, 16] |
| 31 | + default: 4 |
| 32 | + |
| 33 | + bias-disable: |
| 34 | + type: boolean |
| 35 | + description: Disable internal pull-up for EN pin |
| 36 | + |
| 37 | + input-debounce: |
| 38 | + description: Debounce time for the enable pin, in microseconds |
| 39 | + items: |
| 40 | + - enum: [100, 30000] |
| 41 | + default: 100 |
| 42 | + |
| 43 | + adi,en-mode: |
| 44 | + description: | |
| 45 | + Enable mode configuration. |
| 46 | + The debounce time set by 'input-debounce' applies to |
| 47 | + both push-button and slide-switch modes. |
| 48 | + "push-button" - A long press triggers power-on or power-down |
| 49 | + "slide-switch" - Low : powers on, High : powers down |
| 50 | + "logic" - Low : powers on, High : powers down (no debounce time) |
| 51 | + $ref: /schemas/types.yaml#/definitions/string |
| 52 | + enum: [push-button, slide-switch, logic] |
| 53 | + default: slide-switch |
| 54 | + |
| 55 | + adi,voltage-change-latency-us: |
| 56 | + description: |
| 57 | + Specifies the delay (in microseconds) between an output voltage change |
| 58 | + request and the start of the SBB voltage ramp. |
| 59 | + enum: [10, 100] |
| 60 | + default: 100 |
| 61 | + |
| 62 | + adi,drv-sbb-strength: |
| 63 | + description: | |
| 64 | + SIMO Buck-Boost Drive Strength Trim. |
| 65 | + Controls the drive strength of the SIMO regulator's power MOSFETs. |
| 66 | + This setting affects switching speed, impacting power efficiency and EMI. |
| 67 | + "max" – Maximum drive strength (~0.6 ns transition time) |
| 68 | + "high" – High drive strength (~1.2 ns transition time) |
| 69 | + "low" – Low drive strength (~1.8 ns transition time) |
| 70 | + "min" – Minimum drive strength (~8 ns transition time) |
| 71 | + $ref: /schemas/types.yaml#/definitions/string |
| 72 | + enum: [max, high, low, min] |
| 73 | + default: max |
| 74 | + |
| 75 | + adi,dvs-slew-rate-mv-per-us: |
| 76 | + description: |
| 77 | + Dynamic rising slew rate for output voltage transitions, in mV/μs. |
| 78 | + This setting is only used when 'adi,fixed-slew-rate' is not present. |
| 79 | + enum: [5, 10] |
| 80 | + default: 5 |
| 81 | + |
| 82 | + adi,bias-low-power-request: |
| 83 | + type: boolean |
| 84 | + description: Request low-power bias mode |
| 85 | + |
| 86 | + adi,simo-ldo-always-on: |
| 87 | + type: boolean |
| 88 | + description: Set internal LDO to always supply 1.8V |
| 89 | + |
| 90 | + regulators: |
| 91 | + type: object |
| 92 | + description: Regulator child nodes |
| 93 | + patternProperties: |
| 94 | + "^sbb[0-3]$": |
| 95 | + type: object |
| 96 | + $ref: regulator.yaml# |
| 97 | + properties: |
| 98 | + adi,fps-slot: |
| 99 | + description: | |
| 100 | + FPS (Flexible Power Sequencer) slot selection. |
| 101 | + The Flexible Power Sequencer allows resources to power up under |
| 102 | + hardware or software control. Additionally, each resource can |
| 103 | + power up independently or among a group of other regulators with |
| 104 | + adjustable power-up and power-down slots. |
| 105 | + "slot0" - Assign to FPS Slot 0 |
| 106 | + "slot1" - Assign to FPS Slot 1 |
| 107 | + "slot2" - Assign to FPS Slot 2 |
| 108 | + "slot3" - Assign to FPS Slot 3 |
| 109 | + "default" - Use the default FPS slot value stored in register |
| 110 | + $ref: /schemas/types.yaml#/definitions/string |
| 111 | + enum: [slot0, slot1, slot2, slot3, default] |
| 112 | + default: default |
| 113 | + |
| 114 | + adi,fixed-slew-rate: |
| 115 | + type: boolean |
| 116 | + description: |
| 117 | + When this property is present, the device uses a constant 2 mV/μs |
| 118 | + slew rate and ignores any dynamic slew rate configuration. |
| 119 | + When absent, the device uses the dynamic slew rate specified |
| 120 | + by 'adi,dvs-slew-rate-mv-per-us' |
| 121 | + |
| 122 | + unevaluatedProperties: false |
| 123 | + |
| 124 | +required: |
| 125 | + - compatible |
| 126 | + - reg |
| 127 | + - regulators |
| 128 | + |
| 129 | +additionalProperties: false |
| 130 | + |
| 131 | +examples: |
| 132 | + - | |
| 133 | + i2c { |
| 134 | + #address-cells = <1>; |
| 135 | + #size-cells = <0>; |
| 136 | +
|
| 137 | + max77675: pmic@44 { |
| 138 | + compatible = "adi,max77675"; |
| 139 | + reg = <0x44>; |
| 140 | +
|
| 141 | + reset-time-sec = <4>; |
| 142 | + input-debounce = <100>; |
| 143 | +
|
| 144 | + adi,en-mode = "slide-switch"; |
| 145 | + adi,voltage-change-latency-us = <100>; |
| 146 | + adi,drv-sbb-strength = "max"; |
| 147 | + adi,dvs-slew-rate-mv-per-us = <5>; |
| 148 | +
|
| 149 | + regulators { |
| 150 | + sbb0: sbb0 { |
| 151 | + regulator-name = "sbb0"; |
| 152 | + regulator-min-microvolt = <500000>; |
| 153 | + regulator-max-microvolt = <5500000>; |
| 154 | + adi,fps-slot = "default"; |
| 155 | + adi,fixed-slew-rate; |
| 156 | + }; |
| 157 | +
|
| 158 | + sbb1: sbb1 { |
| 159 | + regulator-name = "sbb1"; |
| 160 | + regulator-min-microvolt = <500000>; |
| 161 | + regulator-max-microvolt = <5500000>; |
| 162 | + adi,fps-slot = "default"; |
| 163 | + adi,fixed-slew-rate; |
| 164 | + }; |
| 165 | +
|
| 166 | + sbb2: sbb2 { |
| 167 | + regulator-name = "sbb2"; |
| 168 | + regulator-min-microvolt = <500000>; |
| 169 | + regulator-max-microvolt = <5500000>; |
| 170 | + adi,fps-slot = "default"; |
| 171 | + adi,fixed-slew-rate; |
| 172 | + }; |
| 173 | +
|
| 174 | + sbb3: sbb3 { |
| 175 | + regulator-name = "sbb3"; |
| 176 | + regulator-min-microvolt = <500000>; |
| 177 | + regulator-max-microvolt = <5500000>; |
| 178 | + adi,fps-slot = "default"; |
| 179 | + adi,fixed-slew-rate; |
| 180 | + }; |
| 181 | + }; |
| 182 | + }; |
| 183 | + }; |
| 184 | +
|
0 commit comments