| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/regulator/adi,max77675.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Maxim MAX77675 PMIC Regulator |
| |
| maintainers: |
| - Joan Na <joan.na@analog.com> |
| |
| description: |
| The MAX77675 is a Power Management IC providing four switching buck |
| regulators (SBB0–SBB3) accessible via I2C. It supports configuration |
| of output voltages and enable controls for each regulator. |
| |
| allOf: |
| - $ref: /schemas/input/input.yaml |
| - $ref: /schemas/pinctrl/pincfg-node.yaml |
| |
| properties: |
| compatible: |
| const: adi,max77675 |
| |
| reg: |
| maxItems: 1 |
| |
| reset-time-sec: |
| description: Manual reset time in seconds |
| enum: [4, 8, 12, 16] |
| default: 4 |
| |
| bias-disable: |
| type: boolean |
| description: Disable internal pull-up for EN pin |
| |
| input-debounce: |
| description: Debounce time for the enable pin, in microseconds |
| items: |
| - enum: [100, 30000] |
| default: 100 |
| |
| adi,en-mode: |
| description: | |
| Enable mode configuration. |
| The debounce time set by 'input-debounce' applies to |
| both push-button and slide-switch modes. |
| "push-button" - A long press triggers power-on or power-down |
| "slide-switch" - Low : powers on, High : powers down |
| "logic" - Low : powers on, High : powers down (no debounce time) |
| $ref: /schemas/types.yaml#/definitions/string |
| enum: [push-button, slide-switch, logic] |
| default: slide-switch |
| |
| adi,voltage-change-latency-us: |
| description: |
| Specifies the delay (in microseconds) between an output voltage change |
| request and the start of the SBB voltage ramp. |
| enum: [10, 100] |
| default: 100 |
| |
| adi,drv-sbb-strength: |
| description: | |
| SIMO Buck-Boost Drive Strength Trim. |
| Controls the drive strength of the SIMO regulator's power MOSFETs. |
| This setting affects switching speed, impacting power efficiency and EMI. |
| "max" – Maximum drive strength (~0.6 ns transition time) |
| "high" – High drive strength (~1.2 ns transition time) |
| "low" – Low drive strength (~1.8 ns transition time) |
| "min" – Minimum drive strength (~8 ns transition time) |
| $ref: /schemas/types.yaml#/definitions/string |
| enum: [max, high, low, min] |
| default: max |
| |
| adi,dvs-slew-rate-mv-per-us: |
| description: |
| Dynamic rising slew rate for output voltage transitions, in mV/μs. |
| This setting is only used when 'adi,fixed-slew-rate' is not present. |
| enum: [5, 10] |
| default: 5 |
| |
| adi,bias-low-power-request: |
| type: boolean |
| description: Request low-power bias mode |
| |
| adi,simo-ldo-always-on: |
| type: boolean |
| description: Set internal LDO to always supply 1.8V |
| |
| regulators: |
| type: object |
| description: Regulator child nodes |
| patternProperties: |
| "^sbb[0-3]$": |
| type: object |
| $ref: regulator.yaml# |
| properties: |
| adi,fps-slot: |
| description: | |
| FPS (Flexible Power Sequencer) slot selection. |
| The Flexible Power Sequencer allows resources to power up under |
| hardware or software control. Additionally, each resource can |
| power up independently or among a group of other regulators with |
| adjustable power-up and power-down slots. |
| "slot0" - Assign to FPS Slot 0 |
| "slot1" - Assign to FPS Slot 1 |
| "slot2" - Assign to FPS Slot 2 |
| "slot3" - Assign to FPS Slot 3 |
| "default" - Use the default FPS slot value stored in register |
| $ref: /schemas/types.yaml#/definitions/string |
| enum: [slot0, slot1, slot2, slot3, default] |
| default: default |
| |
| adi,fixed-slew-rate: |
| type: boolean |
| description: |
| When this property is present, the device uses a constant 2 mV/μs |
| slew rate and ignores any dynamic slew rate configuration. |
| When absent, the device uses the dynamic slew rate specified |
| by 'adi,dvs-slew-rate-mv-per-us' |
| |
| unevaluatedProperties: false |
| |
| required: |
| - compatible |
| - reg |
| - regulators |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| i2c { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| max77675: pmic@44 { |
| compatible = "adi,max77675"; |
| reg = <0x44>; |
| |
| reset-time-sec = <4>; |
| input-debounce = <100>; |
| |
| adi,en-mode = "slide-switch"; |
| adi,voltage-change-latency-us = <100>; |
| adi,drv-sbb-strength = "max"; |
| adi,dvs-slew-rate-mv-per-us = <5>; |
| |
| regulators { |
| sbb0: sbb0 { |
| regulator-name = "sbb0"; |
| regulator-min-microvolt = <500000>; |
| regulator-max-microvolt = <5500000>; |
| adi,fps-slot = "default"; |
| adi,fixed-slew-rate; |
| }; |
| |
| sbb1: sbb1 { |
| regulator-name = "sbb1"; |
| regulator-min-microvolt = <500000>; |
| regulator-max-microvolt = <5500000>; |
| adi,fps-slot = "default"; |
| adi,fixed-slew-rate; |
| }; |
| |
| sbb2: sbb2 { |
| regulator-name = "sbb2"; |
| regulator-min-microvolt = <500000>; |
| regulator-max-microvolt = <5500000>; |
| adi,fps-slot = "default"; |
| adi,fixed-slew-rate; |
| }; |
| |
| sbb3: sbb3 { |
| regulator-name = "sbb3"; |
| regulator-min-microvolt = <500000>; |
| regulator-max-microvolt = <5500000>; |
| adi,fps-slot = "default"; |
| adi,fixed-slew-rate; |
| }; |
| }; |
| }; |
| }; |
| |