ImgTec TZ1090 PDC pin controller

Required properties:
- compatible: "img,tz1090-pdc-pinctrl"
- reg: Should contain the register physical address and length of the
  SOC_GPIO_CONTROL registers in the PDC register region.

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".

TZ1090-PDC'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 pull-up, drive strength, etc.

The name of each subnode is not important; all subnodes should be enumerated
and processed purely based on their content.

Each subnode only affects those parameters that are explicitly listed. In
other words, a subnode that lists a mux function but no pin configuration
parameters implies no information about any pin configuration parameters.
Similarly, a pin subnode that describes a pullup parameter implies no
information about e.g. the mux function. For this reason, even seemingly boolean
values are actually tristates in this binding: unspecified, off, or on.
Unspecified is represented as an absent property, and off/on are represented as
integer values 0 and 1.

Required subnode-properties:
- tz1090,pins : An array of strings. Each string contains the name of a pin or
  group. Valid values for these names are listed below.

Optional subnode-properties:
- tz1090,function: A string containing the name of the function to mux to the
  pin or group. Valid values for function names are listed below, including
  which pingroups can be muxed to them.
- supported generic pinconfig properties (for further details see
  Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt):
  - bias-disable
  - bias-high-impedance
  - bias-bus-hold
  - bias-pull-up
  - bias-pull-down
  - input-schmitt-enable
  - input-schmitt-disable
  - drive-strength: Integer, control drive strength of pins in mA.
      2: 2mA
      4: 4mA
      8: 8mA
      12: 12mA
  - low-power-enable: Flag, power-on-start weak pull-down for invalid power.
  - low-power-disable: Flag, power-on-start weak pull-down disabled.

Note that many of these properties are only valid for certain specific pins
or groups. See the TZ1090 TRM for complete details regarding which groups
support which functionality. The Linux pinctrl driver may also be a useful
reference.

Valid values for pin and group names are:

  pins:

    These all support bias-high-impediance, bias-pull-up, bias-pull-down, and
    bias-bus-hold (which can also be provided to any of the groups below to set
    it for all gpio pins in that group).

    gpio0, gpio1, sys_wake0, sys_wake1, sys_wake2, ir_data, ext_power.

  mux groups:

    These all support function.

    gpio0
        pins:       gpio0.
        function:   ir_mod_stable_out.
    gpio1
        pins:       gpio1.
        function:   ir_mod_power_out.

  drive groups:

    These support input-schmitt-enable, input-schmitt-disable,
    drive-strength, low-power-enable, and low-power-disable.

    pdc
        pins:   gpio0, gpio1, sys_wake0, sys_wake1, sys_wake2, ir_data,
                ext_power.

Example:

	pinctrl_pdc: pinctrl@02006500 {
		#gpio-range-cells = <3>;
		compatible = "img,tz1090-pdc-pinctrl";
		reg = <0x02006500 0x100>;
	};

Example board file extracts:

	&pinctrl_pdc {
		pinctrl-names = "default";
		pinctrl-0 = <&syswake_default>;

		syswake_default: syswakes {
			syswake_cfg {
				tz1090,pins =	"sys_wake0",
						"sys_wake1",
						"sys_wake2";
				pull-up;
			};
		};
		irmod_default: irmod {
			gpio0_cfg {
				tz1090,pins =	"gpio0";
				tz1090,function = "ir_mod_stable_out";
			};
			gpio1_cfg {
				tz1090,pins =	"gpio1";
				tz1090,function = "ir_mod_power_out";
			};
		};
	};

	ir: ir@02006200 {
		pinctrl-names = "default";
		pinctrl-0 = <&irmod_default>;
	};
