* Microchip PIC32 Pin Controller

Please refer to pinctrl-bindings.txt, ../gpio/gpio.txt, and
../interrupt-controller/interrupts.txt for generic information regarding
pin controller, GPIO, and interrupt bindings.

PIC32 'pin configuration node' is a node of a group of pins which can be
used for a specific device or function. This node represents configurations of
pins, optional function, and optional mux related configuration.

Required properties for pin controller node:
 - compatible: "microchip,pic32mada-pinctrl"
 - reg: Address range of the pinctrl registers.
 - clocks: Clock specifier (see clock bindings for details)

Required properties for pin configuration sub-nodes:
 - pins: List of pins to which the configuration applies.

Optional properties for pin configuration sub-nodes:
----------------------------------------------------
 - function: Mux function for the specified pins.
 - bias-pull-up: Enable weak pull-up.
 - bias-pull-down: Enable weak pull-down.
 - input-enable: Set the pin as an input.
 - output-low: Set the pin as an output level low.
 - output-high: Set the pin as an output level high.
 - microchip,digital: Enable digital I/O.
 - microchip,analog: Enable analog I/O.

Example:

pic32_pinctrl: pinctrl@1f801400{
	#address-cells = <1>;
	#size-cells = <1>;
	compatible = "microchip,pic32mzda-pinctrl";
	reg = <0x1f801400 0x400>;
	clocks = <&rootclk PB1CLK>;

	pinctrl_uart2: pinctrl_uart2 {
		uart2-tx {
			pins = "G9";
			function = "U2TX";
			microchip,digital;
			output-low;
		};
		uart2-rx {
			pins = "B0";
			function = "U2RX";
			microchip,digital;
			input-enable;
		};
	};
};

uart2: serial@1f822200 {
	compatible = "microchip,pic32mzda-uart";
	reg = <0x1f822200 0x50>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart2>;
};
