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 7title: Maxim MAX77675 PMIC Regulator 8 9maintainers: 10 - Joan Na <joan.na@analog.com> 11 12description: 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 17allOf: 18 - $ref: /schemas/input/input.yaml 19 - $ref: /schemas/pinctrl/pincfg-node.yaml 20 21properties: 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 124required: 125 - compatible 126 - reg 127 - regulators 128 129additionalProperties: false 130 131examples: 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 185