Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / Documentation / devicetree / bindings / pinctrl / ste,nomadik.txt
1 ST Ericsson Nomadik pinmux controller
2
3 Required properties:
4 - compatible: "stericsson,db8500-pinctrl", "stericsson,db8540-pinctrl",
5               "stericsson,stn8815-pinctrl"
6 - reg: Should contain the register physical address and length of the PRCMU.
7
8 Please refer to pinctrl-bindings.txt in this directory for details of the
9 common pinctrl bindings used by client devices, including the meaning of the
10 phrase "pin configuration node".
11
12 ST Ericsson's pin configuration nodes act as a container for an arbitrary number of
13 subnodes. Each of these subnodes represents some desired configuration for a
14 pin, a group, or a list of pins or groups. This configuration can include the
15 mux function to select on those pin(s)/group(s), and various pin configuration
16 parameters, such as input, output, pull up, pull down...
17
18 The name of each subnode is not important; all subnodes should be enumerated
19 and processed purely based on their content. The subnodes use the generic
20 pin multiplexing node layout from the standard pin control bindings
21 (see pinctrl-bindings.txt):
22
23 Required pin multiplexing subnode properties:
24 - function: A string containing the name of the function to mux to the
25   pin or group.
26 - groups : An array of strings. Each string contains the name of a pin
27   group that will be combined with the function to form a multiplexing
28   set-up.
29
30 Required pin configuration subnode properties:
31 - pins: A string array describing the pins affected by the configuration
32   in the node.
33 - ste,config: Handle of pin configuration node
34   (e.g. ste,config = <&slpm_in_wkup_pdis>)
35
36 - ste,input : <0/1/2>
37         0: input with no pull
38         1: input with pull up,
39         2: input with pull down,
40
41 - ste,output: <0/1/2>
42         0: output low,
43         1: output high,
44         2: output (value is not specified).
45
46 - ste,sleep: <0/1>
47         0: sleep mode disable,
48         1: sleep mode enable.
49
50 - ste,sleep-input: <0/1/2/3>
51         0: sleep input with no pull,
52         1: sleep input with pull up,
53         2: sleep input with pull down.
54         3: sleep input and keep last input configuration (no pull, pull up or pull down).
55
56 - ste,sleep-output: <0/1/2>
57         0: sleep output low,
58         1: sleep output high,
59         2: sleep output (value is not specified).
60
61 - ste,sleep-gpio: <0/1>
62         0: disable sleep gpio mode,
63         1: enable sleep gpio mode.
64
65 - ste,sleep-wakeup: <0/1>
66         0: wake-up detection enabled,
67         1: wake-up detection disabled.
68
69 - ste,sleep-pull-disable: <0/1>
70         0: GPIO pull-up or pull-down resistor is enabled, when pin is an input,
71         1: GPIO pull-up and pull-down resistor are disabled.
72
73 Example board file extract:
74
75         pinctrl@80157000 {
76                 compatible = "stericsson,db8500-pinctrl";
77                 reg = <0x80157000 0x2000>;
78
79                 pinctrl-names = "default";
80
81                 slpm_in_wkup_pdis: slpm_in_wkup_pdis {
82                         ste,sleep = <1>;
83                         ste,sleep-input = <3>;
84                         ste,sleep-wakeup = <1>;
85                         ste,sleep-pull-disable = <0>;
86                 };
87
88                 slpm_out_hi_wkup_pdis: slpm_out_hi_wkup_pdis {
89                         ste,sleep = <1>;
90                         ste,sleep-output = <1>;
91                         ste,sleep-wakeup = <1>;
92                         ste,sleep-pull-disable = <0>;
93                 };
94
95                 slpm_out_wkup_pdis: slpm_out_wkup_pdis {
96                         ste,sleep = <1>;
97                         ste,sleep-output = <2>;
98                         ste,sleep-wakeup = <1>;
99                         ste,sleep-pull-disable = <0>;
100                 };
101
102                 uart0 {
103                         uart0_default_mux: uart0_mux {
104                                 u0_default_mux {
105                                         function = "u0";
106                                         pins = "u0_a_1";
107                                 };
108                         };
109                         uart0_default_mode: uart0_default {
110                                 uart0_default_cfg1 {
111                                         pins = "GPIO0", "GPIO2";
112                                         ste,input = <1>;
113                                 };
114
115                                 uart0_default_cfg2 {
116                                         pins = "GPIO1", "GPIO3";
117                                         ste,output = <1>;
118                                 };
119                         };
120                         uart0_sleep_mode: uart0_sleep {
121                                 uart0_sleep_cfg1 {
122                                         pins = "GPIO0", "GPIO2";
123                                         ste,config = <&slpm_in_wkup_pdis>;
124                                 };
125                                 uart0_sleep_cfg2 {
126                                         pins = "GPIO1";
127                                         ste,config = <&slpm_out_hi_wkup_pdis>;
128                                 };
129                                 uart0_sleep_cfg3 {
130                                         pins = "GPIO3";
131                                         ste,config = <&slpm_out_wkup_pdis>;
132                                 };
133                         };
134                 };
135         };
136
137         uart@80120000 {
138                 compatible = "arm,pl011", "arm,primecell";
139                 reg = <0x80120000 0x1000>;
140                 interrupts = <0 11 0x4>;
141
142                 pinctrl-names = "default","sleep";
143                 pinctrl-0 = <&uart0_default_mux>, <&uart0_default_mode>;
144                 pinctrl-1 = <&uart0_sleep_mode>;
145         };