Files
linux/Documentation/devicetree/bindings/mfd/samsung,s2mpg10-pmic.yaml
André Draszik b356595f8b dt-bindings: mfd: samsung,s2mpg10-pmic: Link to its regulators
Update the regulators node to link to the correct and expected
samsung,s2mpg10-regulators binding, in order to describe the regulators
available on this PMIC.

Additionally, describe the supply inputs of the regulator rails, with
the supply names matching the datasheet.

While at it, update the description and example slightly.

Note: S2MPG10 is typically used as the main-PMIC together with an
S2MPG11 PMIC in a main/sub configuration, hence the datasheet and the
binding both suffix the supplies with an 'm'.

Signed-off-by: André Draszik <andre.draszik@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20260122-s2mpg1x-regulators-v7-5-3b1f9831fffd@linaro.org
Signed-off-by: Lee Jones <lee@kernel.org>
2026-02-04 10:35:55 +00:00

121 lines
3.4 KiB
YAML

# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/samsung,s2mpg10-pmic.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Samsung S2MPG10 Power Management IC
maintainers:
- André Draszik <andre.draszik@linaro.org>
description: |
This is part of the device tree bindings for the S2MPG10 Power Management IC
(PMIC).
The Samsung S2MPG10 is a Power Management IC for mobile applications with buck
converters, various LDOs, power meters, RTC, clock outputs, and additional
GPIO interfaces and is typically complemented by S2MPG10 PMIC in a main/sub
configuration as the main PMIC.
properties:
compatible:
const: samsung,s2mpg10-pmic
clocks:
$ref: /schemas/clock/samsung,s2mps11.yaml
description:
Child node describing clock provider.
interrupts:
maxItems: 1
regulators:
type: object
$ref: /schemas/regulator/samsung,s2mpg10-regulator.yaml
description:
List of child nodes that specify the regulators.
system-power-controller: true
wakeup-source: true
patternProperties:
"^vinb([1-9]|10)m-supply$":
description:
Phandle to the power supply for each buck rail of this PMIC. There is a
1:1 mapping of supply to rail, e.g. vinb1m-supply supplies buck1m.
"^vinl([1-9]|1[0-5])m-supply$":
description: |
Phandle to the power supply for one or multiple LDO rails of this PMIC.
The mapping of supply to rail(s) is as follows:
vinl1m - ldo13m
vinl2m - ldo15m
vinl3m - ldo1m, ldo5m, ldo7m
vinl4m - ldo3m, ldo8m
vinl5m - ldo16m
vinl6m - ldo17m
vinl7m - ldo6m, ldo11m, ldo24m, ldo28m
vinl8m - ldo12m
vinl9m - ldo2m, ldo4m
vinl10m - ldo9m, ldo14m, ldo18m, 19m, ldo20m, ldo25m
vinl11m - ldo23m, ldo31m
vinl12m - ldo29m
vinl13m - ldo30m
vinl14m - ldo21m
vinl15m - ldo10m, ldo22m, ldo26m, ldo27m
required:
- compatible
- interrupts
- regulators
additionalProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/regulator/samsung,s2mpg10-regulator.h>
pmic {
compatible = "samsung,s2mpg10-pmic";
interrupts-extended = <&gpa0 6 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&pmic_int>;
system-power-controller;
wakeup-source;
vinl3m-supply = <&buck8m>;
clocks {
compatible = "samsung,s2mpg10-clk";
#clock-cells = <1>;
clock-output-names = "rtc32k_ap", "peri32k1", "peri32k2";
};
regulators {
buck8m {
regulator-name = "vdd_mif";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <6250>;
};
ldo1m {
regulator-name = "vdd_ldo1";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <1300000>;
};
ldo20m {
regulator-name = "vdd_dmics";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
samsung,ext-control = <S2MPG10_EXTCTRL_LDO20M_EN2>;
};
};
};