* Atmel PIO4 Controller

The Atmel PIO4 controller is used to select the function of a pin and to
configure it.

Required properties:
- compatible: "atmel,sama5d2-pinctrl".
- reg: base address and length of the PIO controller.

Please refer to pinctrl-bindings.txt in this directory for details of the
common pinctrl bindings used by client devices.

Subnode format
Each node (or subnode) will list the pins it needs and how to configured these
pins.

	node {
		pinmux = <PIN_NUMBER_PINMUX>;
		GENERIC_PINCONFIG;
	};

Required properties:
- pinmux: integer array. Each integer represents a pin number plus mux and
ioset settings. Use the macros from boot/dts/<soc>-pinfunc.h file to get the
right representation of the pin.

Optional properties:
- GENERIC_PINCONFIG: generic pinconfig options to use, bias-disable,
bias-pull-down, bias-pull-up, drive-open-drain, input-schmitt-enable,
input-debounce.
- atmel,drive-strength: 0 or 1 for low drive, 2 for medium drive and 3 for
high drive. The default value is low drive.

Example:

#include <sama5d2-pinfunc.h>

...
{
	spi0: spi@f8000000 {
		cs-gpios = <&pioA 17 0>, <0>, <0>, <0>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_spi0_default>;
		status = "okay";

		spi_flash@0 {
			compatible = "jedec,spi-nor";
			reg = <0>;
			spi-max-frequency = <50000000>;
		};
	};

	...

	pioA: pinctrl@fc038000 {
		compatible = "atmel,sama5d2-pinctrl";
		reg = <0xfc038000 0x600>;

		pinctrl_spi0_default: spi0_default {
			pinmux = <PIN_PA14__SPI0_SPCK>,
				 <PIN_PA15__SPI0_MOSI>,
				 <PIN_PA16__SPI0_MISO>;
			bias-disable;
		};
		...
	};
};
...
