Merge tag 'devicetree-for-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 25 Jan 2014 01:27:34 +0000 (17:27 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 25 Jan 2014 01:27:34 +0000 (17:27 -0800)
Pull devicetree updates from Rob Herring:
 - Add new documents with guidelines for DT binding stability and review
   process.  This is one of the outcomes of Kernel Summit DT discussions
 - Remove a bunch of device_type usage which is only for OF and
   deprecated with FDT
 - Fix a long standing issue with compatible string match ordering
 - Various minor binding documentation updates

* tag 'devicetree-for-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
  dt-bindings: add rockchip vendor prefix
  serial: vt8500: Add missing binding document for arch-vt8500 serial driver.
  dt/bindings: submitting patches and ABI documents
  DT: Add vendor prefix for Emerging Display Technologies
  of: add vendor prefixe for EPFL
  of: add vendor prefix for Gumstix
  of: add vendor prefix for Ka-Ro electronics GmbH
  devicetree: macb: Document clock properties
  dts: bindings: trivial clock bindings doc fixes
  of: Fix __of_device_is_available check
  dt/bindings: Remove device_type "serial" from marvell,mv64360-mpsc
  dt/bindings: remove device_type "network" references
  dt/bindings: remove users of device_type "mdio"
  dt/bindings: Remove references to linux,phandle properties
  dt/bindings: Remove all references to device_type "ethernet-phy"
  of: irq: Ignore disabled intc's when searching map
  of: irq: Ignore disabled interrupt controllers
  OF: base: match each node compatible against all given matches first
  dt-bindings: add GIC-400 binding

23 files changed:
1  2 
Documentation/devicetree/bindings/vendor-prefixes.txt
arch/arm/boot/dts/dove.dtsi
arch/arm/boot/dts/kirkwood-cloudbox.dts
arch/arm/boot/dts/kirkwood-db.dtsi
arch/arm/boot/dts/kirkwood-dnskw.dtsi
arch/arm/boot/dts/kirkwood-dockstar.dts
arch/arm/boot/dts/kirkwood-dreamplug.dts
arch/arm/boot/dts/kirkwood-goflexnet.dts
arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts
arch/arm/boot/dts/kirkwood-ib62x0.dts
arch/arm/boot/dts/kirkwood-iconnect.dts
arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
arch/arm/boot/dts/kirkwood-km_kirkwood.dts
arch/arm/boot/dts/kirkwood-lsxl.dtsi
arch/arm/boot/dts/kirkwood-mplcec4.dts
arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts
arch/arm/boot/dts/kirkwood-ns2-common.dtsi
arch/arm/boot/dts/kirkwood-openblocks_a6.dts
arch/arm/boot/dts/kirkwood-openblocks_a7.dts
arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi
arch/arm/boot/dts/kirkwood-topkick.dts
arch/arm/boot/dts/kirkwood.dtsi
arch/arm/boot/dts/orion5x.dtsi

index 520596da7953b7395bb654c5d5bb97d8de5963f5,391e7299e44c33dd2f9fe11d11e4e8f6016ade7f..5780ffcd79af62ae1629c06199d1778c74eaa884
@@@ -9,7 -9,6 +9,7 @@@ aeroflexgaisler  Aeroflex Gaisler A
  ak    Asahi Kasei Corp.
  altr  Altera Corp.
  amcc  Applied Micro Circuits Corporation (APM, formally AMCC)
 +amstaos       AMS-Taos Inc.
  apm   Applied Micro Circuits Corporation (APM)
  arm   ARM Ltd.
  atmel Atmel Corporation
@@@ -27,21 -26,23 +27,25 @@@ cortina    Cortina Systems, Inc
  dallas        Maxim Integrated Products (formerly Dallas Semiconductor)
  davicom       DAVICOM Semiconductor, Inc.
  denx  Denx Software Engineering
+ edt   Emerging Display Technologies
  emmicro       EM Microelectronic
+ epfl  Ecole Polytechnique Fédérale de Lausanne
  epson Seiko Epson Corp.
  est   ESTeem Wireless Modems
  fsl   Freescale Semiconductor
  GEFanuc       GE Fanuc Intelligent Platforms Embedded Systems, Inc.
  gef   GE Fanuc Intelligent Platforms Embedded Systems, Inc.
  gmt   Global Mixed-mode Technology, Inc.
+ gumstix       Gumstix, Inc.
 +haoyu Haoyu Microelectronic Co. Ltd.
  hisilicon     Hisilicon Limited.
  hp    Hewlett Packard
  ibm   International Business Machines (IBM)
  idt   Integrated Device Technologies, Inc.
  img   Imagination Technologies Ltd.
  intercontrol  Inter Control Group
 +isl   Intersil
+ karo  Ka-Ro electronics GmbH
  lg    LG Corporation
  linux Linux-specific binding
  lsi   LSI Corp. (LSI Logic)
@@@ -64,6 -65,7 +68,7 @@@ ralink        Mediatek/Ralink Technology Corp
  ramtron       Ramtron International
  realtek Realtek Semiconductor Corp.
  renesas       Renesas Electronics Corporation
+ rockchip      Fuzhou Rockchip Electronics Co., Ltd
  samsung       Samsung Semiconductor
  sbs   Smart Battery System
  schindler     Schindler
@@@ -76,7 -78,6 +81,7 @@@ st    STMicroelectronic
  ste   ST-Ericsson
  stericsson    ST-Ericsson
  ti    Texas Instruments
 +tlm   Trusted Logic Mobility
  toshiba       Toshiba Corporation
  toumaz        Toumaz
  v3    V3 Semiconductor
