Files
2026-09-06 12:53:21 -06:00

137 lines
3.7 KiB
YAML

# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/samsung,s2mpg11-regulator.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Samsung S2MPG11 Power Management IC regulators
maintainers:
- André Draszik <andre.draszik@linaro.org>
description: |
This is part of the device tree bindings for the S2MG11 Power Management IC
(PMIC).
The S2MPG11 PMIC provides 12 buck, 1 buck-boost, and 15 LDO regulators.
See also Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml for
additional information and example.
properties:
buckboost:
type: object
$ref: regulator.yaml#
unevaluatedProperties: false
description:
Properties for the buck-boost regulator.
properties:
regulator-ramp-delay: false
patternProperties:
# 12 bucks
"^buck(([1-9]|10)s|[ad])$":
type: object
$ref: regulator.yaml#
unevaluatedProperties: false
description:
Properties for a single buck regulator.
allOf:
- $ref: "#/$defs/s2mpg11-ext-control"
properties:
regulator-ramp-delay:
enum: [6250, 12500, 25000]
default: 6250
# 11 standard LDOs
"^ldo([3-79]|1[01245])s$":
type: object
$ref: regulator.yaml#
unevaluatedProperties: false
description:
Properties for a single LDO regulator.
properties:
regulator-ramp-delay: false
# 2 LDOs with possible external control
"^ldo(8|13)s$":
type: object
$ref: regulator.yaml#
unevaluatedProperties: false
description:
Properties for single LDO regulator.
allOf:
- $ref: "#/$defs/s2mpg11-ext-control"
properties:
regulator-ramp-delay: false
# 2 LDOs with ramp support and possible external control
"^ldo[12]s$":
type: object
$ref: regulator.yaml#
unevaluatedProperties: false
description:
Properties for a single LDO regulator.
allOf:
- $ref: "#/$defs/s2mpg11-ext-control"
properties:
regulator-ramp-delay:
enum: [6250, 12500]
default: 6250
$defs:
s2mpg11-ext-control:
properties:
samsung,ext-control:
description: |
These rails can be controlled via one of several possible external
(hardware) signals. If so, this property configures the signal the PMIC
should monitor. The following values generally corresponding to the
respective on-chip pin are valid:
- 0 # S2MPG11_EXTCTRL_PWREN - PWREN pin
- 1 # S2MPG11_EXTCTRL_PWREN_MIF - PWREN_MIF pin
- 2 # S2MPG11_EXTCTRL_AP_ACTIVE_N - ~AP_ACTIVE_N pin
- 3 # S2MPG11_EXTCTRL_G3D_EN - G3D_EN pin
- 4 # S2MPG11_EXTCTRL_G3D_EN2 - G3D_EN & ~AP_ACTIVE_N pins
- 5 # S2MPG11_EXTCTRL_AOC_VDD - AOC_VDD pin
- 6 # S2MPG11_EXTCTRL_AOC_RET - AOC_RET pin
- 7 # S2MPG11_EXTCTRL_UFS_EN - UFS_EN pin
- 8 # S2MPG11_EXTCTRL_LDO13S_EN - VLDO13S_EN pin
$ref: /schemas/types.yaml#/definitions/uint32
minimum: 0
maximum: 8
enable-gpios:
description:
For rails where external control is done via a GPIO, this optional
property describes the GPIO line used.
dependentRequired:
enable-gpios: [ "samsung,ext-control" ]
allOf:
# Bucks 4, 6, 7 and 10 can not be controlled externally - above definition
# allows it and we deny it here. This approach reduces repetition.
- if:
anyOf:
- required: [buck4s]
- required: [buck6s]
- required: [buck7s]
- required: [buck10s]
then:
patternProperties:
"^buck([467]|10)s$":
properties:
samsung,ext-control: false
additionalProperties: false