ST Ericsson Nomadik pinmux controller

Required properties:
- compatible: "stericsson,db8500-pinctrl", "stericsson,db8540-pinctrl",
              "stericsson,stn8815-pinctrl"
- nomadik-gpio-chips: array of phandles to the corresponding GPIO chips
              (these have the register ranges used by the pin controller).
- prcm: phandle to the PRCMU managing the back end of this pin controller

Please refer to pinctrl-bindings.txt in this directory for details of the
common pinctrl bindings used by client devices, including the meaning of the
phrase "pin configuration node".

ST Ericsson's pin configuration nodes act as a container for an arbitrary number of
subnodes. Each of these subnodes represents some desired configuration for a
pin, a group, or a list of pins or groups. This configuration can include the
mux function to select on those pin(s)/group(s), and various pin configuration
parameters, such as input, output, pull up, pull down...

The name of each subnode is not important; all subnodes should be enumerated
and processed purely based on their content. The subnodes use the generic
pin multiplexing node layout from the standard pin control bindings
(see pinctrl-bindings.txt):

Required pin multiplexing subnode properties:
- function: A string containing the name of the function to mux to the
  pin or group.
- groups : An array of strings. Each string contains the name of a pin
  group that will be combined with the function to form a multiplexing
  set-up.

Required pin configuration subnode properties:
- pins: A string array describing the pins affected by the configuration
  in the node.
- ste,config: Handle of pin configuration node
  (e.g. ste,config = <&slpm_in_wkup_pdis>)

- ste,input : <0/1/2>
	0: input with no pull
	1: input with pull up,
	2: input with pull down,

- ste,output: <0/1/2>
	0: output low,
	1: output high,
	2: output (value is not specified).

- ste,sleep: <0/1>
	0: sleep mode disable,
	1: sleep mode enable.

- ste,sleep-input: <0/1/2/3>
	0: sleep input with no pull,
	1: sleep input with pull up,
	2: sleep input with pull down.
	3: sleep input and keep last input configuration (no pull, pull up or pull down).

- ste,sleep-output: <0/1/2>
	0: sleep output low,
	1: sleep output high,
	2: sleep output (value is not specified).

- ste,sleep-gpio: <0/1>
	0: disable sleep gpio mode,
	1: enable sleep gpio mode.

- ste,sleep-wakeup: <0/1>
	0: wake-up detection enabled,
	1: wake-up detection disabled.

- ste,sleep-pull-disable: <0/1>
	0: GPIO pull-up or pull-down resistor is enabled, when pin is an input,
	1: GPIO pull-up and pull-down resistor are disabled.

Example board file extract:

	pinctrl@80157000 {
		compatible = "stericsson,db8500-pinctrl";
		nomadik-gpio-chips = <&gpio0>, <&gpio1>, <&gpio2>, <&gpio3>;
		prcm = <&prcmu>;

		pinctrl-names = "default";

		slpm_in_wkup_pdis: slpm_in_wkup_pdis {
			ste,sleep = <1>;
			ste,sleep-input = <3>;
			ste,sleep-wakeup = <1>;
			ste,sleep-pull-disable = <0>;
		};

		slpm_out_hi_wkup_pdis: slpm_out_hi_wkup_pdis {
			ste,sleep = <1>;
			ste,sleep-output = <1>;
			ste,sleep-wakeup = <1>;
			ste,sleep-pull-disable = <0>;
		};

		slpm_out_wkup_pdis: slpm_out_wkup_pdis {
			ste,sleep = <1>;
			ste,sleep-output = <2>;
			ste,sleep-wakeup = <1>;
			ste,sleep-pull-disable = <0>;
		};

		uart0 {
			uart0_default_mux: uart0_mux {
				u0_default_mux {
					function = "u0";
					pins = "u0_a_1";
				};
			};
			uart0_default_mode: uart0_default {
				uart0_default_cfg1 {
					pins = "GPIO0", "GPIO2";
					ste,input = <1>;
				};

				uart0_default_cfg2 {
					pins = "GPIO1", "GPIO3";
					ste,output = <1>;
				};
			};
			uart0_sleep_mode: uart0_sleep {
				uart0_sleep_cfg1 {
					pins = "GPIO0", "GPIO2";
					ste,config = <&slpm_in_wkup_pdis>;
				};
				uart0_sleep_cfg2 {
					pins = "GPIO1";
					ste,config = <&slpm_out_hi_wkup_pdis>;
				};
				uart0_sleep_cfg3 {
					pins = "GPIO3";
					ste,config = <&slpm_out_wkup_pdis>;
				};
			};
		};
	};

	uart@80120000 {
		compatible = "arm,pl011", "arm,primecell";
		reg = <0x80120000 0x1000>;
		interrupts = <0 11 0x4>;

		pinctrl-names = "default","sleep";
		pinctrl-0 = <&uart0_default_mux>, <&uart0_default_mode>;
		pinctrl-1 = <&uart0_sleep_mode>;
	};