index 8de1031233ae578dc45f6e9db8f78b1d951f085a,39ffabe04cc53b345c85f674354d8387f226f4e1..2b76524f4aa74ee475d7e027f24683097ef4770f
                                  0xffffe000 MBUS_ID(0x03, 0x01) 0 0x0000800   /* CESA SRAM  2k */
                                  0xfffff000 MBUS_ID(0x0d, 0x00) 0 0x0000800>; /* PMU  SRAM  2k */
  
 -                      mbusc: mbus-ctrl@20000 {
 -                              compatible = "marvell,mbus-controller";
 -                              reg = <0x20000 0x80>, <0x800100 0x8>;
 -                      };
 -
 -                      timer: timer@20300 {
 -                              compatible = "marvell,orion-timer";
 -                              reg = <0x20300 0x20>;
 -                              interrupt-parent = <&bridge_intc>;
 -                              interrupts = <1>, <2>;
 +                      spi0: spi-ctrl@10600 {
 +                              compatible = "marvell,orion-spi";
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              cell-index = <0>;
 +                              interrupts = <6>;
 +                              reg = <0x10600 0x28>;
                                clocks = <&core_clk 0>;
 +                              pinctrl-0 = <&pmx_spi0>;
 +                              pinctrl-names = "default";
 +                              status = "disabled";
                        };
  
 -                      intc: main-interrupt-ctrl@20200 {
 -                              compatible = "marvell,orion-intc";
 -                              interrupt-controller;
 -                              #interrupt-cells = <1>;
 -                              reg = <0x20200 0x10>, <0x20210 0x10>;
 -                      };
 -
 -                      bridge_intc: bridge-interrupt-ctrl@20110 {
 -                              compatible = "marvell,orion-bridge-intc";
 -                              interrupt-controller;
 -                              #interrupt-cells = <1>;
 -                              reg = <0x20110 0x8>;
 -                              interrupts = <0>;
 -                              marvell,#interrupts = <5>;
 -                      };
 -
 -                      core_clk: core-clocks@d0214 {
 -                              compatible = "marvell,dove-core-clock";
 -                              reg = <0xd0214 0x4>;
 -                              #clock-cells = <1>;
 -                      };
 -
 -                      gate_clk: clock-gating-ctrl@d0038 {
 -                              compatible = "marvell,dove-gating-clock";
 -                              reg = <0xd0038 0x4>;
 +                      i2c0: i2c-ctrl@11000 {
 +                              compatible = "marvell,mv64xxx-i2c";
 +                              reg = <0x11000 0x20>;
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              interrupts = <11>;
 +                              clock-frequency = <400000>;
 +                              timeout-ms = <1000>;
                                clocks = <&core_clk 0>;
 -                              #clock-cells = <1>;
 -                      };
 -
 -                      thermal: thermal-diode@d001c {
 -                              compatible = "marvell,dove-thermal";
 -                              reg = <0xd001c 0x0c>, <0xd005c 0x08>;
 +                              status = "disabled";
                        };
  
                        uart0: serial@12000 {
                                status = "disabled";
                        };
  
 -                      gpio0: gpio-ctrl@d0400 {
 -                              compatible = "marvell,orion-gpio";
 -                              #gpio-cells = <2>;
 -                              gpio-controller;
 -                              reg = <0xd0400 0x20>;
 -                              ngpios = <32>;
 +                      spi1: spi-ctrl@14600 {
 +                              compatible = "marvell,orion-spi";
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              cell-index = <1>;
 +                              interrupts = <5>;
 +                              reg = <0x14600 0x28>;
 +                              clocks = <&core_clk 0>;
 +                              status = "disabled";
 +                      };
 +
 +                      mbusc: mbus-ctrl@20000 {
 +                              compatible = "marvell,mbus-controller";
 +                              reg = <0x20000 0x80>, <0x800100 0x8>;
 +                      };
 +
 +                      bridge_intc: bridge-interrupt-ctrl@20110 {
 +                              compatible = "marvell,orion-bridge-intc";
                                interrupt-controller;
 -                              #interrupt-cells = <2>;
 -                              interrupts = <12>, <13>, <14>, <60>;
 +                              #interrupt-cells = <1>;
 +                              reg = <0x20110 0x8>;
 +                              interrupts = <0>;
 +                              marvell,#interrupts = <5>;
                        };
  
 -                      gpio1: gpio-ctrl@d0420 {
 -                              compatible = "marvell,orion-gpio";
 -                              #gpio-cells = <2>;
 -                              gpio-controller;
 -                              reg = <0xd0420 0x20>;
 -                              ngpios = <32>;
 +                      intc: main-interrupt-ctrl@20200 {
 +                              compatible = "marvell,orion-intc";
                                interrupt-controller;
 -                              #interrupt-cells = <2>;
 -                              interrupts = <61>;
 +                              #interrupt-cells = <1>;
 +                              reg = <0x20200 0x10>, <0x20210 0x10>;
                        };
  
 -                      gpio2: gpio-ctrl@e8400 {
 -                              compatible = "marvell,orion-gpio";
 -                              #gpio-cells = <2>;
 -                              gpio-controller;
 -                              reg = <0xe8400 0x0c>;
 -                              ngpios = <8>;
 +                      timer: timer@20300 {
 +                              compatible = "marvell,orion-timer";
 +                              reg = <0x20300 0x20>;
 +                              interrupt-parent = <&bridge_intc>;
 +                              interrupts = <1>, <2>;
 +                              clocks = <&core_clk 0>;
 +                      };
 +
 +                      crypto: crypto-engine@30000 {
 +                              compatible = "marvell,orion-crypto";
 +                              reg = <0x30000 0x10000>,
 +                                    <0xffffe000 0x800>;
 +                              reg-names = "regs", "sram";
 +                              interrupts = <31>;
 +                              clocks = <&gate_clk 15>;
 +                              status = "okay";
 +                      };
 +
 +                      ehci0: usb-host@50000 {
 +                              compatible = "marvell,orion-ehci";
 +                              reg = <0x50000 0x1000>;
 +                              interrupts = <24>;
 +                              clocks = <&gate_clk 0>;
 +                              status = "okay";
 +                      };
 +
 +                      ehci1: usb-host@51000 {
 +                              compatible = "marvell,orion-ehci";
 +                              reg = <0x51000 0x1000>;
 +                              interrupts = <25>;
 +                              clocks = <&gate_clk 1>;
 +                              status = "okay";
 +                      };
 +
 +                      xor0: dma-engine@60800 {
 +                              compatible = "marvell,orion-xor";
 +                              reg = <0x60800 0x100
 +                                     0x60a00 0x100>;
 +                              clocks = <&gate_clk 23>;
 +                              status = "okay";
 +
 +                              channel0 {
 +                                      interrupts = <39>;
 +                                      dmacap,memcpy;
 +                                      dmacap,xor;
 +                              };
 +
 +                              channel1 {
 +                                      interrupts = <40>;
 +                                      dmacap,memcpy;
 +                                      dmacap,xor;
 +                              };
 +                      };
 +
 +                      xor1: dma-engine@60900 {
 +                              compatible = "marvell,orion-xor";
 +                              reg = <0x60900 0x100
 +                                     0x60b00 0x100>;
 +                              clocks = <&gate_clk 24>;
 +                              status = "okay";
 +
 +                              channel0 {
 +                                      interrupts = <42>;
 +                                      dmacap,memcpy;
 +                                      dmacap,xor;
 +                              };
 +
 +                              channel1 {
 +                                      interrupts = <43>;
 +                                      dmacap,memcpy;
 +                                      dmacap,xor;
 +                              };
 +                      };
 +
 +                      sdio1: sdio-host@90000 {
 +                              compatible = "marvell,dove-sdhci";
 +                              reg = <0x90000 0x100>;
 +                              interrupts = <36>, <38>;
 +                              clocks = <&gate_clk 9>;
 +                              pinctrl-0 = <&pmx_sdio1>;
 +                              pinctrl-names = "default";
 +                              status = "disabled";
 +                      };
 +
 +                      eth: ethernet-ctrl@72000 {
 +                              compatible = "marvell,orion-eth";
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              reg = <0x72000 0x4000>;
 +                              clocks = <&gate_clk 2>;
 +                              marvell,tx-checksum-limit = <1600>;
 +                              status = "disabled";
 +
 +                              ethernet-port@0 {
-                                       device_type = "network";
 +                                      compatible = "marvell,orion-eth-port";
 +                                      reg = <0>;
 +                                      interrupts = <29>;
 +                                      /* overwrite MAC address in bootloader */
 +                                      local-mac-address = [00 00 00 00 00 00];
 +                                      phy-handle = <&ethphy>;
 +                              };
 +                      };
 +
 +                      mdio: mdio-bus@72004 {
 +                              compatible = "marvell,orion-mdio";
 +                              #address-cells = <1>;
 +                              #size-cells = <0>;
 +                              reg = <0x72004 0x84>;
 +                              interrupts = <30>;
 +                              clocks = <&gate_clk 2>;
 +                              status = "disabled";
 +
 +                              ethphy: ethernet-phy {
-                                       device_type = "ethernet-phy";
 +                                      /* set phy address in board file */
 +                              };
 +                      };
 +
 +                      sdio0: sdio-host@92000 {
 +                              compatible = "marvell,dove-sdhci";
 +                              reg = <0x92000 0x100>;
 +                              interrupts = <35>, <37>;
 +                              clocks = <&gate_clk 8>;
 +                              pinctrl-0 = <&pmx_sdio0>;
 +                              pinctrl-names = "default";
 +                              status = "disabled";
 +                      };
 +
 +                      sata0: sata-host@a0000 {
 +                              compatible = "marvell,orion-sata";
 +                              reg = <0xa0000 0x2400>;
 +                              interrupts = <62>;
 +                              clocks = <&gate_clk 3>;
 +                              phys = <&sata_phy0>;
 +                              phy-names = "port0";
 +                              nr-ports = <1>;
 +                              status = "disabled";
 +                      };
 +
 +                      sata_phy0: sata-phy@a2000 {
 +                              compatible = "marvell,mvebu-sata-phy";
 +                              reg = <0xa2000 0x0334>;
 +                              clocks = <&gate_clk 3>;
 +                              clock-names = "sata";
 +                              #phy-cells = <0>;
 +                              status = "ok";
 +                      };
 +
 +                      audio0: audio-controller@b0000 {
 +                              compatible = "marvell,dove-audio";
 +                              reg = <0xb0000 0x2210>;
 +                              interrupts = <19>, <20>;
 +                              clocks = <&gate_clk 12>;
 +                              clock-names = "internal";
 +                              status = "disabled";
 +                      };
 +
 +                      audio1: audio-controller@b4000 {
 +                              compatible = "marvell,dove-audio";
 +                              reg = <0xb4000 0x2210>;
 +                              interrupts = <21>, <22>;
 +                              clocks = <&gate_clk 13>;
 +                              clock-names = "internal";
 +                              status = "disabled";
 +                      };
 +
 +                      thermal: thermal-diode@d001c {
 +                              compatible = "marvell,dove-thermal";
 +                              reg = <0xd001c 0x0c>, <0xd005c 0x08>;
 +                      };
 +
 +                      gate_clk: clock-gating-ctrl@d0038 {
 +                              compatible = "marvell,dove-gating-clock";
 +                              reg = <0xd0038 0x4>;
 +                              clocks = <&core_clk 0>;
 +                              #clock-cells = <1>;
 +                      };
 +
 +                      pmu_intc: pmu-interrupt-ctrl@d0050 {
 +                              compatible = "marvell,dove-pmu-intc";
 +                              interrupt-controller;
 +                              #interrupt-cells = <1>;
 +                              reg = <0xd0050 0x8>;
 +                              interrupts = <33>;
 +                              marvell,#interrupts = <7>;
                        };
  
                        pinctrl: pin-ctrl@d0200 {
                                };
                        };
  
 -                      spi0: spi-ctrl@10600 {
 -                              compatible = "marvell,orion-spi";
 -                              #address-cells = <1>;
 -                              #size-cells = <0>;
 -                              cell-index = <0>;
 -                              interrupts = <6>;
 -                              reg = <0x10600 0x28>;
 -                              clocks = <&core_clk 0>;
 -                              pinctrl-0 = <&pmx_spi0>;
 -                              pinctrl-names = "default";
 -                              status = "disabled";
 -                      };
 -
 -                      spi1: spi-ctrl@14600 {
 -                              compatible = "marvell,orion-spi";
 -                              #address-cells = <1>;
 -                              #size-cells = <0>;
 -                              cell-index = <1>;
 -                              interrupts = <5>;
 -                              reg = <0x14600 0x28>;
 -                              clocks = <&core_clk 0>;
 -                              status = "disabled";
 -                      };
 -
 -                      i2c0: i2c-ctrl@11000 {
 -                              compatible = "marvell,mv64xxx-i2c";
 -                              reg = <0x11000 0x20>;
 -                              #address-cells = <1>;
 -                              #size-cells = <0>;
 -                              interrupts = <11>;
 -                              clock-frequency = <400000>;
 -                              timeout-ms = <1000>;
 -                              clocks = <&core_clk 0>;
 -                              status = "disabled";
 -                      };
 -
 -                      ehci0: usb-host@50000 {
 -                              compatible = "marvell,orion-ehci";
 -                              reg = <0x50000 0x1000>;
 -                              interrupts = <24>;
 -                              clocks = <&gate_clk 0>;
 -                              status = "okay";
 -                      };
 -
 -                      ehci1: usb-host@51000 {
 -                              compatible = "marvell,orion-ehci";
 -                              reg = <0x51000 0x1000>;
 -                              interrupts = <25>;
 -                              clocks = <&gate_clk 1>;
 -                              status = "okay";
 -                      };
 -
 -                      sdio0: sdio-host@92000 {
 -                              compatible = "marvell,dove-sdhci";
 -                              reg = <0x92000 0x100>;
 -                              interrupts = <35>, <37>;
 -                              clocks = <&gate_clk 8>;
 -                              pinctrl-0 = <&pmx_sdio0>;
 -                              pinctrl-names = "default";
 -                              status = "disabled";
 +                      core_clk: core-clocks@d0214 {
 +                              compatible = "marvell,dove-core-clock";
 +                              reg = <0xd0214 0x4>;
 +                              #clock-cells = <1>;
                        };
  
 -                      sdio1: sdio-host@90000 {
 -                              compatible = "marvell,dove-sdhci";
 -                              reg = <0x90000 0x100>;
 -                              interrupts = <36>, <38>;
 -                              clocks = <&gate_clk 9>;
 -                              pinctrl-0 = <&pmx_sdio1>;
 -                              pinctrl-names = "default";
 -                              status = "disabled";
 +                      gpio0: gpio-ctrl@d0400 {
 +                              compatible = "marvell,orion-gpio";
 +                              #gpio-cells = <2>;
 +                              gpio-controller;
 +                              reg = <0xd0400 0x20>;
 +                              ngpios = <32>;
 +                              interrupt-controller;
 +                              #interrupt-cells = <2>;
 +                              interrupts = <12>, <13>, <14>, <60>;
                        };
  
 -                      sata0: sata-host@a0000 {
 -                              compatible = "marvell,orion-sata";
 -                              reg = <0xa0000 0x2400>;
 -                              interrupts = <62>;
 -                              clocks = <&gate_clk 3>;
 -                              nr-ports = <1>;
 -                              status = "disabled";
 +                      gpio1: gpio-ctrl@d0420 {
 +                              compatible = "marvell,orion-gpio";
 +                              #gpio-cells = <2>;
 +                              gpio-controller;
 +                              reg = <0xd0420 0x20>;
 +                              ngpios = <32>;
 +                              interrupt-controller;
 +                              #interrupt-cells = <2>;
 +                              interrupts = <61>;
                        };
  
                        rtc: real-time-clock@d8500 {
                                compatible = "marvell,orion-rtc";
                                reg = <0xd8500 0x20>;
 +                              interrupt-parent = <&pmu_intc>;
 +                              interrupts = <5>;
                        };
  
 -                      crypto: crypto-engine@30000 {
 -                              compatible = "marvell,orion-crypto";
 -                              reg = <0x30000 0x10000>,
 -                                    <0xffffe000 0x800>;
 -                              reg-names = "regs", "sram";
 -                              interrupts = <31>;
 -                              clocks = <&gate_clk 15>;
 -                              status = "okay";
 -                      };
 -
 -                      xor0: dma-engine@60800 {
 -                              compatible = "marvell,orion-xor";
 -                              reg = <0x60800 0x100
 -                                     0x60a00 0x100>;
 -                              clocks = <&gate_clk 23>;
 -                              status = "okay";
 -
 -                              channel0 {
 -                                      interrupts = <39>;
 -                                      dmacap,memcpy;
 -                                      dmacap,xor;
 -                              };
 -
 -                              channel1 {
 -                                      interrupts = <40>;
 -                                      dmacap,memcpy;
 -                                      dmacap,xor;
 -                              };
 -                      };
 -
 -                      xor1: dma-engine@60900 {
 -                              compatible = "marvell,orion-xor";
 -                              reg = <0x60900 0x100
 -                                     0x60b00 0x100>;
 -                              clocks = <&gate_clk 24>;
 -                              status = "okay";
 -
 -                              channel0 {
 -                                      interrupts = <42>;
 -                                      dmacap,memcpy;
 -                                      dmacap,xor;
 -                              };
 -
 -                              channel1 {
 -                                      interrupts = <43>;
 -                                      dmacap,memcpy;
 -                                      dmacap,xor;
 -                              };
 -                      };
 -
 -                      mdio: mdio-bus@72004 {
 -                              compatible = "marvell,orion-mdio";
 -                              #address-cells = <1>;
 -                              #size-cells = <0>;
 -                              reg = <0x72004 0x84>;
 -                              interrupts = <30>;
 -                              clocks = <&gate_clk 2>;
 -                              status = "disabled";
 -
 -                              ethphy: ethernet-phy {
 -                                      /* set phy address in board file */
 -                              };
 -                      };
 -
 -                      eth: ethernet-ctrl@72000 {
 -                              compatible = "marvell,orion-eth";
 -                              #address-cells = <1>;
 -                              #size-cells = <0>;
 -                              reg = <0x72000 0x4000>;
 -                              clocks = <&gate_clk 2>;
 -                              marvell,tx-checksum-limit = <1600>;
 -                              status = "disabled";
 -
 -                              ethernet-port@0 {
 -                                      compatible = "marvell,orion-eth-port";
 -                                      reg = <0>;
 -                                      interrupts = <29>;
 -                                      /* overwrite MAC address in bootloader */
 -                                      local-mac-address = [00 00 00 00 00 00];
 -                                      phy-handle = <&ethphy>;
 -                              };
 -                      };
 -
 -                      audio0: audio-controller@b0000 {
 -                              compatible = "marvell,dove-audio";
 -                              reg = <0xb0000 0x2210>;
 -                              interrupts = <19>, <20>;
 -                              clocks = <&gate_clk 12>;
 -                              clock-names = "internal";
 -                              status = "disabled";
 -                      };
 -
 -                      audio1: audio-controller@b4000 {
 -                              compatible = "marvell,dove-audio";
 -                              reg = <0xb4000 0x2210>;
 -                              interrupts = <21>, <22>;
 -                              clocks = <&gate_clk 13>;
 -                              clock-names = "internal";
 -                              status = "disabled";
 +                      gpio2: gpio-ctrl@e8400 {
 +                              compatible = "marvell,orion-gpio";
 +                              #gpio-cells = <2>;
 +                              gpio-controller;
 +                              reg = <0xe8400 0x0c>;
 +                              ngpios = <8>;
                        };
                };
        };
index bb4df405527c825b8dbfb7df8ba3c5330f8163c0,14fd53d1bf8ab2532d0d5352fec2483d171ee656..0e06fd3cee4dc40113e94420f767d4ffba7301c7
@@@ -66,8 -66,8 +66,8 @@@
  
                button@1 {
                        label = "Power push button";
 -                      linux,code = <116>;
 -                      gpios = <&gpio0 16 1>;
 +                      linux,code = <KEY_POWER>;
 +                      gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
                };
        };
  
  
                red-fail {
                        label = "cloudbox:red:fail";
 -                      gpios = <&gpio0 14 0>;
 +                      gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
                };
                blue-sata {
                        label = "cloudbox:blue:sata";
 -                      gpios = <&gpio0 15 0>;
 +                      gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
                };
        };
  
        gpio_poweroff {
                compatible = "gpio-poweroff";
 -              gpios = <&gpio0 17 0>;
 +              gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
        };
  };
  
@@@ -94,7 -94,6 +94,6 @@@
        status = "okay";
  
        ethphy0: ethernet-phy@0 {
-               device_type = "ethernet-phy";
                reg = <0>;
        };
  };
index afebc157031828ddd850a6186cbdfb5e6e42b869,0de6d7110c357e85bbe977343bf36b74054b64d5..02d1225ef99f8364c1d9a03987d73ed357b4c428
@@@ -51,8 -51,8 +51,8 @@@
                mvsdio@90000 {
                        pinctrl-0 = <&pmx_sdio_gpios>;
                        pinctrl-names = "default";
 -                      wp-gpios = <&gpio1 5 0>;
 -                      cd-gpios = <&gpio1 6 0>;
 +                      wp-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
 +                      cd-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
                        status = "okay";
                };
        };
@@@ -84,7 -84,6 +84,6 @@@
        status = "okay";
  
        ethphy0: ethernet-phy@8 {
-               device_type = "ethernet-phy";
                reg = <8>;
        };
  };
