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
|
# 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>;
};
};
};
|