Merge tag 'at91-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux...
authorOlof Johansson <olof@lixom.net>
Tue, 27 Jan 2015 04:26:34 +0000 (20:26 -0800)
committerOlof Johansson <olof@lixom.net>
Tue, 27 Jan 2015 04:26:34 +0000 (20:26 -0800)
Merge "at91: dt for 3.20 #2" from Nicolas Ferre:

Second DT batch for 3.20:
- correct some pin configuration for at91sam9x5ek
- add pioD on sama5d4 following a modification of pinctrl driver
- add more precise nand compatibility string for sama5d4
- audio modifications for wm8904 or ac97

* tag 'at91-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91:
  ARM: at91/dt: sam9263: Add ac97 device node
  dt: atmel_ac97c: Add device tree documentation
  ARM: at91: at91sam9n12ek/dt: use dt ids for wm8904
  ARM: at91: sama5d3xek/dt: use dt ids for wm8904
  ARM: at91: sama5d4: dts: change the nand compatible string
  ARM: at91/dt: sama5d4: add pioD controller
  ARM: at91/dt: disable pull-up on vbus-gpio (PB16) to reduce power consumption

Signed-off-by: Olof Johansson <olof@lixom.net>
Documentation/devicetree/bindings/sound/atmel_ac97c.txt [new file with mode: 0644]
arch/arm/boot/dts/at91sam9263.dtsi
arch/arm/boot/dts/at91sam9n12ek.dts
arch/arm/boot/dts/at91sam9x5ek.dtsi
arch/arm/boot/dts/sama5d3xmb.dtsi
arch/arm/boot/dts/sama5d4.dtsi

diff --git a/Documentation/devicetree/bindings/sound/atmel_ac97c.txt b/Documentation/devicetree/bindings/sound/atmel_ac97c.txt
new file mode 100644 (file)
index 0000000..b151bd9
--- /dev/null
@@ -0,0 +1,20 @@
+* Atmel AC97 controller
+
+Required properties:
+  - compatible: "atmel,at91sam9263-ac97c"
+  - reg: Address and length of the register set for the device
+  - interrupts: Should contain AC97 interrupt
+  - ac97-gpios: Please refer to soc-ac97link.txt, only ac97-reset is used
+Optional properties:
+  - pinctrl-names, pinctrl-0: Please refer to pinctrl-bindings.txt
+
+Example:
+sound@fffa0000 {
+       compatible = "atmel,at91sam9263-ac97c";
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_ac97>;
+       reg = <0xfffa0000 0x4000>;
+       interrupts = <18 IRQ_TYPE_LEVEL_HIGH 5>;
+
+       ac97-gpios = <&pioB 0 0 &pioB 2 0 &pioC 29 GPIO_ACTIVE_LOW>;
+};
index 8a210d5033b1c18e73e3c92a25427b6c5f6c6cc1..d7e8a2420ad38a0dcba8b50debebffe5f280c2ef 100644 (file)
                                        };
                                };
 
+                               ac97 {
+                                       pinctrl_ac97: ac97-0 {
+                                               atmel,pins =
+                                                       <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB12 periph A AC97FS pin */
+                                                        AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB13 periph A AC97CK pin */
+                                                        AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB14 periph A AC97TX pin */
+                                                        AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE>;  /* PB14 periph A AC97RX pin */
+                                       };
+                               };
+
                                pioA: gpio@fffff200 {
                                        compatible = "atmel,at91rm9200-gpio";
                                        reg = <0xfffff200 0x200>;
                                status = "disabled";
                        };
 
+                       ac97: sound@fffa0000 {
+                               compatible = "atmel,at91sam9263-ac97c";
+                               reg = <0xfffa0000 0x4000>;
+                               interrupts = <18 IRQ_TYPE_LEVEL_HIGH 5>;
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&pinctrl_ac97>;
+                               clocks = <&ac97_clk>;
+                               clock-names = "ac97_clk";
+                               status = "disabled";
+                       };
+
                        macb0: ethernet@fffbc000 {
                                compatible = "cdns,at32ap7000-macb", "cdns,macb";
                                reg = <0xfffbc000 0x100>;
index 13bb24ea971a1461862de9bd87275ce95986ef32..9575c0d895c919e0da00288192981ea299713f3e 100644 (file)
@@ -54,7 +54,7 @@
                                status = "okay";
 
                                wm8904: codec@1a {
-                                       compatible = "wm8904";
+                                       compatible = "wlf,wm8904";
                                        reg = <0x1a>;
                                        clocks = <&pck0>;
                                        clock-names = "mclk";
index 3a9f6fa4a36ad749563dec54735c186fa582fa51..bd16bd360272ae212cc0a86c10dde6b697c3c31b 100644 (file)
@@ -53,6 +53,8 @@
                        };
 
                        usb2: gadget@f803c000 {
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&pinctrl_board_usb2>;
                                atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>;
                                status = "okay";
                        };
                                                        <AT91_PIOD 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;  /* PD14 gpio CD pin pull up and deglitch */
                                        };
                                };
+
+                               usb2 {
+                                       pinctrl_board_usb2: usb2-board {
+                                               atmel,pins =
+                                                       <AT91_PIOB 16 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;          /* PB16 gpio vbus sense, deglitch */
+                                       };
+                               };
                        };
 
                        spi0: spi@f0000000 {
index 9fdb8a07b1456c3f5ef9e062a051583dc622c5bd..e6396b68b408d74db8744886d292527f29fbc699 100644 (file)
@@ -45,7 +45,7 @@
                         */
                        i2c0: i2c@f0014000 {
                                wm8904: wm8904@1a {
-                                       compatible = "wm8904";
+                                       compatible = "wlf,wm8904";
                                        reg = <0x1a>;
                                        clocks = <&pck0>;
                                        clock-names = "mclk";
index 1b4fe4e1972130e3687f6d2090265ce42f699878..5d6d0b3f576807d013be8ecc7e10386c42fa871b 100644 (file)
@@ -62,6 +62,7 @@
                gpio0 = &pioA;
                gpio1 = &pioB;
                gpio2 = &pioC;
+               gpio3 = &pioD;
                gpio4 = &pioE;
                tcb0 = &tcb0;
                tcb1 = &tcb1;
                };
 
                nand0: nand@80000000 {
-                       compatible = "atmel,at91rm9200-nand";
+                       compatible = "atmel,sama5d4-nand", "atmel,at91rm9200-nand";
                        #address-cells = <1>;
                        #size-cells = <1>;
                        ranges;
                                        clocks = <&pioC_clk>;
                                };
 
+                               pioD: gpio@fc068000 {
+                                       compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
+                                       reg = <0xfc068000 0x100>;
+                                       interrupts = <5 IRQ_TYPE_LEVEL_HIGH 1>;
+                                       #gpio-cells = <2>;
+                                       gpio-controller;
+                                       interrupt-controller;
+                                       #interrupt-cells = <2>;
+                                       clocks = <&pioD_clk>;
+                                       status = "disabled";
+                               };
+
                                pioE: gpio@fc06d000 {
                                        compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
                                        reg = <0xfc06d000 0x100>;