index 12087566ac6de1ba640f8875390ec125c5dec7a1,e5ede2fe05ba059e07a619688b09494caa671cc2..d5aa9564a287ee44589ede975c4d591f43747842
  
                button@1 {
                        label = "Power button";
 -                      linux,code = <116>;
 -                      gpios = <&gpio1 2 1>;
 +                      linux,code = <KEY_POWER>;
 +                      gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
                };
                button@2 {
                        label = "USB unmount button";
 -                      linux,code = <161>;
 -                      gpios = <&gpio1 15 1>;
 +                      linux,code = <KEY_EJECTCD>;
 +                      gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
                };
                button@3 {
                        label = "Reset button";
 -                      linux,code = <0x198>;
 -                      gpios = <&gpio1 16 1>;
 +                      linux,code = <KEY_RESTART>;
 +                      gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
                };
        };
  
@@@ -35,8 -35,8 +35,8 @@@
                compatible = "gpio-fan";
                pinctrl-0 = <&pmx_fan_high_speed &pmx_fan_low_speed>;
                pinctrl-names = "default";
 -              gpios = <&gpio1 14 1
 -                       &gpio1 13 1>;
 +              gpios = <&gpio1 14 GPIO_ACTIVE_LOW
 +                       &gpio1 13 GPIO_ACTIVE_LOW>;
                gpio-fan,speed-map = <0    0
                                      3000 1
                                      6000 2>;
