1 ST Ericsson Nomadik pinmux controller
4 - compatible: "stericsson,db8500-pinctrl", "stericsson,db8540-pinctrl",
5 "stericsson,stn8815-pinctrl"
6 - nomadik-gpio-chips: array of phandles to the corresponding GPIO chips
7 (these have the register ranges used by the pin controller).
8 - prcm: phandle to the PRCMU managing the back end of this pin controller
10 Please refer to pinctrl-bindings.txt in this directory for details of the
11 common pinctrl bindings used by client devices, including the meaning of the
12 phrase "pin configuration node".
14 ST Ericsson's pin configuration nodes act as a container for an arbitrary number of
15 subnodes. Each of these subnodes represents some desired configuration for a
16 pin, a group, or a list of pins or groups. This configuration can include the
17 mux function to select on those pin(s)/group(s), and various pin configuration
18 parameters, such as input, output, pull up, pull down...
20 The name of each subnode is not important; all subnodes should be enumerated
21 and processed purely based on their content. The subnodes use the generic
22 pin multiplexing node layout from the standard pin control bindings
23 (see pinctrl-bindings.txt):
25 Required pin multiplexing subnode properties:
26 - function: A string containing the name of the function to mux to the
28 - groups : An array of strings. Each string contains the name of a pin
29 group that will be combined with the function to form a multiplexing
32 Required pin configuration subnode properties:
33 - pins: A string array describing the pins affected by the configuration
35 - ste,config: Handle of pin configuration node
36 (e.g. ste,config = <&slpm_in_wkup_pdis>)
40 1: input with pull up,
41 2: input with pull down,
46 2: output (value is not specified).
49 0: sleep mode disable,
52 - ste,sleep-input: <0/1/2/3>
53 0: sleep input with no pull,
54 1: sleep input with pull up,
55 2: sleep input with pull down.
56 3: sleep input and keep last input configuration (no pull, pull up or pull down).
58 - ste,sleep-output: <0/1/2>
61 2: sleep output (value is not specified).
63 - ste,sleep-gpio: <0/1>
64 0: disable sleep gpio mode,
65 1: enable sleep gpio mode.
67 - ste,sleep-wakeup: <0/1>
68 0: wake-up detection enabled,
69 1: wake-up detection disabled.
71 - ste,sleep-pull-disable: <0/1>
72 0: GPIO pull-up or pull-down resistor is enabled, when pin is an input,
73 1: GPIO pull-up and pull-down resistor are disabled.
75 Example board file extract:
78 compatible = "stericsson,db8500-pinctrl";
79 nomadik-gpio-chips = <&gpio0>, <&gpio1>, <&gpio2>, <&gpio3>;
82 pinctrl-names = "default";
84 slpm_in_wkup_pdis: slpm_in_wkup_pdis {
86 ste,sleep-input = <3>;
87 ste,sleep-wakeup = <1>;
88 ste,sleep-pull-disable = <0>;
91 slpm_out_hi_wkup_pdis: slpm_out_hi_wkup_pdis {
93 ste,sleep-output = <1>;
94 ste,sleep-wakeup = <1>;
95 ste,sleep-pull-disable = <0>;
98 slpm_out_wkup_pdis: slpm_out_wkup_pdis {
100 ste,sleep-output = <2>;
101 ste,sleep-wakeup = <1>;
102 ste,sleep-pull-disable = <0>;
106 uart0_default_mux: uart0_mux {
112 uart0_default_mode: uart0_default {
114 pins = "GPIO0", "GPIO2";
119 pins = "GPIO1", "GPIO3";
123 uart0_sleep_mode: uart0_sleep {
125 pins = "GPIO0", "GPIO2";
126 ste,config = <&slpm_in_wkup_pdis>;
130 ste,config = <&slpm_out_hi_wkup_pdis>;
134 ste,config = <&slpm_out_wkup_pdis>;
141 compatible = "arm,pl011", "arm,primecell";
142 reg = <0x80120000 0x1000>;
143 interrupts = <0 11 0x4>;
145 pinctrl-names = "default","sleep";
146 pinctrl-0 = <&uart0_default_mux>, <&uart0_default_mode>;
147 pinctrl-1 = <&uart0_sleep_mode>;