Files
linux/Documentation/devicetree/bindings/regulator/adi,max77675.yaml
Joan Na 05a0fe8e43 regulator: dt-bindings: Add MAX77675 regulator
Add device tree binding YAML schema for the Maxim MAX77675 PMIC regulator.

Signed-off-by: Joan Na <joan.na@analog.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20251207032907.4850-2-joan.na@analog.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-12-14 19:37:47 +09:00

185 lines
5.5 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 (SBB0SBB3) 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;
};
};
};
};