@@@ -46,7 -46,7 +46,7 @@@
                compatible = "gpio-poweroff";
                pinctrl-0 = <&pmx_power_off>;
                pinctrl-names = "default";
 -              gpios = <&gpio1 4 0>;
 +              gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
        };
  
        ocp@f1000000 {
        status = "okay";
  
        ethphy0: ethernet-phy@8 {
-               device_type = "ethernet-phy";
                reg = <8>;
        };
  };
index 2a41c75c5c21f4118a8db5662602452632c84eeb,aa6725577fc67937f42817979c2bd4aa33f4822f..f31312ebd0d60b17538dd1b8bd8250ee80bf88ea
  
                health {
                        label = "status:green:health";
 -                      gpios = <&gpio1 14 1>;
 -                      linux,default-trigger = "default-on";
 +                      gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
 +                      default-state = "keep";
                };
                fault {
                        label = "status:orange:fault";
 -                      gpios = <&gpio1 15 1>;
 +                      gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
                };
        };
        regulators {
@@@ -95,7 -95,6 +95,6 @@@
        status = "okay";
  
        ethphy0: ethernet-phy@0 {
-               device_type = "ethernet-phy";
                compatible = "marvell,88e1116";
                reg = <0>;
        };
index a7558375e06f15ec08a3194145314edb11964072,12dc7d6b32310e52c3a781a78cde17a5f71d28bc..ef3463e0ae1939be8bcffa3a7d0200c387a8dc5f
  
                bluetooth {
                        label = "dreamplug:blue:bluetooth";
 -                      gpios = <&gpio1 15 1>;
 +                      gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
                };
                wifi {
                        label = "dreamplug:green:wifi";
 -                      gpios = <&gpio1 16 1>;
 +                      gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
                };
                wifi-ap {
                        label = "dreamplug:green:wifi_ap";
 -                      gpios = <&gpio1 17 1>;
 +                      gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
                };
        };
  };
        status = "okay";
  
        ethphy0: ethernet-phy@0 {
-               device_type = "ethernet-phy";
                reg = <0>;
        };
  
        ethphy1: ethernet-phy@1 {
-               device_type = "ethernet-phy";
                reg = <1>;
        };
  };
index c2e512953570a729717999f046924496fc2aa223,df1f5a8b05bb45aa20b063ffba4824529ea16d3a..eb93294201070aa84cd212b23924e7720ecd9b24
  
                health {
                        label = "status:green:health";
 -                      gpios = <&gpio1 14 1>;
 -                      linux,default-trigger = "default-on";
 +                      gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
 +                      default-state = "keep";
                };
                fault {
                        label = "status:orange:fault";
 -                      gpios = <&gpio1 15 1>;
 +                      gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
                };
                left0 {
                        label = "status:white:left0";
 -                      gpios = <&gpio1 10 0>;
 +                      gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
                };
                left1 {
                        label = "status:white:left1";
 -                      gpios = <&gpio1 11 0>;
 +                      gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
                };
                left2 {
                        label = "status:white:left2";
 -                      gpios = <&gpio1 12 0>;
 +                      gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
                };
                left3 {
                        label = "status:white:left3";
 -                      gpios = <&gpio1 13 0>;
 +                      gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
                };
                right0 {
                        label = "status:white:right0";
 -                      gpios = <&gpio1 6 0>;
 +                      gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
                };
                right1 {
                        label = "status:white:right1";
 -                      gpios = <&gpio1 7 0>;
 +                      gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
                };
                right2 {
                        label = "status:white:right2";
 -                      gpios = <&gpio1 8 0>;
 +                      gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
                };
                right3 {
                        label = "status:white:right3";
 -                      gpios = <&gpio1 9 0>;
 +                      gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
                };
        };
        regulators {
                        enable-active-high;
                        regulator-always-on;
                        regulator-boot-on;
 -                      gpio = <&gpio0 29 0>;
 +                      gpio = <&gpio0 29 GPIO_ACTIVE_HIGH>;
                };
        };
  };
        status = "okay";
  
        ethphy0: ethernet-phy@0 {
-               device_type = "ethernet-phy";
                reg = <0>;
        };
  };
index 0b557d5cb723823ddce68e5261488c2e815bd45a,b68bd22b0d77bb7b231a87738700eff6f817466e..2d51fce74a5ad17894d6e9661384f0aacdced2d1
                        nr-ports = <1>;
                };
  
 +              /* AzureWave AW-GH381 WiFi/BT */
                mvsdio@90000 {
                        status = "okay";
 -                      /* No CD or WP GPIOs */
 -                      broken-cd;
 +                      non-removable;
                };
        };
  
  
                health-r {
                        label = "guruplug:red:health";
 -                      gpios = <&gpio1 14 1>;
 +                      gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
                };
                health-g {
                        label = "guruplug:green:health";
 -                      gpios = <&gpio1 15 1>;
 +                      gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
                };
                wmode-r {
                        label = "guruplug:red:wmode";
 -                      gpios = <&gpio1 16 1>;
 +                      gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
                };
                wmode-g {
                        label = "guruplug:green:wmode";
 -                      gpios = <&gpio1 17 1>;
 +                      gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
                };
        };
  };
        status = "okay";
  
        ethphy0: ethernet-phy@0 {
-               device_type = "ethernet-phy";
                compatible = "marvell,88e1121";
                reg = <0>;
        };
  
        ethphy1: ethernet-phy@1 {
-               device_type = "ethernet-phy";
                compatible = "marvell,88e1121";
                reg = <1>;
        };
