GNU Linux-libre 4.19.264-gnu1
[releases.git] / Documentation / devicetree / bindings / pinctrl / pinctrl-max77620.txt
1 Pincontrol driver for MAX77620 Power management IC from Maxim Semiconductor.
2
3 Device has 8 GPIO pins which can be configured as GPIO as well as the
4 special IO functions.
5
6 Please refer file <devicetree/bindings/pinctrl/pinctrl-bindings.txt>
7 for details of the common pinctrl bindings used by client devices,
8 including the meaning of the phrase "pin configuration node".
9
10 Optional Pinmux properties:
11 --------------------------
12 Following properties are required if default setting of pins are required
13 at boot.
14 - pinctrl-names: A pinctrl state named per <pinctrl-bindings.txt>.
15 - pinctrl[0...n]: Properties to contain the phandle for pinctrl states per
16                 <pinctrl-bindings.txt>.
17
18 The pin configurations are defined as child of the pinctrl states node. Each
19 sub-node have following properties:
20
21 Required properties:
22 ------------------
23 - pins: List of pins. Valid values of pins properties are:
24                       gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7.
25
26 Optional properties:
27 -------------------
28 Following are optional properties defined as pinmux DT binding document
29 <pinctrl-bindings.txt>. Absence of properties will leave the configuration
30 on default.
31         function,
32         drive-push-pull,
33         drive-open-drain,
34         bias-pull-up,
35         bias-pull-down.
36
37 Valid values for function properties are:
38         gpio, lpm-control-in, fps-out, 32k-out, sd0-dvs-in, sd1-dvs-in,
39         reference-out
40
41 Theres is also customised properties for the GPIO1, GPIO2 and GPIO3. These
42 customised properties are required to configure FPS configuration parameters
43 of these GPIOs. Please refer <devicetree/bindings/mfd/max77620.txt> for more
44 detail of Flexible Power Sequence (FPS).
45
46 - maxim,active-fps-source:              FPS source for the GPIOs to get
47                                         enabled/disabled when system is in
48                                         active state.  Valid values are:
49                                         - MAX77620_FPS_SRC_0,
50                                                 FPS source is FPS0.
51                                         - MAX77620_FPS_SRC_1,
52                                                 FPS source is FPS1
53                                         - MAX77620_FPS_SRC_2 and
54                                                 FPS source is FPS2
55                                         - MAX77620_FPS_SRC_NONE.
56                                                 GPIO is not controlled
57                                                 by FPS events and it gets
58                                                 enabled/disabled by register
59                                                 access.
60                                         Absence of this property will leave
61                                         the FPS configuration register for that
62                                         GPIO to default configuration.
63
64 - maxim,active-fps-power-up-slot:       Sequencing event slot number on which
65                                         the GPIO get enabled when
66                                         master FPS input event set to HIGH.
67                                         Valid values are 0 to 7.
68                                         This is applicable if FPS source is
69                                         selected as FPS0, FPS1 or FPS2.
70
71 - maxim,active-fps-power-down-slot:     Sequencing event slot number on which
72                                         the GPIO get disabled when master
73                                         FPS input event set to LOW.
74                                         Valid values are 0 to 7.
75                                         This is applicable if FPS source is
76                                         selected as FPS0, FPS1 or FPS2.
77
78 - maxim,suspend-fps-source:             This is same as property
79                                         "maxim,active-fps-source" but value
80                                         get configured when system enters in
81                                         to suspend state.
82
83 - maxim,suspend-fps-power-up-slot:      This is same as property
84                                         "maxim,active-fps-power-up-slot" but
85                                         this value get configured into FPS
86                                         configuration register when system
87                                         enters into suspend.
88                                         This is applicable if suspend state
89                                         FPS source is selected as FPS0, FPS1 or
90
91 - maxim,suspend-fps-power-down-slot:    This is same as property
92                                         "maxim,active-fps-power-down-slot" but
93                                         this value get configured into FPS
94                                         configuration register when system
95                                         enters into suspend.
96                                         This is applicable if suspend state
97                                         FPS source is selected as FPS0, FPS1 or
98                                         FPS2.
99
100 Example:
101 --------
102 #include <dt-bindings/mfd/max77620.h>
103 ...
104 max77620@3c {
105
106         pinctrl-names = "default";
107         pinctrl-0 = <&spmic_default>;
108
109         spmic_default: pinmux@0 {
110                 pin_gpio0 {
111                         pins = "gpio0";
112                         function = "gpio";
113                 };
114
115                 pin_gpio1 {
116                         pins = "gpio1";
117                         function = "fps-out";
118                         maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
119                 };
120
121                 pin_gpio2 {
122                         pins = "gpio2";
123                         function = "fps-out";
124                         maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
125                 };
126         };
127 };