Commit | Line | Data |
---|---|---|
7916c0c3 LD |
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-binding.txt>. | |
15 | - pinctrl[0...n]: Properties to contain the phandle for pinctrl states per | |
16 | <pinctrl-binding.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 | }; |