index 6ccc78866e6dc97b14884c521eb7b93ec9c5a942,5c0d7250efd5dc5cab009d20e5a3276225027e7a..a1add3f215e394aaeb006c711c5f2f8ce5fbf58c
  
                button@1 {
                        label = "USB Copy";
 -                      linux,code = <133>;
 -                      gpios = <&gpio0 29 1>;
 +                      linux,code = <KEY_COPY>;
 +                      gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
                };
                button@2 {
                        label = "Reset";
 -                      linux,code = <0x198>;
 -                      gpios = <&gpio0 28 1>;
 +                      linux,code = <KEY_RESTART>;
 +                      gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
                };
        };
  
  
                green-os {
                        label = "ib62x0:green:os";
 -                      gpios = <&gpio0 25 0>;
 -                      linux,default-trigger = "default-on";
 +                      gpios = <&gpio0 25 GPIO_ACTIVE_HIGH>;
 +                      default-state = "keep";
                };
                red-os {
                        label = "ib62x0:red:os";
 -                      gpios = <&gpio0 22 0>;
 +                      gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;
                };
                usb-copy {
                        label = "ib62x0:red:usb_copy";
 -                      gpios = <&gpio0 27 0>;
 +                      gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>;
                };
        };
  
@@@ -98,7 -98,7 +98,7 @@@
                compatible = "gpio-poweroff";
                pinctrl-0 = <&pmx_power_off>;
                pinctrl-names = "default";
 -              gpios = <&gpio0 24 0>;
 +              gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>;
        };
  };
  
        status = "okay";
  
        ethphy0: ethernet-phy@8 {
-               device_type = "ethernet-phy";
                reg = <8>;
        };
  };
index f7636291de77bbec296f632c528bebd7303d7ec4,42f2bd774d71ca049b0240faa14b227987fa3f1d..8d8c80e3656d6ebaf36c71dfc0351dbe28efe5b3
  
                led-level {
                        label = "led_level";
 -                      gpios = <&gpio1 9 0>;
 -                      linux,default-trigger = "default-on";
 +                      gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
 +                      default-state = "on";
                };
                power-blue {
                        label = "power:blue";
 -                      gpios = <&gpio1 10 0>;
 -                      linux,default-trigger = "timer";
 +                      gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
 +                      default-state = "keep";
                };
                power-red {
                        label = "power:red";
 -                      gpios = <&gpio1 11 0>;
 +                      gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
                };
                usb1 {
                        label = "usb1:blue";
 -                      gpios = <&gpio1 12 0>;
 +                      gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
                };
                usb2 {
                        label = "usb2:blue";
 -                      gpios = <&gpio1 13 0>;
 +                      gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
                };
                usb3 {
                        label = "usb3:blue";
 -                      gpios = <&gpio1 14 0>;
 +                      gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
                };
                usb4 {
                        label = "usb4:blue";
 -                      gpios = <&gpio1 15 0>;
 +                      gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
                };
                otb {
                        label = "otb:blue";
 -                      gpios = <&gpio1 16 0>;
 +                      gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>;
                };
        };
  
  
                button@1 {
                        label = "OTB Button";
 -                      linux,code = <133>;
 -                      gpios = <&gpio1 3 1>;
 +                      linux,code = <KEY_COPY>;
 +                      gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
                        debounce-interval = <100>;
                };
                button@2 {
                        label = "Reset";
 -                      linux,code = <0x198>;
 -                      gpios = <&gpio0 12 1>;
 +                      linux,code = <KEY_RESTART>;
 +                      gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
                        debounce-interval = <100>;
                };
        };
        status = "okay";
  
        ethphy0: ethernet-phy@11 {
-               device_type = "ethernet-phy";
                reg = <11>;
        };
  };
index 589000631b5a581e23a9afa8b469c2c513e7ff59,4ff9f65de2a08dcb1e0252d7ad15f8eb59e58c50..59e7a5adeedbcb7791994bc2a506dca5d73c2e05
  
                power_led {
                        label = "status:white:power_led";
 -                      gpios = <&gpio0 16 0>;
 -                      linux,default-trigger = "default-on";
 +                      gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
 +                      default-state = "keep";
                };
                rebuild_led {
                        label = "status:white:rebuild_led";
 -                      gpios = <&gpio1 4 0>;
 +                      gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
                };
                health_led {
                        label = "status:red:health_led";
 -                      gpios = <&gpio1 5 0>;
 +                      gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
                };
                backup_led {
                        label = "status:blue:backup_led";
 -                      gpios = <&gpio0 15 0>;
 +                      gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
                };
        };
        gpio-keys {
  
                Power {
                        label = "Power Button";
 -                      linux,code = <116>;
 -                      gpios = <&gpio0 14 1>;
 +                      linux,code = <KEY_POWER>;
 +                      gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
                };
                Reset {
                        label = "Reset Button";
 -                      linux,code = <0x198>;
 -                      gpios = <&gpio0 12 1>;
 +                      linux,code = <KEY_RESTART>;
 +                      gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
                };
                OTB {
                        label = "OTB Button";
 -                      linux,code = <133>;
 -                      gpios = <&gpio1 3 1>;
 +                      linux,code = <KEY_COPY>;
 +                      gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
                };
        };
  };
        status = "okay";
  
        ethphy1: ethernet-phy@11 {
-               device_type = "ethernet-phy";
                reg = <11>;
        };
  };
index 5b5808ebc6e0771a521ac9e4e72eac78149149df,0dc3cfeca4c89610d2dcda941786ebac27199757..04a1e44541b34b302a1e86100dd13a169e60c440
@@@ -38,8 -38,8 +38,8 @@@
  
        i2c@0 {
                compatible = "i2c-gpio";
 -              gpios = < &gpio0 8 0            /* sda */
 -                      &gpio0 9 0 >;           /* scl */
 +              gpios = < &gpio0 8 GPIO_ACTIVE_HIGH             /* sda */
 +                        &gpio0 9 GPIO_ACTIVE_HIGH>;           /* scl */
                i2c-gpio,delay-us = <2>;        /* ~100 kHz */
        };
  };
@@@ -55,7 -55,6 +55,6 @@@
        status = "okay";
  
        ethphy0: ethernet-phy@0 {
-               device_type = "ethernet-phy";
                reg = <0>;
        };
  };
index fc1cd3b7b9687c190fc27122cee71aabc2dd8208,addcc89916ebcef68840a7477101d4c7dd599279..1656653d339b55cebf1456d189f90b142bb6ec75
  
                button@1 {
                        label = "Function Button";
 -                      linux,code = <357>;
 -                      gpios = <&gpio1 9 1>;
 +                      linux,code = <KEY_OPTION>;
 +                      gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
                };
                button@2 {
                        label = "Power-on Switch";
 -                      linux,code = <0>;
 +                      linux,code = <KEY_RESERVED>;
                        linux,input-type = <5>;
 -                      gpios = <&gpio1 10 1>;
 +                      gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
                };
                button@3 {
                        label = "Power-auto Switch";
 -                      linux,code = <1>;
 +                      linux,code = <KEY_ESC>;
                        linux,input-type = <5>;
 -                      gpios = <&gpio1 11 1>;
 +                      gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
                };
        };
  
  
                led@1 {
                        label = "lsxl:blue:func";
 -                      gpios = <&gpio1 4 1>;
 +                      gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
                };
  
                led@2 {
                        label = "lsxl:red:alarm";
 -                      gpios = <&gpio1 5 1>;
 +                      gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
                };
  
                led@3 {
                        label = "lsxl:amber:info";
 -                      gpios = <&gpio1 6 1>;
 +                      gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
                };
  
                led@4 {
                        label = "lsxl:blue:power";
 -                      gpios = <&gpio1 7 1>;
 -                      linux,default-trigger = "default-on";
 +                      gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
 +                      default-state = "keep";
                };
  
                led@5 {
                        label = "lsxl:red:func";
 -                      gpios = <&gpio1 16 1>;
 +                      gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
                };
        };
  
                compatible = "gpio-fan";
                pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
                pinctrl-names = "default";
 -              gpios = <&gpio0 19 1
 -                       &gpio0 18 1>;
 +              gpios = <&gpio0 19 GPIO_ACTIVE_LOW
 +                       &gpio0 18 GPIO_ACTIVE_LOW>;
                gpio-fan,speed-map = <0    3
                                      1500 2
                                      3250 1
                                      5000 0>;
 -              alarm-gpios = <&gpio1 8 0>;
 +              alarm-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
        };
  
        restart_poweroff {
        status = "okay";
  
        ethphy0: ethernet-phy@0 {
-               device_type = "ethernet-phy";
                reg = <0>;
        };
  
        ethphy1: ethernet-phy@8 {
-               device_type = "ethernet-phy";
                reg = <8>;
        };
  };
