xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/pinctrl-max77620.txt (revision ec0ea6efa1ad229d75c394c1a9b9cac33af2b1d3)
1Pincontrol driver for MAX77620 Power management IC from Maxim Semiconductor.
2
3Device has 8 GPIO pins which can be configured as GPIO as well as the
4special IO functions.
5
6Please refer file <devicetree/bindings/pinctrl/pinctrl-bindings.txt>
7for details of the common pinctrl bindings used by client devices,
8including the meaning of the phrase "pin configuration node".
9
10Optional Pinmux properties:
11--------------------------
12Following properties are required if default setting of pins are required
13at 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
18The pin configurations are defined as child of the pinctrl states node. Each
19sub-node have following properties:
20
21Required properties:
22------------------
23- pins: List of pins. Valid values of pins properties are:
24		      gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7.
25
26Optional properties:
27-------------------
28Following are optional properties defined as pinmux DT binding document
29<pinctrl-bindings.txt>. Absence of properties will leave the configuration
30on default.
31	function,
32	drive-push-pull,
33	drive-open-drain,
34	bias-pull-up,
35	bias-pull-down.
36
37Valid values for function properties are:
38	gpio, lpm-control-in, fps-out, 32k-out, sd0-dvs-in, sd1-dvs-in,
39	reference-out
40
41Theres is also customised properties for the GPIO1, GPIO2 and GPIO3. These
42customised properties are required to configure FPS configuration parameters
43of these GPIOs. Please refer <devicetree/bindings/mfd/max77620.txt> for more
44detail 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
100Example:
101--------
102#include <dt-bindings/mfd/max77620.h>
103...
104max77620@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};
128