ARM: at91/pio: add new PIO3 features

This patch adds the support for new PIO controller found on some
at91sam SOCs.
- more peripheral multiplexing
- more features to configure on a PIO (pull-down, Schmitt trigger, debouncer)
- support for several IRQ triggering features (type and polarity)

Support for those new features are retrieved from the device tree
compatibility string.

Debugfs at91_gpio file is updated to monitor configuration.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
diff --git a/arch/arm/boot/dts/at91sam9x5.dtsi b/arch/arm/boot/dts/at91sam9x5.dtsi
index bb0c676..a02e636 100644
--- a/arch/arm/boot/dts/at91sam9x5.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5.dtsi
@@ -89,7 +89,7 @@
 			};
 
 			pioA: gpio@fffff400 {
-				compatible = "atmel,at91rm9200-gpio";
+				compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
 				reg = <0xfffff400 0x100>;
 				interrupts = <2 4>;
 				#gpio-cells = <2>;
@@ -98,7 +98,7 @@
 			};
 
 			pioB: gpio@fffff600 {
-				compatible = "atmel,at91rm9200-gpio";
+				compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
 				reg = <0xfffff600 0x100>;
 				interrupts = <2 4>;
 				#gpio-cells = <2>;
@@ -107,7 +107,7 @@
 			};
 
 			pioC: gpio@fffff800 {
-				compatible = "atmel,at91rm9200-gpio";
+				compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
 				reg = <0xfffff800 0x100>;
 				interrupts = <3 4>;
 				#gpio-cells = <2>;
@@ -116,7 +116,7 @@
 			};
 
 			pioD: gpio@fffffa00 {
-				compatible = "atmel,at91rm9200-gpio";
+				compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
 				reg = <0xfffffa00 0x100>;
 				interrupts = <3 4>;
 				#gpio-cells = <2>;