index c20607cd7d7c774d7819b6cb2aba522cc2bad3eb,8b78241dfe6df56e80dc923d8da4f714f97e7659..73722c06750182cd003bb67e264d574616415412
                        pinctrl-0 = <&pmx_sdio &pmx_sdio_cd>;
                        pinctrl-names = "default";
                        status = "okay";
 -                      cd-gpios = <&gpio1 15 1>;
 +                      cd-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
                        /* No WP GPIO */
                };
        };
  
                health {
                        label = "status:green:health";
 -                      gpios = <&gpio0 7 1>;
 +                      gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
                };
  
                user1o {
                        label = "user1:orange";
 -                      gpios = <&gpio1 8 1>;
 +                      gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
                        default-state = "on";
                };
  
                user1g {
                        label = "user1:green";
 -                      gpios = <&gpio1 9 1>;
 +                      gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
                        default-state = "on";
                };
  
                user0o {
                        label = "user0:orange";
 -                      gpios = <&gpio1 12 1>;
 +                      gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
                        default-state = "on";
                };
  
                user0g {
                        label = "user0:green";
 -                      gpios = <&gpio1 13 1>;
 +                      gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
                        default-state = "on";
                };
  
                misc {
                        label = "status:orange:misc";
 -                      gpios = <&gpio1 14 1>;
 +                      gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
                        default-state = "on";
                };
  
        status = "okay";
  
        ethphy0: ethernet-phy@1 {
-               device_type = "ethernet-phy";
                reg = <1>;
        };
  
        ethphy1: ethernet-phy@2 {
-               device_type = "ethernet-phy";
                reg = <2>;
        };
  };
index 4d2a8db9ab77b40b1145c84e5209960efa7cb7ce,00c0669b1b8c91cc35a8be62a98d6796f86d99fd..4838478019ccb94a88f6f4027f7e60125c42a6d9
@@@ -1,14 -1,3 +1,14 @@@
 +/*
 + * Device Tree file for NETGEAR ReadyNAS Duo v2
 + *
 + * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>
 + *
 + * This program is free software; you can redistribute it and/or
 + * modify it under the terms of the GNU General Public License
 + * as published by the Free Software Foundation; either version
 + * 2 of the License, or (at your option) any later version.
 + */
 +
  /dts-v1/;
  
  #include "kirkwood.dtsi"
                                marvell,pins = "mpp47";
                                marvell,function = "gpio";
                        };
 +
                        pmx_button_backup: pmx-button-backup {
                                marvell,pins = "mpp45";
                                marvell,function = "gpio";
                        };
 +
                        pmx_button_reset: pmx-button-reset {
                                marvell,pins = "mpp13";
                                marvell,function = "gpio";
                        };
 +
                        pmx_led_blue_power: pmx-led-blue-power {
                                marvell,pins = "mpp31";
                                marvell,function = "gpio";
                        };
 +
                        pmx_led_blue_activity: pmx-led-blue-activity {
                                marvell,pins = "mpp38";
                                marvell,function = "gpio";
                        };
 +
                        pmx_led_blue_disk1: pmx-led-blue-disk1 {
                                marvell,pins = "mpp23";
                                marvell,function = "gpio";
                        };
 +
                        pmx_led_blue_disk2: pmx-led-blue-disk2 {
                                marvell,pins = "mpp22";
                                marvell,function = "gpio";
                        };
 +
                        pmx_led_blue_backup: pmx-led-blue-backup {
                                marvell,pins = "mpp29";
                                marvell,function = "gpio";
                        };
 +
 +                      pmx_poweroff: pmx-poweroff {
 +                              marvell,pins = "mpp30";
 +                              marvell,function = "gpio";
 +                      };
                };
  
                clocks {
 -                     #address-cells = <1>;
 -                     #size-cells = <0>;
 -
 -                     g762_clk: fixedclk {
 +                     g762_clk: g762-oscillator {
                                 compatible = "fixed-clock";
                                 #clock-cells = <0>;
                                 clock-frequency = <8192>;
  
                power_led {
                        label = "status:blue:power_led";
 -                      gpios = <&gpio0 31 1>;   /* GPIO 31 Active Low */
 -                      linux,default-trigger = "default-on";
 +                      gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
 +                      default-state = "keep";
                };
 +
                activity_led {
                        label = "status:blue:activity_led";
 -                      gpios = <&gpio1 6 1>;    /* GPIO 38 Active Low */
 +                      gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
                };
 +
                disk1_led {
                        label = "status:blue:disk1_led";
 -                      gpios = <&gpio0 23 1>;   /* GPIO 23 Active Low */
 +                      gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
                };
 +
                disk2_led {
                        label = "status:blue:disk2_led";
 -                      gpios = <&gpio0 22 1>;   /* GPIO 22 Active Low */
 +                      gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
                };
 +
                backup_led {
                        label = "status:blue:backup_led";
 -                      gpios = <&gpio0 29 1>;   /* GPIO 29 Active Low*/
 +                      gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
                };
        };
  
 -      gpio_keys {
 +      gpio-keys {
                compatible = "gpio-keys";
 -              #address-cells = <1>;
 -              #size-cells = <0>;
                pinctrl-0 = <&pmx_button_power &pmx_button_backup
                             &pmx_button_reset>;
                pinctrl-names = "default";
  
 -              button@1 {
 +              power-button {
                        label = "Power Button";
 -                      linux,code = <116>;     /* KEY_POWER */
 -                      gpios = <&gpio1 15 1>;
 +                      linux,code = <KEY_POWER>;
 +                      gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
                };
 -              button@2 {
 +
 +              reset-button {
                        label = "Reset Button";
 -                      linux,code = <0x198>;   /* KEY_RESTART */
 -                      gpios = <&gpio0 13 1>;
 +                      linux,code = <KEY_RESTART>;
 +                      gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
                };
 -              button@3 {
 +
 +              backup-button {
                        label = "Backup Button";
 -                      linux,code = <133>;     /* KEY_COPY */
 -                      gpios = <&gpio1 13 1>;
 +                      linux,code = <KEY_COPY>;
 +                      gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
                };
        };
  
 -        regulators {
 -                compatible = "simple-bus";
 -                #address-cells = <1>;
 -                #size-cells = <0>;
 -
 -                usb_power: regulator@1 {
 -                        compatible = "regulator-fixed";
 -                        reg = <1>;
 -                        regulator-name = "USB 3.0 Power";
 -                        regulator-min-microvolt = <5000000>;
 -                        regulator-max-microvolt = <5000000>;
 -                        enable-active-high;
 -                        regulator-always-on;
 -                        regulator-boot-on;
 -                        gpio = <&gpio1 14 0>;
 -                };
 -        };
 +      gpio-poweroff {
 +              compatible = "gpio-poweroff";
 +              pinctrl-0 = <&pmx_poweroff>;
 +              pinctrl-names = "default";
 +              gpios = <&gpio0 30 GPIO_ACTIVE_LOW>;
 +      };
 +
 +      regulators {
 +              compatible = "simple-bus";
 +              #address-cells = <1>;
 +              #size-cells = <0>;
 +
 +              usb3_regulator: usb3-regulator {
 +                      compatible = "regulator-fixed";
 +                      reg = <1>;
 +                      regulator-name = "USB 3.0 Power";
 +                      regulator-min-microvolt = <5000000>;
 +                      regulator-max-microvolt = <5000000>;
 +                      enable-active-high;
 +                      regulator-always-on;
 +                      regulator-boot-on;
 +                      gpio = <&gpio1 14 GPIO_ACTIVE_HIGH>;
 +              };
 +      };
  };
  
  &nand {
  &mdio {
        status = "okay";
  
 -      ethphy0: ethernet-phy@0 {
 +      ethphy0: ethernet-phy@0 { /* Marvell 88E1318 */
-               device_type = "ethernet-phy";
                reg = <0>;
        };
  };
index ae1ccbe41029d32d8da5cb8e7722fffcb1b5b1e1,53ca709c8e292630ffb820043c6b24bf03520516..743152f31a815b0e970b7dab80e4ed8af94adb87
@@@ -64,8 -64,8 +64,8 @@@
  
                button@1 {
                        label = "Power push button";
 -                      linux,code = <116>;
 -                      gpios = <&gpio1 0 0>;
 +                      linux,code = <KEY_POWER>;
 +                      gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
                };
        };
  
  
                red-fail {
                        label = "ns2:red:fail";
 -                      gpios = <&gpio0 12 0>;
 +                      gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
                };
        };
  
        gpio_poweroff {
                compatible = "gpio-poweroff";
 -              gpios = <&gpio0 31 0>;
 +              gpios = <&gpio0 31 GPIO_ACTIVE_HIGH>;
        };
  
  };
@@@ -89,7 -89,6 +89,6 @@@
        status = "okay";
  
        ethphy0: ethernet-phy {
-               device_type = "ethernet-phy";
                  /* overwrite reg property in board file */
        };
  };
index 5c6a4f1b4e93270137e988caa113da3ecce0c4cf,3d2f2b18bde086e2d9fb76b08d731769df888173..b88da9392c32dd93780ead4c80dd8b5e4bf6934a
  
                led-red {
                        label = "obsa6:red:stat";
 -                      gpios = <&gpio1 9 1>;
 +                      gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
                };
  
                led-green {
                        label = "obsa6:green:stat";
 -                      gpios = <&gpio1 10 1>;
 +                      gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
                };
  
                led-yellow {
                        label = "obsa6:yellow:stat";
 -                      gpios = <&gpio1 11 1>;
 +                      gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
                };
          };
  
  
                button@1 {
                        label = "Init Button";
 -                      linux,code = <116>;
 -                      gpios = <&gpio1 6 0>;
 +                      linux,code = <KEY_POWER>;
 +                      gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
                };
        };
  };
        status = "okay";
  
        ethphy0: ethernet-phy@0 {
-               device_type = "ethernet-phy";
                reg = <0>;
        };
  };
