Documentation / devicetree / bindings / regulator / adi,max77675.yaml


Based on kernel version 7.0. Page generated on 2026-04-23 09:48 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184
# 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;
          };
        };
      };
    };