159 lines
4.4 KiB
YAML
159 lines
4.4 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/regulator/samsung,s2mpg10-regulator.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Samsung S2MPG10 Power Management IC regulators
|
|
|
|
maintainers:
|
|
- André Draszik <andre.draszik@linaro.org>
|
|
|
|
description: |
|
|
This is part of the device tree bindings for the S2MG10 Power Management IC
|
|
(PMIC).
|
|
|
|
The S2MPG10 PMIC provides 10 buck and 31 LDO regulators.
|
|
|
|
See also Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml for
|
|
additional information and example.
|
|
|
|
properties:
|
|
# 1 LDO with possible (but limited) external control
|
|
ldo20m:
|
|
type: object
|
|
$ref: regulator.yaml#
|
|
unevaluatedProperties: false
|
|
description:
|
|
Properties for a single LDO regulator.
|
|
|
|
allOf:
|
|
- $ref: "#/$defs/s2mpg10-ext-control"
|
|
|
|
properties:
|
|
regulator-ramp-delay: false
|
|
|
|
samsung,ext-control:
|
|
minimum: 11
|
|
|
|
patternProperties:
|
|
# 10 bucks
|
|
"^buck([1-9]|10)m$":
|
|
type: object
|
|
$ref: regulator.yaml#
|
|
unevaluatedProperties: false
|
|
description:
|
|
Properties for a single buck regulator.
|
|
|
|
allOf:
|
|
- $ref: "#/$defs/s2mpg10-ext-control"
|
|
|
|
properties:
|
|
regulator-ramp-delay:
|
|
enum: [6250, 12500, 25000]
|
|
default: 6250
|
|
|
|
samsung,ext-control:
|
|
maximum: 10
|
|
|
|
# 12 standard LDOs
|
|
"^ldo(2[1-9]?|3[0-1])m$":
|
|
type: object
|
|
$ref: regulator.yaml#
|
|
unevaluatedProperties: false
|
|
description:
|
|
Properties for single LDO regulator.
|
|
|
|
properties:
|
|
regulator-ramp-delay: false
|
|
|
|
# 12 LDOs with possible external control
|
|
"^ldo([3-689]|1[046-9])m$":
|
|
type: object
|
|
$ref: regulator.yaml#
|
|
unevaluatedProperties: false
|
|
description:
|
|
Properties for a single LDO regulator.
|
|
|
|
allOf:
|
|
- $ref: "#/$defs/s2mpg10-ext-control"
|
|
|
|
properties:
|
|
regulator-ramp-delay: false
|
|
|
|
samsung,ext-control:
|
|
maximum: 10
|
|
|
|
# 6 LDOs with ramp support, 5 out of those with possible external control
|
|
"^ldo(1[1235]?|7)m$":
|
|
type: object
|
|
$ref: regulator.yaml#
|
|
unevaluatedProperties: false
|
|
description:
|
|
Properties for a single LDO regulator.
|
|
|
|
allOf:
|
|
- $ref: "#/$defs/s2mpg10-ext-control"
|
|
|
|
properties:
|
|
regulator-ramp-delay:
|
|
enum: [6250, 12500]
|
|
default: 6250
|
|
|
|
samsung,ext-control:
|
|
maximum: 10
|
|
|
|
$defs:
|
|
s2mpg10-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. For S2MPG10 rails where external control is possible other
|
|
than ldo20m, the following values generally corresponding to the
|
|
respective on-chip pin are valid:
|
|
- 0 # S2MPG10_EXTCTRL_PWREN - PWREN pin
|
|
- 1 # S2MPG10_EXTCTRL_PWREN_MIF - PWREN_MIF pin
|
|
- 2 # S2MPG10_EXTCTRL_AP_ACTIVE_N - ~AP_ACTIVE_N pin
|
|
- 3 # S2MPG10_EXTCTRL_CPUCL1_EN - CPUCL1_EN pin
|
|
- 4 # S2MPG10_EXTCTRL_CPUCL1_EN2 - CPUCL1_EN & PWREN pins
|
|
- 5 # S2MPG10_EXTCTRL_CPUCL2_EN - CPUCL2_EN pin
|
|
- 6 # S2MPG10_EXTCTRL_CPUCL2_EN2 - CPUCL2_E2 & PWREN pins
|
|
- 7 # S2MPG10_EXTCTRL_TPU_EN - TPU_EN pin
|
|
- 8 # S2MPG10_EXTCTRL_TPU_EN2 - TPU_EN & ~AP_ACTIVE_N pins
|
|
- 9 # S2MPG10_EXTCTRL_TCXO_ON - TCXO_ON pin
|
|
- 10 # S2MPG10_EXTCTRL_TCXO_ON2 - TCXO_ON & ~AP_ACTIVE_N pins
|
|
|
|
For S2MPG10 ldo20m, the following values are valid
|
|
- 11 # S2MPG10_EXTCTRL_LDO20M_EN2 - VLDO20M_EN & LDO20M_SFR
|
|
- 12 # S2MPG10_EXTCTRL_LDO20M_EN - VLDO20M_EN pin
|
|
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
minimum: 0
|
|
maximum: 12
|
|
|
|
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 8, 9, and LDO 1 can not be controlled externally - above definition
|
|
# allows it and we deny it here. This approach reduces repetition.
|
|
- if:
|
|
anyOf:
|
|
- required: [buck8m]
|
|
- required: [buck9m]
|
|
- required: [ldo1m]
|
|
then:
|
|
patternProperties:
|
|
"^(buck[8-9]|ldo1)m$":
|
|
properties:
|
|
samsung,ext-control: false
|
|
|
|
additionalProperties: false
|