index c054ef61cff5996ae2eeee39259b7a76433c875c,24b063f1b698686bfd345885c65e1ae270d79635..b2f7cae0683959f7c75ba82b0a195762d7fd32f4
  
                led-red {
                        label = "obsa7:red:stat";
 -                      gpios = <&gpio1 9 1>;
 +                      gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
                };
  
                led-green {
                        label = "obsa7:green:stat";
 -                      gpios = <&gpio1 10 1>;
 +                      gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
                };
  
                led-yellow {
                        label = "obsa7:yellow:stat";
 -                      gpios = <&gpio1 11 1>;
 +                      gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
                };
          };
  
  
                button@1 {
                        label = "Init Button";
 -                      linux,code = <116>;
 -                      gpios = <&gpio1 6 0>;
 +                      linux,code = <KEY_POWER>;
 +                      gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
                };
        };
  };
        status = "okay";
  
        ethphy0: ethernet-phy@0 {
-               device_type = "ethernet-phy";
                reg = <0>;
        };
  
        ethphy1: ethernet-phy@1 {
-               device_type = "ethernet-phy";
                reg = <1>;
        };
  };
index 7b1cd993e891126fdc4f08e445b7371f890e1ff3,428aeff275ead25c37d64e0f4b161dd0b4b2056e..1ff848d570a9a02921122140fd78f02d8759fd86
@@@ -1,5 -1,5 +1,5 @@@
  /*
 - * kirkwood-sheevaplug-common.dts - Common parts for Sheevaplugs
 + * kirkwood-sheevaplug-common.dtsi - Common parts for Sheevaplugs
   *
   * Copyright (C) 2013 Simon Baatz <gmbnomis@gmail.com>
   *
@@@ -96,7 -96,6 +96,6 @@@
        status = "okay";
  
        ethphy0: ethernet-phy@0 {
-               device_type = "ethernet-phy";
                reg = <0>;
        };
  };
index 40d6adf678ca1193fc6966090b5757b052336016,67b8c91bca4d0ba34b7f501ad5d4ca52ad509b03..5fc817c2cb87379dd3fbe9513dded60ae00c92e8
  
                disk {
                        label = "topkick:yellow:disk";
 -                      gpios = <&gpio0 21 1>;
 +                      gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
                        linux,default-trigger = "ide-disk";
                };
                system2 {
                        label = "topkick:red:system";
 -                      gpios = <&gpio1 5 1>;
 +                      gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
                };
                system {
                        label = "topkick:blue:system";
 -                      gpios = <&gpio1 6 1>;
 +                      gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
                        default-state = "on";
                };
                wifi {
                        label = "topkick:green:wifi";
 -                      gpios = <&gpio1 7 1>;
 +                      gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
                };
                wifi2 {
                        label = "topkick:yellow:wifi";
 -                      gpios = <&gpio1 16 1>;
 +                      gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
                };
        };
        regulators {
        status = "okay";
  
        ethphy0: ethernet-phy@0 {
-               device_type = "ethernet-phy";
                reg = <0>;
        };
  };
index 81e6c409284e8a42ad68373bee24570151cde287,2c9d3808d61d1e6384d110ebcc1e870815807864..6abf44d257dfa3fd7cadd8ca85a005d4ad9eed8f
@@@ -1,6 -1,4 +1,6 @@@
  /include/ "skeleton.dtsi"
 +#include <dt-bindings/input/input.h>
 +#include <dt-bindings/gpio/gpio.h>
  
  #define MBUS_ID(target,attributes) (((target) << 24) | ((attributes) << 16))
  
                #address-cells = <1>;
                #size-cells = <1>;
  
 -              mbusc: mbus-controller@20000 {
 -                      compatible = "marvell,mbus-controller";
 -                      reg = <0x20000 0x80>, <0x1500 0x20>;
 -              };
 -
 -              timer: timer@20300 {
 -                      compatible = "marvell,orion-timer";
 -                      reg = <0x20300 0x20>;
 -                      interrupt-parent = <&bridge_intc>;
 -                      interrupts = <1>, <2>;
 -                      clocks = <&core_clk 0>;
 -              };
 -
 -              intc: main-interrupt-ctrl@20200 {
 -                      compatible = "marvell,orion-intc";
 -                      interrupt-controller;
 -                      #interrupt-cells = <1>;
 -                      reg = <0x20200 0x10>, <0x20210 0x10>;
 -              };
 -
 -              bridge_intc: bridge-interrupt-ctrl@20110 {
 -                      compatible = "marvell,orion-bridge-intc";
 -                      interrupt-controller;
 -                      #interrupt-cells = <1>;
 -                      reg = <0x20110 0x8>;
 -                      interrupts = <1>;
 -                      marvell,#interrupts = <6>;
 -              };
 -
                core_clk: core-clocks@10030 {
                        compatible = "marvell,kirkwood-core-clock";
                        reg = <0x10030 0x4>;
 -                      #clock-cells = <1>;
 +                      #clock-cells = <1>;
 +              };
 +
 +              spi@10600 {
 +                      compatible = "marvell,orion-spi";
 +                      #address-cells = <1>;
 +                      #size-cells = <0>;
 +                      cell-index = <0>;
 +                      interrupts = <23>;
 +                      reg = <0x10600 0x28>;
 +                      clocks = <&gate_clk 7>;
 +                      status = "disabled";
                };
  
                gpio0: gpio@10100 {
                        clocks = <&gate_clk 7>;
                };
  
 +              i2c@11000 {
 +                      compatible = "marvell,mv64xxx-i2c";
 +                      reg = <0x11000 0x20>;
 +                      #address-cells = <1>;
 +                      #size-cells = <0>;
 +                      interrupts = <29>;
 +                      clock-frequency = <100000>;
 +                      clocks = <&gate_clk 7>;
 +                      status = "disabled";
 +              };
 +
                serial@12000 {
                        compatible = "ns16550a";
                        reg = <0x12000 0x100>;
                        status = "disabled";
                };
  
 -              spi@10600 {
 -                      compatible = "marvell,orion-spi";
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      cell-index = <0>;
 -                      interrupts = <23>;
 -                      reg = <0x10600 0x28>;
 -                      clocks = <&gate_clk 7>;
 -                      status = "disabled";
 +              mbusc: mbus-controller@20000 {
 +                      compatible = "marvell,mbus-controller";
 +                      reg = <0x20000 0x80>, <0x1500 0x20>;
 +              };
 +
 +              bridge_intc: bridge-interrupt-ctrl@20110 {
 +                      compatible = "marvell,orion-bridge-intc";
 +                      interrupt-controller;
 +                      #interrupt-cells = <1>;
 +                      reg = <0x20110 0x8>;
 +                      interrupts = <1>;
 +                      marvell,#interrupts = <6>;
                };
  
                gate_clk: clock-gating-control@2011c {
                        #clock-cells = <1>;
                };
  
 +              intc: main-interrupt-ctrl@20200 {
 +                      compatible = "marvell,orion-intc";
 +                      interrupt-controller;
 +                      #interrupt-cells = <1>;
 +                      reg = <0x20200 0x10>, <0x20210 0x10>;
 +              };
 +
 +              timer: timer@20300 {
 +                      compatible = "marvell,orion-timer";
 +                      reg = <0x20300 0x20>;
 +                      interrupt-parent = <&bridge_intc>;
 +                      interrupts = <1>, <2>;
 +                      clocks = <&core_clk 0>;
 +              };
 +
                wdt: watchdog-timer@20300 {
                        compatible = "marvell,orion-wdt";
                        reg = <0x20300 0x28>;
                        status = "okay";
                };
  
 +              ehci@50000 {
 +                      compatible = "marvell,orion-ehci";
 +                      reg = <0x50000 0x1000>;
 +                      interrupts = <19>;
 +                      clocks = <&gate_clk 3>;
 +                      status = "okay";
 +              };
 +
                xor@60800 {
                        compatible = "marvell,orion-xor";
                        reg = <0x60800 0x100
                        };
                };
  
 -              ehci@50000 {
 -                      compatible = "marvell,orion-ehci";
 -                      reg = <0x50000 0x1000>;
 -                      interrupts = <19>;
 -                      clocks = <&gate_clk 3>;
 -                      status = "okay";
 -              };
 -
 -              i2c@11000 {
 -                      compatible = "marvell,mv64xxx-i2c";
 -                      reg = <0x11000 0x20>;
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      interrupts = <29>;
 -                      clock-frequency = <100000>;
 -                      clocks = <&gate_clk 7>;
 -                      status = "disabled";
 -              };
 -
 -              mdio: mdio-bus@72004 {
 -                      compatible = "marvell,orion-mdio";
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      reg = <0x72004 0x84>;
 -                      interrupts = <46>;
 -                      clocks = <&gate_clk 0>;
 -                      status = "disabled";
 -
 -                      /* add phy nodes in board file */
 -              };
 -
                eth0: ethernet-controller@72000 {
                        compatible = "marvell,kirkwood-eth";
                        #address-cells = <1>;
                        status = "disabled";
  
                        ethernet0-port@0 {
-                               device_type = "network";
                                compatible = "marvell,kirkwood-eth-port";
                                reg = <0>;
                                interrupts = <11>;
                        };
                };
  
 +              mdio: mdio-bus@72004 {
 +                      compatible = "marvell,orion-mdio";
 +                      #address-cells = <1>;
 +                      #size-cells = <0>;
 +                      reg = <0x72004 0x84>;
 +                      interrupts = <46>;
 +                      clocks = <&gate_clk 0>;
 +                      status = "disabled";
 +
 +                      /* add phy nodes in board file */
 +              };
 +
                eth1: ethernet-controller@76000 {
                        compatible = "marvell,kirkwood-eth";
                        #address-cells = <1>;
                        status = "disabled";
  
                        ethernet1-port@0 {
-                               device_type = "network";
                                compatible = "marvell,kirkwood-eth-port";
                                reg = <0>;
                                interrupts = <15>;
                                /* set phy-handle property in board file */
                        };
                };
 +
 +              sata_phy0: sata-phy@82000 {
 +                      compatible = "marvell,mvebu-sata-phy";
 +                      reg = <0x82000 0x0334>;
 +                      clocks = <&gate_clk 14>;
 +                      clock-names = "sata";
 +                      #phy-cells = <0>;
 +                      status = "ok";
 +              };
 +
 +              sata_phy1: sata-phy@84000 {
 +                      compatible = "marvell,mvebu-sata-phy";
 +                      reg = <0x84000 0x0334>;
 +                      clocks = <&gate_clk 15>;
 +                      clock-names = "sata";
 +                      #phy-cells = <0>;
 +                      status = "ok";
 +              };
        };
  };
index 9f51538cd9ef9b831e738af1941be58b143b4c62,b1645462e2709941697d23d757ed92cdd7a5b069..174d89241f7002ffb9b12e4f3db1997bf13d7611
                        interrupts = <6>, <7>, <8>, <9>;
                };
  
 +              spi@10600 {
 +                      compatible = "marvell,orion-spi";
 +                      #address-cells = <1>;
 +                      #size-cells = <0>;
 +                      cell-index = <0>;
 +                      reg = <0x10600 0x28>;
 +                      status = "disabled";
 +              };
 +
 +              i2c@11000 {
 +                      compatible = "marvell,mv64xxx-i2c";
 +                      reg = <0x11000 0x20>;
 +                      #address-cells = <1>;
 +                      #size-cells = <0>;
 +                      interrupts = <5>;
 +                      clock-frequency = <100000>;
 +                      status = "disabled";
 +              };
 +
                serial@12000 {
                        compatible = "ns16550a";
                        reg = <0x12000 0x100>;
                        status = "disabled";
                };
  
 -              spi@10600 {
 -                      compatible = "marvell,orion-spi";
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      cell-index = <0>;
 -                      reg = <0x10600 0x28>;
 -                      status = "disabled";
 -              };
 -
                wdt@20300 {
                        compatible = "marvell,orion-wdt";
                        reg = <0x20300 0x28>;
                        status = "disabled";
                };
  
 -              ehci@a0000 {
 -                      compatible = "marvell,orion-ehci";
 -                      reg = <0xa0000 0x1000>;
 -                      interrupts = <12>;
 -                      status = "disabled";
 -              };
 -
 -              sata@80000 {
 -                      compatible = "marvell,orion-sata";
 -                      reg = <0x80000 0x5000>;
 -                      interrupts = <29>;
 -                      status = "disabled";
 -              };
 -
 -              i2c@11000 {
 -                      compatible = "marvell,mv64xxx-i2c";
 -                      reg = <0x11000 0x20>;
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      interrupts = <5>;
 -                      clock-frequency = <100000>;
 -                      status = "disabled";
 -              };
 -
                xor@60900 {
                        compatible = "marvell,orion-xor";
                        reg = <0x60900 0x100
                        };
                };
  
 -              crypto@90000 {
 -                      compatible = "marvell,orion-crypto";
 -                      reg = <0x90000 0x10000>,
 -                            <0xf2200000 0x800>;
 -                      reg-names = "regs", "sram";
 -                      interrupts = <28>;
 -                      status = "okay";
 -              };
 -
 -              mdio: mdio-bus@72004 {
 -                      compatible = "marvell,orion-mdio";
 -                      #address-cells = <1>;
 -                      #size-cells = <0>;
 -                      reg = <0x72004 0x84>;
 -                      interrupts = <22>;
 -                      status = "disabled";
 -
 -                      /* add phy nodes in board file */
 -              };
 -
                eth: ethernet-controller@72000 {
                        compatible = "marvell,orion-eth";
                        #address-cells = <1>;
                        status = "disabled";
  
                        ethernet-port@0 {
-                               device_type = "network";
                                compatible = "marvell,orion-eth-port";
                                reg = <0>;
                                /* overwrite MAC address in bootloader */
                                /* set phy-handle property in board file */
                        };
                };
 +
 +              mdio: mdio-bus@72004 {
 +                      compatible = "marvell,orion-mdio";
 +                      #address-cells = <1>;
 +                      #size-cells = <0>;
 +                      reg = <0x72004 0x84>;
 +                      interrupts = <22>;
 +                      status = "disabled";
 +
 +                      /* add phy nodes in board file */
 +              };
 +
 +              sata@80000 {
 +                      compatible = "marvell,orion-sata";
 +                      reg = <0x80000 0x5000>;
 +                      interrupts = <29>;
 +                      status = "disabled";
 +              };
 +
 +              crypto@90000 {
 +                      compatible = "marvell,orion-crypto";
 +                      reg = <0x90000 0x10000>,
 +                            <0xf2200000 0x800>;
 +                      reg-names = "regs", "sram";
 +                      interrupts = <28>;
 +                      status = "okay";
 +              };
 +
 +              ehci@a0000 {
 +                      compatible = "marvell,orion-ehci";
 +                      reg = <0xa0000 0x1000>;
 +                      interrupts = <12>;
 +                      status = "disabled";
 +              };
        };
  };