Merge tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Linus Torvalds [Tue, 22 May 2012 16:30:52 +0000 (09:30 -0700)]
Pull device tree conversions for arm-soc, part 1, from Olof Johansson:
 "The spear3xx, lpc32xx, shmobile and mmp platforms are joining the game
  of booting using device trees, which is a great step forward for them.
  at91 and spear have pretty much completed this process with a huge
  amount of work being put into at91.  The other platforms are
  continuing the process.

  We finally start to see the payback on this investment, as new
  machines are getting supported purely by adding a .dts source file
  that can be completely independent of the kernel source."

Fix up trivial conflict in arch/arm/Kconfig

* tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (83 commits)
  ARM: at91: Add ADC driver to at91sam9260/at91sam9g20 dtsi files
  arm/dts: omap4-panda: Add LEDs support
  arm/dts: omap4-sdp: Add LEDs support
  arm/dts: twl4030: Add twl4030-gpio node
  OMAP4: devices: Do not create mcpdm device if the dtb has been provided
  OMAP4: devices: Do not create dmic device if the dtb has been provided
  Documentation: update docs for mmp dt
  ARM: dts: refresh dts file for arch mmp
  ARM: mmp: support pxa910 with device tree
  ARM: mmp: support mmp2 with device tree
  gpio: pxa: parse gpio from DTS file
  ARM: mmp: support DT in timer
  ARM: mmp: support DT in irq
  ARM: mmp: append CONFIG_MACH_MMP2_DT
  ARM: mmp: fix build issue on mmp with device tree
  ARM: ux500: Enable PRCMU Timer 4 (clocksource) for Device Tree
  ARM: ux500: Disable SMSC911x platform code registration when DT is enabled
  ARM: ux500: Fork cpu-db8500 platform_devs for sequential DT enablement
  ARM: ux500: Do not attempt to register non-existent i2c devices on Snowball
  ARM: SPEAr3xx: Correct keyboard data passed from DT
  ...

139 files changed:
Documentation/arm/SPEAr/overview.txt
Documentation/devicetree/bindings/arm/lpc32xx-mic.txt [new file with mode: 0644]
Documentation/devicetree/bindings/arm/lpc32xx.txt [new file with mode: 0644]
Documentation/devicetree/bindings/arm/mrvl.txt [deleted file]
Documentation/devicetree/bindings/arm/mrvl/intc.txt [new file with mode: 0644]
Documentation/devicetree/bindings/arm/mrvl/mrvl.txt [new file with mode: 0644]
Documentation/devicetree/bindings/arm/mrvl/timer.txt [new file with mode: 0644]
Documentation/devicetree/bindings/arm/spear.txt
Documentation/devicetree/bindings/gpio/gpio-nmk.txt [new file with mode: 0644]
Documentation/devicetree/bindings/gpio/mrvl-gpio.txt
Documentation/devicetree/bindings/i2c/mrvl-i2c.txt
Documentation/devicetree/bindings/i2c/pnx.txt [new file with mode: 0644]
Documentation/devicetree/bindings/net/lpc-eth.txt [new file with mode: 0644]
arch/arm/Kconfig
arch/arm/boot/dts/at91sam9260.dtsi [new file with mode: 0644]
arch/arm/boot/dts/at91sam9263.dtsi [new file with mode: 0644]
arch/arm/boot/dts/at91sam9263ek.dts [new file with mode: 0644]
arch/arm/boot/dts/at91sam9g20.dtsi
arch/arm/boot/dts/at91sam9g20ek.dts [new file with mode: 0644]
arch/arm/boot/dts/at91sam9g20ek_2mmc.dts [new file with mode: 0644]
arch/arm/boot/dts/at91sam9g20ek_common.dtsi [new file with mode: 0644]
arch/arm/boot/dts/db8500.dtsi
arch/arm/boot/dts/ethernut5.dts [new file with mode: 0644]
arch/arm/boot/dts/kizbox.dts [new file with mode: 0644]
arch/arm/boot/dts/lpc32xx.dtsi [new file with mode: 0644]
arch/arm/boot/dts/mmp2-brownstone.dts [new file with mode: 0644]
arch/arm/boot/dts/mmp2.dtsi [new file with mode: 0644]
arch/arm/boot/dts/omap3-beagle.dts
arch/arm/boot/dts/omap3.dtsi
arch/arm/boot/dts/omap4-panda.dts
arch/arm/boot/dts/omap4-sdp.dts
arch/arm/boot/dts/omap4.dtsi
arch/arm/boot/dts/phy3250.dts [new file with mode: 0644]
arch/arm/boot/dts/pxa168.dtsi
arch/arm/boot/dts/pxa910-dkb.dts [new file with mode: 0644]
arch/arm/boot/dts/pxa910.dtsi [new file with mode: 0644]
arch/arm/boot/dts/sh7372.dtsi [new file with mode: 0644]
arch/arm/boot/dts/snowball.dts
arch/arm/boot/dts/spear300-evb.dts [new file with mode: 0644]
arch/arm/boot/dts/spear300.dtsi [new file with mode: 0644]
arch/arm/boot/dts/spear310-evb.dts [new file with mode: 0644]
arch/arm/boot/dts/spear310.dtsi [new file with mode: 0644]
arch/arm/boot/dts/spear320-evb.dts [new file with mode: 0644]
arch/arm/boot/dts/spear320.dtsi [new file with mode: 0644]
arch/arm/boot/dts/spear3xx.dtsi [new file with mode: 0644]
arch/arm/boot/dts/spear600-evb.dts
arch/arm/boot/dts/spear600.dtsi
arch/arm/boot/dts/tny_a9260.dts [new file with mode: 0644]
arch/arm/boot/dts/tny_a9260_common.dtsi [new file with mode: 0644]
arch/arm/boot/dts/tny_a9263.dts [new file with mode: 0644]
arch/arm/boot/dts/tny_a9g20.dts [new file with mode: 0644]
arch/arm/boot/dts/twl4030.dtsi [new file with mode: 0644]
arch/arm/boot/dts/twl6030.dtsi [new file with mode: 0644]
arch/arm/boot/dts/usb_a9260.dts [new file with mode: 0644]
arch/arm/boot/dts/usb_a9260_common.dtsi [new file with mode: 0644]
arch/arm/boot/dts/usb_a9263.dts [new file with mode: 0644]
arch/arm/boot/dts/usb_a9g20.dts
arch/arm/configs/lpc32xx_defconfig
arch/arm/configs/spear3xx_defconfig
arch/arm/configs/spear6xx_defconfig
arch/arm/mach-at91/Makefile.boot
arch/arm/mach-at91/at91sam9260_devices.c
arch/arm/mach-at91/at91sam9263.c
arch/arm/mach-at91/at91sam9263_devices.c
arch/arm/mach-at91/at91sam9g45_devices.c
arch/arm/mach-at91/board-usb-a926x.c
arch/arm/mach-lpc32xx/Kconfig
arch/arm/mach-lpc32xx/clock.c
arch/arm/mach-lpc32xx/common.c
arch/arm/mach-lpc32xx/common.h
arch/arm/mach-lpc32xx/include/mach/i2c.h [deleted file]
arch/arm/mach-lpc32xx/irq.c
arch/arm/mach-lpc32xx/phy3250.c
arch/arm/mach-mmp/Kconfig
arch/arm/mach-mmp/Makefile
arch/arm/mach-mmp/include/mach/entry-macro.S
arch/arm/mach-mmp/include/mach/irqs.h
arch/arm/mach-mmp/irq-mmp2.c [deleted file]
arch/arm/mach-mmp/irq-pxa168.c [deleted file]
arch/arm/mach-mmp/irq.c [new file with mode: 0644]
arch/arm/mach-mmp/mmp-dt.c
arch/arm/mach-mmp/mmp2-dt.c [new file with mode: 0644]
arch/arm/mach-mmp/time.c
arch/arm/mach-omap2/board-generic.c
arch/arm/mach-omap2/devices.c
arch/arm/mach-omap2/gpio.c
arch/arm/mach-pnx4008/i2c.c
arch/arm/mach-pnx4008/include/mach/i2c.h [deleted file]
arch/arm/mach-shmobile/include/mach/common.h
arch/arm/mach-shmobile/include/mach/intc.h
arch/arm/mach-shmobile/include/mach/irqs.h
arch/arm/mach-shmobile/intc-sh7372.c
arch/arm/mach-shmobile/setup-sh7372.c
arch/arm/mach-shmobile/timer.c
arch/arm/mach-spear3xx/Kconfig
arch/arm/mach-spear3xx/Makefile
arch/arm/mach-spear3xx/Makefile.boot
arch/arm/mach-spear3xx/clock.c
arch/arm/mach-spear3xx/include/mach/generic.h
arch/arm/mach-spear3xx/include/mach/hardware.h
arch/arm/mach-spear3xx/include/mach/irqs.h
arch/arm/mach-spear3xx/include/mach/misc_regs.h
arch/arm/mach-spear3xx/include/mach/spear.h
arch/arm/mach-spear3xx/include/mach/spear300.h [deleted file]
arch/arm/mach-spear3xx/include/mach/spear310.h [deleted file]
arch/arm/mach-spear3xx/include/mach/spear320.h [deleted file]
arch/arm/mach-spear3xx/spear300.c
arch/arm/mach-spear3xx/spear300_evb.c [deleted file]
arch/arm/mach-spear3xx/spear310.c
arch/arm/mach-spear3xx/spear310_evb.c [deleted file]
arch/arm/mach-spear3xx/spear320.c
arch/arm/mach-spear3xx/spear320_evb.c [deleted file]
arch/arm/mach-spear3xx/spear3xx.c
arch/arm/mach-spear6xx/Makefile.boot
arch/arm/mach-spear6xx/clock.c
arch/arm/mach-spear6xx/include/mach/generic.h
arch/arm/mach-spear6xx/include/mach/hardware.h
arch/arm/mach-spear6xx/include/mach/irqs.h
arch/arm/mach-spear6xx/include/mach/misc_regs.h
arch/arm/mach-spear6xx/include/mach/spear.h
arch/arm/mach-spear6xx/include/mach/spear600.h [deleted file]
arch/arm/mach-spear6xx/spear6xx.c
arch/arm/mach-ux500/board-mop500.c
arch/arm/mach-ux500/cpu-db8500.c
arch/arm/mach-ux500/timer.c
arch/arm/plat-spear/Kconfig
arch/arm/plat-spear/Makefile
arch/arm/plat-spear/include/plat/debug-macro.S
arch/arm/plat-spear/include/plat/hardware.h [deleted file]
arch/arm/plat-spear/include/plat/pl080.h [new file with mode: 0644]
arch/arm/plat-spear/include/plat/uncompress.h
arch/arm/plat-spear/pl080.c [new file with mode: 0644]
arch/arm/plat-spear/restart.c
arch/arm/plat-spear/time.c
drivers/gpio/gpio-pxa.c
drivers/i2c/busses/i2c-pnx.c
drivers/net/ethernet/nxp/lpc_eth.c
drivers/of/address.c
include/linux/i2c-pnx.h

index 253a35c..28a9af9 100644 (file)
@@ -17,14 +17,14 @@ Introduction
   SPEAr (Platform)
        - SPEAr3XX (3XX SOC series, based on ARM9)
                - SPEAr300 (SOC)
-                       - SPEAr300_EVB (Evaluation Board)
+                       - SPEAr300 Evaluation Board
                - SPEAr310 (SOC)
-                       - SPEAr310_EVB (Evaluation Board)
+                       - SPEAr310 Evaluation Board
                - SPEAr320 (SOC)
-                       - SPEAr320_EVB (Evaluation Board)
+                       - SPEAr320 Evaluation Board
        - SPEAr6XX (6XX SOC series, based on ARM9)
                - SPEAr600 (SOC)
-                       - SPEAr600_EVB (Evaluation Board)
+                       - SPEAr600 Evaluation Board
        - SPEAr13XX (13XX SOC series, based on ARM CORTEXA9)
                - SPEAr1300 (SOC)
 
@@ -51,10 +51,11 @@ Introduction
   Common file for machines of spear3xx family is mach-spear3xx/spear3xx.c and for
   spear6xx is mach-spear6xx/spear6xx.c. mach-spear* also contain soc/machine
   specific files, like spear300.c, spear310.c, spear320.c and spear600.c.
-  mach-spear* also contains board specific files for each machine type.
+  mach-spear* doesn't contains board specific files as they fully support
+  Flattened Device Tree.
 
 
   Document Author
   ---------------
 
-  Viresh Kumar, (c) 2010 ST Microelectronics
+  Viresh Kumar <viresh.kumar@st.com>, (c) 2010-2012 ST Microelectronics
diff --git a/Documentation/devicetree/bindings/arm/lpc32xx-mic.txt b/Documentation/devicetree/bindings/arm/lpc32xx-mic.txt
new file mode 100644 (file)
index 0000000..539adca
--- /dev/null
@@ -0,0 +1,38 @@
+* NXP LPC32xx Main Interrupt Controller
+  (MIC, including SIC1 and SIC2 secondary controllers)
+
+Required properties:
+- compatible: Should be "nxp,lpc3220-mic"
+- interrupt-controller: Identifies the node as an interrupt controller.
+- interrupt-parent: Empty for the interrupt controller itself
+- #interrupt-cells: The number of cells to define the interrupts. Should be 2.
+  The first cell is the IRQ number
+  The second cell is used to specify mode:
+      1 = low-to-high edge triggered
+      2 = high-to-low edge triggered
+      4 = active high level-sensitive
+      8 = active low level-sensitive
+      Default for internal sources should be set to 4 (active high).
+- reg: Should contain MIC registers location and length
+
+Examples:
+       /*
+        * MIC
+        */
+       mic: interrupt-controller@40008000 {
+               compatible = "nxp,lpc3220-mic";
+               interrupt-controller;
+               interrupt-parent;
+               #interrupt-cells = <2>;
+               reg = <0x40008000 0xC000>;
+       };
+
+       /*
+        * ADC
+        */
+       adc@40048000 {
+               compatible = "nxp,lpc3220-adc";
+               reg = <0x40048000 0x1000>;
+               interrupt-parent = <&mic>;
+               interrupts = <39 4>;
+       };
diff --git a/Documentation/devicetree/bindings/arm/lpc32xx.txt b/Documentation/devicetree/bindings/arm/lpc32xx.txt
new file mode 100644 (file)
index 0000000..56ec8dd
--- /dev/null
@@ -0,0 +1,8 @@
+NXP LPC32xx Platforms Device Tree Bindings
+------------------------------------------
+
+Boards with the NXP LPC32xx SoC shall have the following properties:
+
+Required root node property:
+
+compatible: must be "nxp,lpc3220", "nxp,lpc3230", "nxp,lpc3240" or "nxp,lpc3250"
diff --git a/Documentation/devicetree/bindings/arm/mrvl.txt b/Documentation/devicetree/bindings/arm/mrvl.txt
deleted file mode 100644 (file)
index d8de933..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-Marvell Platforms Device Tree Bindings
-----------------------------------------------------
-
-PXA168 Aspenite Board
-Required root node properties:
-       - compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
diff --git a/Documentation/devicetree/bindings/arm/mrvl/intc.txt b/Documentation/devicetree/bindings/arm/mrvl/intc.txt
new file mode 100644 (file)
index 0000000..80b9a94
--- /dev/null
@@ -0,0 +1,40 @@
+* Marvell MMP Interrupt controller
+
+Required properties:
+- compatible : Should be "mrvl,mmp-intc", "mrvl,mmp2-intc" or
+  "mrvl,mmp2-mux-intc"
+- reg : Address and length of the register set of the interrupt controller.
+  If the interrupt controller is intc, address and length means the range
+  of the whold interrupt controller. If the interrupt controller is mux-intc,
+  address and length means one register. Since address of mux-intc is in the
+  range of intc. mux-intc is secondary interrupt controller.
+- reg-names : Name of the register set of the interrupt controller. It's
+  only required in mux-intc interrupt controller.
+- interrupts : Should be the port interrupt shared by mux interrupts. It's
+  only required in mux-intc interrupt controller.
+- interrupt-controller : Identifies the node as an interrupt controller.
+- #interrupt-cells : Specifies the number of cells needed to encode an
+  interrupt source.
+- mrvl,intc-nr-irqs : Specifies the number of interrupts in the interrupt
+  controller.
+- mrvl,clr-mfp-irq : Specifies the interrupt that needs to clear MFP edge
+  detection first.
+
+Example:
+       intc: interrupt-controller@d4282000 {
+               compatible = "mrvl,mmp2-intc";
+               interrupt-controller;
+               #interrupt-cells = <1>;
+               reg = <0xd4282000 0x1000>;
+               mrvl,intc-nr-irqs = <64>;
+       };
+
+       intcmux4@d4282150 {
+               compatible = "mrvl,mmp2-mux-intc";
+               interrupts = <4>;
+               interrupt-controller;
+               #interrupt-cells = <1>;
+               reg = <0x150 0x4>, <0x168 0x4>;
+               reg-names = "mux status", "mux mask";
+               mrvl,intc-nr-irqs = <2>;
+       };
diff --git a/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt b/Documentation/devicetree/bindings/arm/mrvl/mrvl.txt
new file mode 100644 (file)
index 0000000..117d741
--- /dev/null
@@ -0,0 +1,14 @@
+Marvell Platforms Device Tree Bindings
+----------------------------------------------------
+
+PXA168 Aspenite Board
+Required root node properties:
+       - compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
+
+PXA910 DKB Board
+Required root node properties:
+       - compatible = "mrvl,pxa910-dkb";
+
+MMP2 Brownstone Board
+Required root node properties:
+       - compatible = "mrvl,mmp2-brownstone";
diff --git a/Documentation/devicetree/bindings/arm/mrvl/timer.txt b/Documentation/devicetree/bindings/arm/mrvl/timer.txt
new file mode 100644 (file)
index 0000000..9a6e251
--- /dev/null
@@ -0,0 +1,13 @@
+* Marvell MMP Timer controller
+
+Required properties:
+- compatible : Should be "mrvl,mmp-timer".
+- reg : Address and length of the register set of timer controller.
+- interrupts : Should be the interrupt number.
+
+Example:
+       timer0: timer@d4014000 {
+               compatible = "mrvl,mmp-timer";
+               reg = <0xd4014000 0x100>;
+               interrupts = <13>;
+       };
index f8e54f0..aa5f355 100644 (file)
@@ -6,3 +6,21 @@ Boards with the ST SPEAr600 SoC shall have the following properties:
 Required root node property:
 
 compatible = "st,spear600";
+
+Boards with the ST SPEAr300 SoC shall have the following properties:
+
+Required root node property:
+
+compatible = "st,spear300";
+
+Boards with the ST SPEAr310 SoC shall have the following properties:
+
+Required root node property:
+
+compatible = "st,spear310";
+
+Boards with the ST SPEAr320 SoC shall have the following properties:
+
+Required root node property:
+
+compatible = "st,spear320";
diff --git a/Documentation/devicetree/bindings/gpio/gpio-nmk.txt b/Documentation/devicetree/bindings/gpio/gpio-nmk.txt
new file mode 100644 (file)
index 0000000..ee87467
--- /dev/null
@@ -0,0 +1,31 @@
+Nomadik GPIO controller
+
+Required properties:
+- compatible            : Should be "st,nomadik-gpio".
+- reg                   : Physical base address and length of the controller's registers.
+- interrupts            : The interrupt outputs from the controller.
+- #gpio-cells           : Should be two:
+                            The first cell is the pin number.
+                            The second cell is used to specify optional parameters:
+                              - bits[3:0] trigger type and level flags:
+                                  1 = low-to-high edge triggered.
+                                  2 = high-to-low edge triggered.
+                                  4 = active high level-sensitive.
+                                  8 = active low level-sensitive.
+- gpio-controller       : Marks the device node as a GPIO controller.
+- interrupt-controller  : Marks the device node as an interrupt controller.
+- gpio-bank             : Specifies which bank a controller owns.
+- st,supports-sleepmode : Specifies whether controller can sleep or not
+
+Example:
+
+                gpio1: gpio@8012e080 {
+                        compatible = "st,nomadik-gpio";
+                        reg =  <0x8012e080 0x80>;
+                        interrupts = <0 120 0x4>;
+                        #gpio-cells = <2>;
+                        gpio-controller;
+                        interrupt-controller;
+                        supports-sleepmode;
+                        gpio-bank = <1>;
+                };
index 1e34cfe..05428f3 100644 (file)
@@ -3,19 +3,25 @@
 Required properties:
 - compatible : Should be "mrvl,pxa-gpio" or "mrvl,mmp-gpio"
 - reg : Address and length of the register set for the device
-- interrupts : Should be the port interrupt shared by all gpio pins, if
-- interrupt-name : Should be the name of irq resource.
-  one number.
+- interrupts : Should be the port interrupt shared by all gpio pins.
+  There're three gpio interrupts in arch-pxa, and they're gpio0,
+  gpio1 and gpio_mux. There're only one gpio interrupt in arch-mmp,
+  gpio_mux.
+- interrupt-name : Should be the name of irq resource. Each interrupt
+  binds its interrupt-name.
+- interrupt-controller : Identifies the node as an interrupt controller.
+- #interrupt-cells: Specifies the number of cells needed to encode an
+  interrupt source.
 - gpio-controller : Marks the device node as a gpio controller.
 - #gpio-cells : Should be one.  It is the pin number.
 
 Example:
 
        gpio: gpio@d4019000 {
-               compatible = "mrvl,mmp-gpio", "mrvl,pxa-gpio";
+               compatible = "mrvl,mmp-gpio";
                reg = <0xd4019000 0x1000>;
-               interrupts = <49>, <17>, <18>;
-               interrupt-name = "gpio_mux", "gpio0", "gpio1";
+               interrupts = <49>;
+               interrupt-name = "gpio_mux";
                gpio-controller;
                #gpio-cells = <1>;
                interrupt-controller;
index 071eb3c..b891ee2 100644 (file)
@@ -3,34 +3,31 @@
 Required properties :
 
  - reg : Offset and length of the register set for the device
- - compatible : should be "mrvl,mmp-twsi" where CHIP is the name of a
+ - compatible : should be "mrvl,mmp-twsi" where mmp is the name of a
    compatible processor, e.g. pxa168, pxa910, mmp2, mmp3.
    For the pxa2xx/pxa3xx, an additional node "mrvl,pxa-i2c" is required
    as shown in the example below.
 
 Recommended properties :
 
- - interrupts : <a b> where a is the interrupt number and b is a
-   field that represents an encoding of the sense and level
-   information for the interrupt.  This should be encoded based on
-   the information in section 2) depending on the type of interrupt
-   controller you have.
+ - interrupts : the interrupt number
  - interrupt-parent : the phandle for the interrupt controller that
-   services interrupts for this device.
+   services interrupts for this device. If the parent is the default
+   interrupt controller in device tree, it could be ignored.
  - mrvl,i2c-polling : Disable interrupt of i2c controller. Polling
    status register of i2c controller instead.
  - mrvl,i2c-fast-mode : Enable fast mode of i2c controller.
 
 Examples:
        twsi1: i2c@d4011000 {
-               compatible = "mrvl,mmp-twsi", "mrvl,pxa-i2c";
+               compatible = "mrvl,mmp-twsi";
                reg = <0xd4011000 0x1000>;
                interrupts = <7>;
                mrvl,i2c-fast-mode;
        };
        
        twsi2: i2c@d4025000 {
-               compatible = "mrvl,mmp-twsi", "mrvl,pxa-i2c";
+               compatible = "mrvl,mmp-twsi";
                reg = <0xd4025000 0x1000>;
                interrupts = <58>;
        };
diff --git a/Documentation/devicetree/bindings/i2c/pnx.txt b/Documentation/devicetree/bindings/i2c/pnx.txt
new file mode 100644 (file)
index 0000000..fe98ada
--- /dev/null
@@ -0,0 +1,36 @@
+* NXP PNX I2C Controller
+
+Required properties:
+
+ - reg: Offset and length of the register set for the device
+ - compatible: should be "nxp,pnx-i2c"
+ - interrupts: configure one interrupt line
+ - #address-cells: always 1 (for i2c addresses)
+ - #size-cells: always 0
+ - interrupt-parent: the phandle for the interrupt controller that
+   services interrupts for this device.
+
+Optional properties:
+
+ - clock-frequency: desired I2C bus clock frequency in Hz, Default: 100000 Hz
+
+Examples:
+
+       i2c1: i2c@400a0000 {
+               compatible = "nxp,pnx-i2c";
+               reg = <0x400a0000 0x100>;
+               interrupt-parent = <&mic>;
+               interrupts = <51 0>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+       };
+
+       i2c2: i2c@400a8000 {
+               compatible = "nxp,pnx-i2c";
+               reg = <0x400a8000 0x100>;
+               interrupt-parent = <&mic>;
+               interrupts = <50 0>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               clock-frequency = <100000>;
+       };
diff --git a/Documentation/devicetree/bindings/net/lpc-eth.txt b/Documentation/devicetree/bindings/net/lpc-eth.txt
new file mode 100644 (file)
index 0000000..585021a
--- /dev/null
@@ -0,0 +1,24 @@
+* NXP LPC32xx SoC Ethernet Controller
+
+Required properties:
+- compatible: Should be "nxp,lpc-eth"
+- reg: Address and length of the register set for the device
+- interrupts: Should contain ethernet controller interrupt
+
+Optional properties:
+- phy-mode: String, operation mode of the PHY interface.
+  Supported values are: "mii", "rmii" (default)
+- use-iram: Use LPC32xx internal SRAM (IRAM) for DMA buffering
+- local-mac-address : 6 bytes, mac address
+
+Example:
+
+       mac: ethernet@31060000 {
+               compatible = "nxp,lpc-eth";
+               reg = <0x31060000 0x1000>;
+               interrupt-parent = <&mic>;
+               interrupts = <29 0>;
+
+               phy-mode = "rmii";
+               use-iram;
+       };
index 64ae22c..82936f6 100644 (file)
@@ -571,6 +571,7 @@ config ARCH_LPC32XX
        select USB_ARCH_HAS_OHCI
        select CLKDEV_LOOKUP
        select GENERIC_CLOCKEVENTS
+       select USE_OF
        help
          Support for the NXP LPC32XX family of processors
 
@@ -606,6 +607,7 @@ config ARCH_MMP
        select CLKDEV_LOOKUP
        select GENERIC_CLOCKEVENTS
        select GPIO_PXA
+       select IRQ_DOMAIN
        select PLAT_PXA
        select SPARSE_IRQ
        select GENERIC_ALLOCATOR
diff --git a/arch/arm/boot/dts/at91sam9260.dtsi b/arch/arm/boot/dts/at91sam9260.dtsi
new file mode 100644 (file)
index 0000000..f449efc
--- /dev/null
@@ -0,0 +1,273 @@
+/*
+ * at91sam9260.dtsi - Device Tree Include file for AT91SAM9260 family SoC
+ *
+ *  Copyright (C) 2011 Atmel,
+ *                2011 Nicolas Ferre <nicolas.ferre@atmel.com>,
+ *                2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2 or later.
+ */
+
+/include/ "skeleton.dtsi"
+
+/ {
+       model = "Atmel AT91SAM9260 family SoC";
+       compatible = "atmel,at91sam9260";
+       interrupt-parent = <&aic>;
+
+       aliases {
+               serial0 = &dbgu;
+               serial1 = &usart0;
+               serial2 = &usart1;
+               serial3 = &usart2;
+               serial4 = &usart3;
+               serial5 = &usart4;
+               serial6 = &usart5;
+               gpio0 = &pioA;
+               gpio1 = &pioB;
+               gpio2 = &pioC;
+               tcb0 = &tcb0;
+               tcb1 = &tcb1;
+       };
+       cpus {
+               cpu@0 {
+                       compatible = "arm,arm926ejs";
+               };
+       };
+
+       memory {
+               reg = <0x20000000 0x04000000>;
+       };
+
+       ahb {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               apb {
+                       compatible = "simple-bus";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+
+                       aic: interrupt-controller@fffff000 {
+                               #interrupt-cells = <2>;
+                               compatible = "atmel,at91rm9200-aic";
+                               interrupt-controller;
+                               reg = <0xfffff000 0x200>;
+                       };
+
+                       ramc0: ramc@ffffea00 {
+                               compatible = "atmel,at91sam9260-sdramc";
+                               reg = <0xffffea00 0x200>;
+                       };
+
+                       pmc: pmc@fffffc00 {
+                               compatible = "atmel,at91rm9200-pmc";
+                               reg = <0xfffffc00 0x100>;
+                       };
+
+                       rstc@fffffd00 {
+                               compatible = "atmel,at91sam9260-rstc";
+                               reg = <0xfffffd00 0x10>;
+                       };
+
+                       shdwc@fffffd10 {
+                               compatible = "atmel,at91sam9260-shdwc";
+                               reg = <0xfffffd10 0x10>;
+                       };
+
+                       pit: timer@fffffd30 {
+                               compatible = "atmel,at91sam9260-pit";
+                               reg = <0xfffffd30 0xf>;
+                               interrupts = <1 4>;
+                       };
+
+                       tcb0: timer@fffa0000 {
+                               compatible = "atmel,at91rm9200-tcb";
+                               reg = <0xfffa0000 0x100>;
+                               interrupts = <17 4 18 4 19 4>;
+                       };
+
+                       tcb1: timer@fffdc000 {
+                               compatible = "atmel,at91rm9200-tcb";
+                               reg = <0xfffdc000 0x100>;
+                               interrupts = <26 4 27 4 28 4>;
+                       };
+
+                       pioA: gpio@fffff400 {
+                               compatible = "atmel,at91rm9200-gpio";
+                               reg = <0xfffff400 0x100>;
+                               interrupts = <2 4>;
+                               #gpio-cells = <2>;
+                               gpio-controller;
+                               interrupt-controller;
+                       };
+
+                       pioB: gpio@fffff600 {
+                               compatible = "atmel,at91rm9200-gpio";
+                               reg = <0xfffff600 0x100>;
+                               interrupts = <3 4>;
+                               #gpio-cells = <2>;
+                               gpio-controller;
+                               interrupt-controller;
+                       };
+
+                       pioC: gpio@fffff800 {
+                               compatible = "atmel,at91rm9200-gpio";
+                               reg = <0xfffff800 0x100>;
+                               interrupts = <4 4>;
+                               #gpio-cells = <2>;
+                               gpio-controller;
+                               interrupt-controller;
+                       };
+
+                       dbgu: serial@fffff200 {
+                               compatible = "atmel,at91sam9260-usart";
+                               reg = <0xfffff200 0x200>;
+                               interrupts = <1 4>;
+                               status = "disabled";
+                       };
+
+                       usart0: serial@fffb0000 {
+                               compatible = "atmel,at91sam9260-usart";
+                               reg = <0xfffb0000 0x200>;
+                               interrupts = <6 4>;
+                               atmel,use-dma-rx;
+                               atmel,use-dma-tx;
+                               status = "disabled";
+                       };
+
+                       usart1: serial@fffb4000 {
+                               compatible = "atmel,at91sam9260-usart";
+                               reg = <0xfffb4000 0x200>;
+                               interrupts = <7 4>;
+                               atmel,use-dma-rx;
+                               atmel,use-dma-tx;
+                               status = "disabled";
+                       };
+
+                       usart2: serial@fffb8000 {
+                               compatible = "atmel,at91sam9260-usart";
+                               reg = <0xfffb8000 0x200>;
+                               interrupts = <8 4>;
+                               atmel,use-dma-rx;
+                               atmel,use-dma-tx;
+                               status = "disabled";
+                       };
+
+                       usart3: serial@fffd0000 {
+                               compatible = "atmel,at91sam9260-usart";
+                               reg = <0xfffd0000 0x200>;
+                               interrupts = <23 4>;
+                               atmel,use-dma-rx;
+                               atmel,use-dma-tx;
+                               status = "disabled";
+                       };
+
+                       usart4: serial@fffd4000 {
+                               compatible = "atmel,at91sam9260-usart";
+                               reg = <0xfffd4000 0x200>;
+                               interrupts = <24 4>;
+                               atmel,use-dma-rx;
+                               atmel,use-dma-tx;
+                               status = "disabled";
+                       };
+
+                       usart5: serial@fffd8000 {
+                               compatible = "atmel,at91sam9260-usart";
+                               reg = <0xfffd8000 0x200>;
+                               interrupts = <25 4>;
+                               atmel,use-dma-rx;
+                               atmel,use-dma-tx;
+                               status = "disabled";
+                       };
+
+                       macb0: ethernet@fffc4000 {
+                               compatible = "cdns,at32ap7000-macb", "cdns,macb";
+                               reg = <0xfffc4000 0x100>;
+                               interrupts = <21 4>;
+                               status = "disabled";
+                       };
+
+                       usb1: gadget@fffa4000 {
+                               compatible = "atmel,at91rm9200-udc";
+                               reg = <0xfffa4000 0x4000>;
+                               interrupts = <10 4>;
+                               status = "disabled";
+                       };
+
+                       adc0: adc@fffe0000 {
+                               compatible = "atmel,at91sam9260-adc";
+                               reg = <0xfffe0000 0x100>;
+                               interrupts = <5 4>;
+                               atmel,adc-use-external-triggers;
+                               atmel,adc-channels-used = <0xf>;
+                               atmel,adc-vref = <3300>;
+                               atmel,adc-num-channels = <4>;
+                               atmel,adc-startup-time = <15>;
+                               atmel,adc-channel-base = <0x30>;
+                               atmel,adc-drdy-mask = <0x10000>;
+                               atmel,adc-status-register = <0x1c>;
+                               atmel,adc-trigger-register = <0x04>;
+
+                               trigger@0 {
+                                       trigger-name = "timer-counter-0";
+                                       trigger-value = <0x1>;
+                               };
+                               trigger@1 {
+                                       trigger-name = "timer-counter-1";
+                                       trigger-value = <0x3>;
+                               };
+
+                               trigger@2 {
+                                       trigger-name = "timer-counter-2";
+                                       trigger-value = <0x5>;
+                               };
+
+                               trigger@3 {
+                                       trigger-name = "external";
+                                       trigger-value = <0x13>;
+                                       trigger-external;
+                               };
+                       };
+               };
+
+               nand0: nand@40000000 {
+                       compatible = "atmel,at91rm9200-nand";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = <0x40000000 0x10000000
+                              0xffffe800 0x200
+                             >;
+                       atmel,nand-addr-offset = <21>;
+                       atmel,nand-cmd-offset = <22>;
+                       gpios = <&pioC 13 0
+                                &pioC 14 0
+                                0
+                               >;
+                       status = "disabled";
+               };
+
+               usb0: ohci@00500000 {
+                       compatible = "atmel,at91rm9200-ohci", "usb-ohci";
+                       reg = <0x00500000 0x100000>;
+                       interrupts = <20 4>;
+                       status = "disabled";
+               };
+       };
+
+       i2c@0 {
+               compatible = "i2c-gpio";
+               gpios = <&pioA 23 0 /* sda */
+                        &pioA 24 0 /* scl */
+                       >;
+               i2c-gpio,sda-open-drain;
+               i2c-gpio,scl-open-drain;
+               i2c-gpio,delay-us = <2>;        /* ~100 kHz */
+               #address-cells = <1>;
+               #size-cells = <0>;
+               status = "disabled";
+       };
+};
diff --git a/arch/arm/boot/dts/at91sam9263.dtsi b/arch/arm/boot/dts/at91sam9263.dtsi
new file mode 100644 (file)
index 0000000..0209913
--- /dev/null
@@ -0,0 +1,220 @@
+/*
+ * at91sam9263.dtsi - Device Tree Include file for AT91SAM9263 family SoC
+ *
+ *  Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2 only.
+ */
+
+/include/ "skeleton.dtsi"
+
+/ {
+       model = "Atmel AT91SAM9263 family SoC";
+       compatible = "atmel,at91sam9263";
+       interrupt-parent = <&aic>;
+
+       aliases {
+               serial0 = &dbgu;
+               serial1 = &usart0;
+               serial2 = &usart1;
+               serial3 = &usart2;
+               gpio0 = &pioA;
+               gpio1 = &pioB;
+               gpio2 = &pioC;
+               gpio3 = &pioD;
+               gpio4 = &pioE;
+               tcb0 = &tcb0;
+       };
+       cpus {
+               cpu@0 {
+                       compatible = "arm,arm926ejs";
+               };
+       };
+
+       memory {
+               reg = <0x20000000 0x08000000>;
+       };
+
+       ahb {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               apb {
+                       compatible = "simple-bus";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+
+                       aic: interrupt-controller@fffff000 {
+                               #interrupt-cells = <2>;
+                               compatible = "atmel,at91rm9200-aic";
+                               interrupt-controller;
+                               reg = <0xfffff000 0x200>;
+                       };
+
+                       pmc: pmc@fffffc00 {
+                               compatible = "atmel,at91rm9200-pmc";
+                               reg = <0xfffffc00 0x100>;
+                       };
+
+                       ramc: ramc@ffffe200 {
+                               compatible = "atmel,at91sam9260-sdramc";
+                               reg = <0xffffe200 0x200
+                                      0xffffe800 0x200>;
+                       };
+
+                       pit: timer@fffffd30 {
+                               compatible = "atmel,at91sam9260-pit";
+                               reg = <0xfffffd30 0xf>;
+                               interrupts = <1 4>;
+                       };
+
+                       tcb0: timer@fff7c000 {
+                               compatible = "atmel,at91rm9200-tcb";
+                               reg = <0xfff7c000 0x100>;
+                               interrupts = <19 4>;
+                       };
+
+                       rstc@fffffd00 {
+                               compatible = "atmel,at91sam9260-rstc";
+                               reg = <0xfffffd00 0x10>;
+                       };
+
+                       shdwc@fffffd10 {
+                               compatible = "atmel,at91sam9260-shdwc";
+                               reg = <0xfffffd10 0x10>;
+                       };
+
+                       pioA: gpio@fffff200 {
+                               compatible = "atmel,at91rm9200-gpio";
+                               reg = <0xfffff200 0x100>;
+                               interrupts = <2 4>;
+                               #gpio-cells = <2>;
+                               gpio-controller;
+                               interrupt-controller;
+                       };
+
+                       pioB: gpio@fffff400 {
+                               compatible = "atmel,at91rm9200-gpio";
+                               reg = <0xfffff400 0x100>;
+                               interrupts = <3 4>;
+                               #gpio-cells = <2>;
+                               gpio-controller;
+                               interrupt-controller;
+                       };
+
+                       pioC: gpio@fffff600 {
+                               compatible = "atmel,at91rm9200-gpio";
+                               reg = <0xfffff600 0x100>;
+                               interrupts = <4 4>;
+                               #gpio-cells = <2>;
+                               gpio-controller;
+                               interrupt-controller;
+                       };
+
+                       pioD: gpio@fffff800 {
+                               compatible = "atmel,at91rm9200-gpio";
+                               reg = <0xfffff800 0x100>;
+                               interrupts = <4 4>;
+                               #gpio-cells = <2>;
+                               gpio-controller;
+                               interrupt-controller;
+                       };
+
+                       pioE: gpio@fffffa00 {
+                               compatible = "atmel,at91rm9200-gpio";
+                               reg = <0xfffffa00 0x100>;
+                               interrupts = <4 4>;
+                               #gpio-cells = <2>;
+                               gpio-controller;
+                               interrupt-controller;
+                       };
+
+                       dbgu: serial@ffffee00 {
+                               compatible = "atmel,at91sam9260-usart";
+                               reg = <0xffffee00 0x200>;
+                               interrupts = <1 4>;
+                               status = "disabled";
+                       };
+
+                       usart0: serial@fff8c000 {
+                               compatible = "atmel,at91sam9260-usart";
+                               reg = <0xfff8c000 0x200>;
+                               interrupts = <7 4>;
+                               atmel,use-dma-rx;
+                               atmel,use-dma-tx;
+                               status = "disabled";
+                       };
+
+                       usart1: serial@fff90000 {
+                               compatible = "atmel,at91sam9260-usart";
+                               reg = <0xfff90000 0x200>;
+                               interrupts = <8 4>;
+                               atmel,use-dma-rx;
+                               atmel,use-dma-tx;
+                               status = "disabled";
+                       };
+
+                       usart2: serial@fff94000 {
+                               compatible = "atmel,at91sam9260-usart";
+                               reg = <0xfff94000 0x200>;
+                               interrupts = <9 4>;
+                               atmel,use-dma-rx;
+                               atmel,use-dma-tx;
+                               status = "disabled";
+                       };
+
+                       macb0: ethernet@fffbc000 {
+                               compatible = "cdns,at32ap7000-macb", "cdns,macb";
+                               reg = <0xfffbc000 0x100>;
+                               interrupts = <21 4>;
+                               status = "disabled";
+                       };
+
+                       usb1: gadget@fff78000 {
+                               compatible = "atmel,at91rm9200-udc";
+                               reg = <0xfff78000 0x4000>;
+                               interrupts = <24 4>;
+                               status = "disabled";
+                       };
+               };
+
+               nand0: nand@40000000 {
+                       compatible = "atmel,at91rm9200-nand";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = <0x40000000 0x10000000
+                              0xffffe000 0x200
+                             >;
+                       atmel,nand-addr-offset = <21>;
+                       atmel,nand-cmd-offset = <22>;
+                       gpios = <&pioA 22 0
+                                &pioD 15 0
+                                0
+                               >;
+                       status = "disabled";
+               };
+
+               usb0: ohci@00a00000 {
+                       compatible = "atmel,at91rm9200-ohci", "usb-ohci";
+                       reg = <0x00a00000 0x100000>;
+                       interrupts = <29 4>;
+                       status = "disabled";
+               };
+       };
+
+       i2c@0 {
+               compatible = "i2c-gpio";
+               gpios = <&pioB 4 0 /* sda */
+                        &pioB 5 0 /* scl */
+                       >;
+               i2c-gpio,sda-open-drain;
+               i2c-gpio,scl-open-drain;
+               i2c-gpio,delay-us = <2>;        /* ~100 kHz */
+               #address-cells = <1>;
+               #size-cells = <0>;
+               status = "disabled";
+       };
+};
diff --git a/arch/arm/boot/dts/at91sam9263ek.dts b/arch/arm/boot/dts/at91sam9263ek.dts
new file mode 100644 (file)
index 0000000..f86ac4b
--- /dev/null
@@ -0,0 +1,156 @@
+/*
+ * at91sam9263ek.dts - Device Tree file for Atmel at91sam9263 reference board
+ *
+ *  Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2 only
+ */
+/dts-v1/;
+/include/ "at91sam9263.dtsi"
+
+/ {
+       model = "Atmel at91sam9263ek";
+       compatible = "atmel,at91sam9263ek", "atmel,at91sam9263", "atmel,at91sam9";
+
+       chosen {
+               bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock5 rw rootfstype=ubifs";
+       };
+
+       memory {
+               reg = <0x20000000 0x4000000>;
+       };
+
+       clocks {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               main_clock: clock@0 {
+                       compatible = "atmel,osc", "fixed-clock";
+                       clock-frequency = <16367660>;
+               };
+       };
+
+       ahb {
+               apb {
+                       dbgu: serial@ffffee00 {
+                               status = "okay";
+                       };
+
+                       usart0: serial@fff8c000 {
+                               status = "okay";
+                       };
+
+                       macb0: ethernet@fffbc000 {
+                               phy-mode = "rmii";
+                               status = "okay";
+                       };
+
+                       usb1: gadget@fff78000 {
+                               atmel,vbus-gpio = <&pioA 25 0>;
+                               status = "okay";
+                       };
+               };
+
+               nand0: nand@40000000 {
+                       nand-bus-width = <8>;
+                       nand-ecc-mode = "soft";
+                       nand-on-flash-bbt = <1>;
+                       status = "okay";
+
+                       at91bootstrap@0 {
+                               label = "at91bootstrap";
+                               reg = <0x0 0x20000>;
+                       };
+
+                       barebox@20000 {
+                               label = "barebox";
+                               reg = <0x20000 0x40000>;
+                       };
+
+                       bareboxenv@60000 {
+                               label = "bareboxenv";
+                               reg = <0x60000 0x20000>;
+                       };
+
+                       bareboxenv2@80000 {
+                               label = "bareboxenv2";
+                               reg = <0x80000 0x20000>;
+                       };
+
+                       oftree@80000 {
+                               label = "oftree";
+                               reg = <0xa0000 0x20000>;
+                       };
+
+                       kernel@a0000 {
+                               label = "kernel";
+                               reg = <0xc0000 0x400000>;
+                       };
+
+                       rootfs@4a0000 {
+                               label = "rootfs";
+                               reg = <0x4c0000 0x7800000>;
+                       };
+
+                       data@7ca0000 {
+                               label = "data";
+                               reg = <0x7cc0000 0x8340000>;
+                       };
+               };
+
+               usb0: ohci@00a00000 {
+                       num-ports = <2>;
+                       status = "okay";
+                       atmel,vbus-gpio = <&pioA 24 0
+                                          &pioA 21 0
+                                         >;
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               d3 {
+                       label = "d3";
+                       gpios = <&pioB 7 0>;
+                       linux,default-trigger = "heartbeat";
+               };
+
+               d2 {
+                       label = "d2";
+                       gpios = <&pioC 29 1>;
+                       linux,default-trigger = "nand-disk";
+               };
+       };
+
+       gpio_keys {
+               compatible = "gpio-keys";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               left_click {
+                       label = "left_click";
+                       gpios = <&pioC 5 1>;
+                       linux,code = <272>;
+                       gpio-key,wakeup;
+               };
+
+               right_click {
+                       label = "right_click";
+                       gpios = <&pioC 4 1>;
+                       linux,code = <273>;
+                       gpio-key,wakeup;
+               };
+       };
+
+       i2c@0 {
+               status = "okay";
+
+               24c512@50 {
+                       compatible = "24c512";
+                       reg = <0x50>;
+                       pagesize = <128>;
+               };
+       };
+};
index 773ef48..2a1d1ca 100644 (file)
 /*
  * at91sam9g20.dtsi - Device Tree Include file for AT91SAM9G20 family SoC
  *
- *  Copyright (C) 2011 Atmel,
- *                2011 Nicolas Ferre <nicolas.ferre@atmel.com>,
- *                2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *  Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
  *
- * Licensed under GPLv2 or later.
+ * Licensed under GPLv2.
  */
 
-/include/ "skeleton.dtsi"
+/include/ "at91sam9260.dtsi"
 
 / {
        model = "Atmel AT91SAM9G20 family SoC";
        compatible = "atmel,at91sam9g20";
-       interrupt-parent = <&aic>;
-
-       aliases {
-               serial0 = &dbgu;
-               serial1 = &usart0;
-               serial2 = &usart1;
-               serial3 = &usart2;
-               serial4 = &usart3;
-               serial5 = &usart4;
-               serial6 = &usart5;
-               gpio0 = &pioA;
-               gpio1 = &pioB;
-               gpio2 = &pioC;
-               tcb0 = &tcb0;
-               tcb1 = &tcb1;
-       };
-       cpus {
-               cpu@0 {
-                       compatible = "arm,arm926ejs";
-               };
-       };
 
        memory {
                reg = <0x20000000 0x08000000>;
        };
 
        ahb {
-               compatible = "simple-bus";
-               #address-cells = <1>;
-               #size-cells = <1>;
-               ranges;
-
                apb {
-                       compatible = "simple-bus";
-                       #address-cells = <1>;
-                       #size-cells = <1>;
-                       ranges;
-
-                       aic: interrupt-controller@fffff000 {
-                               #interrupt-cells = <2>;
-                               compatible = "atmel,at91rm9200-aic";
-                               interrupt-controller;
-                               reg = <0xfffff000 0x200>;
-                       };
-
-                       ramc0: ramc@ffffea00 {
-                               compatible = "atmel,at91sam9260-sdramc";
-                               reg = <0xffffea00 0x200>;
-                       };
-
-                       pmc: pmc@fffffc00 {
-                               compatible = "atmel,at91rm9200-pmc";
-                               reg = <0xfffffc00 0x100>;
-                       };
-
-                       rstc@fffffd00 {
-                               compatible = "atmel,at91sam9260-rstc";
-                               reg = <0xfffffd00 0x10>;
-                       };
-
-                       shdwc@fffffd10 {
-                               compatible = "atmel,at91sam9260-shdwc";
-                               reg = <0xfffffd10 0x10>;
-                       };
-
-                       pit: timer@fffffd30 {
-                               compatible = "atmel,at91sam9260-pit";
-                               reg = <0xfffffd30 0xf>;
-                               interrupts = <1 4>;
-                       };
-
-                       tcb0: timer@fffa0000 {
-                               compatible = "atmel,at91rm9200-tcb";
-                               reg = <0xfffa0000 0x100>;
-                               interrupts = <17 4 18 4 19 4>;
-                       };
-
-                       tcb1: timer@fffdc000 {
-                               compatible = "atmel,at91rm9200-tcb";
-                               reg = <0xfffdc000 0x100>;
-                               interrupts = <26 4 27 4 28 4>;
-                       };
-
-                       pioA: gpio@fffff400 {
-                               compatible = "atmel,at91rm9200-gpio";
-                               reg = <0xfffff400 0x100>;
-                               interrupts = <2 4>;
-                               #gpio-cells = <2>;
-                               gpio-controller;
-                               interrupt-controller;
-                       };
-
-                       pioB: gpio@fffff600 {
-                               compatible = "atmel,at91rm9200-gpio";
-                               reg = <0xfffff600 0x100>;
-                               interrupts = <3 4>;
-                               #gpio-cells = <2>;
-                               gpio-controller;
-                               interrupt-controller;
-                       };
-
-                       pioC: gpio@fffff800 {
-                               compatible = "atmel,at91rm9200-gpio";
-                               reg = <0xfffff800 0x100>;
-                               interrupts = <4 4>;
-                               #gpio-cells = <2>;
-                               gpio-controller;
-                               interrupt-controller;
-                       };
-
-                       dbgu: serial@fffff200 {
-                               compatible = "atmel,at91sam9260-usart";
-                               reg = <0xfffff200 0x200>;
-                               interrupts = <1 4>;
-                               status = "disabled";
-                       };
-
-                       usart0: serial@fffb0000 {
-                               compatible = "atmel,at91sam9260-usart";
-                               reg = <0xfffb0000 0x200>;
-                               interrupts = <6 4>;
-                               atmel,use-dma-rx;
-                               atmel,use-dma-tx;
-                               status = "disabled";
-                       };
-
-                       usart1: serial@fffb4000 {
-                               compatible = "atmel,at91sam9260-usart";
-                               reg = <0xfffb4000 0x200>;
-                               interrupts = <7 4>;
-                               atmel,use-dma-rx;
-                               atmel,use-dma-tx;
-                               status = "disabled";
-                       };
-
-                       usart2: serial@fffb8000 {
-                               compatible = "atmel,at91sam9260-usart";
-                               reg = <0xfffb8000 0x200>;
-                               interrupts = <8 4>;
-                               atmel,use-dma-rx;
-                               atmel,use-dma-tx;
-                               status = "disabled";
-                       };
-
-                       usart3: serial@fffd0000 {
-                               compatible = "atmel,at91sam9260-usart";
-                               reg = <0xfffd0000 0x200>;
-                               interrupts = <23 4>;
-                               atmel,use-dma-rx;
-                               atmel,use-dma-tx;
-                               status = "disabled";
-                       };
-
-                       usart4: serial@fffd4000 {
-                               compatible = "atmel,at91sam9260-usart";
-                               reg = <0xfffd4000 0x200>;
-                               interrupts = <24 4>;
-                               atmel,use-dma-rx;
-                               atmel,use-dma-tx;
-                               status = "disabled";
-                       };
-
-                       usart5: serial@fffd8000 {
-                               compatible = "atmel,at91sam9260-usart";
-                               reg = <0xfffd8000 0x200>;
-                               interrupts = <25 4>;
-                               atmel,use-dma-rx;
-                               atmel,use-dma-tx;
-                               status = "disabled";
-                       };
-
-                       macb0: ethernet@fffc4000 {
-                               compatible = "cdns,at32ap7000-macb", "cdns,macb";
-                               reg = <0xfffc4000 0x100>;
-                               interrupts = <21 4>;
-                               status = "disabled";
-                       };
-
-                       usb1: gadget@fffa4000 {
-                               compatible = "atmel,at91rm9200-udc";
-                               reg = <0xfffa4000 0x4000>;
-                               interrupts = <10 4>;
-                               status = "disabled";
+                       adc0: adc@fffe0000 {
+                               atmel,adc-startup-time = <40>;
                        };
                };
-
-               nand0: nand@40000000 {
-                       compatible = "atmel,at91rm9200-nand";
-                       #address-cells = <1>;
-                       #size-cells = <1>;
-                       reg = <0x40000000 0x10000000
-                              0xffffe800 0x200
-                             >;
-                       atmel,nand-addr-offset = <21>;
-                       atmel,nand-cmd-offset = <22>;
-                       gpios = <&pioC 13 0
-                                &pioC 14 0
-                                0
-                               >;
-                       status = "disabled";
-               };
-
-               usb0: ohci@00500000 {
-                       compatible = "atmel,at91rm9200-ohci", "usb-ohci";
-                       reg = <0x00500000 0x100000>;
-                       interrupts = <20 4>;
-                       status = "disabled";
-               };
-       };
-
-       i2c@0 {
-               compatible = "i2c-gpio";
-               gpios = <&pioA 23 0 /* sda */
-                        &pioA 24 0 /* scl */
-                       >;
-               i2c-gpio,sda-open-drain;
-               i2c-gpio,scl-open-drain;
-               i2c-gpio,delay-us = <2>;        /* ~100 kHz */
-               #address-cells = <1>;
-               #size-cells = <0>;
-               status = "disabled";
        };
 };
diff --git a/arch/arm/boot/dts/at91sam9g20ek.dts b/arch/arm/boot/dts/at91sam9g20ek.dts
new file mode 100644 (file)
index 0000000..e5324bf
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+ * at91sam9g20ek.dts - Device Tree file for Atmel at91sam9g20ek board
+ *
+ * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2.
+ */
+/dts-v1/;
+/include/ "at91sam9g20ek_common.dtsi"
+
+/ {
+       model = "Atmel at91sam9g20ek";
+       compatible = "atmel,at91sam9g20ek", "atmel,at91sam9g20", "atmel,at91sam9";
+
+       leds {
+               compatible = "gpio-leds";
+
+               ds1 {
+                       label = "ds1";
+                       gpios = <&pioA 9 0>;
+                       linux,default-trigger = "heartbeat";
+               };
+
+               ds5 {
+                       label = "ds5";
+                       gpios = <&pioA 6 1>;
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/at91sam9g20ek_2mmc.dts b/arch/arm/boot/dts/at91sam9g20ek_2mmc.dts
new file mode 100644 (file)
index 0000000..f1b2e14
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+ * at91sam9g20ek_2mmc.dts - Device Tree file for Atmel at91sam9g20ek 2 MMC board
+ *
+ * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2.
+ */
+/dts-v1/;
+/include/ "at91sam9g20ek_common.dtsi"
+
+/ {
+       model = "Atmel at91sam9g20ek 2 mmc";
+       compatible = "atmel,at91sam9g20ek_2mmc", "atmel,at91sam9g20", "atmel,at91sam9";
+
+       leds {
+               compatible = "gpio-leds";
+
+               ds1 {
+                       label = "ds1";
+                       gpios = <&pioB 9 0>;
+                       linux,default-trigger = "heartbeat";
+               };
+
+               ds5 {
+                       label = "ds5";
+                       gpios = <&pioB 8 1>;
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/at91sam9g20ek_common.dtsi b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
new file mode 100644 (file)
index 0000000..b06c0db
--- /dev/null
@@ -0,0 +1,142 @@
+/*
+ * at91sam9g20ek_common.dtsi - Device Tree file for Atmel at91sam9g20ek board
+ *
+ * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2.
+ */
+/include/ "at91sam9g20.dtsi"
+
+/ {
+
+       chosen {
+               bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock5 rw rootfstype=ubifs";
+       };
+
+       memory {
+               reg = <0x20000000 0x4000000>;
+       };
+
+       clocks {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               main_clock: clock@0 {
+                       compatible = "atmel,osc", "fixed-clock";
+                       clock-frequency = <18432000>;
+               };
+       };
+
+       ahb {
+               apb {
+                       dbgu: serial@fffff200 {
+                               status = "okay";
+                       };
+
+                       usart0: serial@fffb0000 {
+                               status = "okay";
+                       };
+
+                       usart1: serial@fffb4000 {
+                               status = "okay";
+                       };
+
+                       macb0: ethernet@fffc4000 {
+                               phy-mode = "rmii";
+                               status = "okay";
+                       };
+
+                       usb1: gadget@fffa4000 {
+                               atmel,vbus-gpio = <&pioC 5 0>;
+                               status = "okay";
+                       };
+               };
+
+               nand0: nand@40000000 {
+                       nand-bus-width = <8>;
+                       nand-ecc-mode = "soft";
+                       nand-on-flash-bbt;
+                       status = "okay";
+
+                       at91bootstrap@0 {
+                               label = "at91bootstrap";
+                               reg = <0x0 0x20000>;
+                       };
+
+                       barebox@20000 {
+                               label = "barebox";
+                               reg = <0x20000 0x40000>;
+                       };
+
+                       bareboxenv@60000 {
+                               label = "bareboxenv";
+                               reg = <0x60000 0x20000>;
+                       };
+
+                       bareboxenv2@80000 {
+                               label = "bareboxenv2";
+                               reg = <0x80000 0x20000>;
+                       };
+
+                       oftree@80000 {
+                               label = "oftree";
+                               reg = <0xa0000 0x20000>;
+                       };
+
+                       kernel@a0000 {
+                               label = "kernel";
+                               reg = <0xc0000 0x400000>;
+                       };
+
+                       rootfs@4a0000 {
+                               label = "rootfs";
+                               reg = <0x4c0000 0x7800000>;
+                       };
+
+                       data@7ca0000 {
+                               label = "data";
+                               reg = <0x7cc0000 0x8340000>;
+                       };
+               };
+
+               usb0: ohci@00500000 {
+                       num-ports = <2>;
+                       status = "okay";
+               };
+       };
+
+       i2c@0 {
+               status = "okay";
+
+               24c512@50 {
+                       compatible = "24c512";
+                       reg = <0x50>;
+               };
+
+               wm8731@1b {
+                       compatible = "wm8731";
+                       reg = <0x1b>;
+               };
+       };
+
+       gpio_keys {
+               compatible = "gpio-keys";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               btn3 {
+                       label = "Buttin 3";
+                       gpios = <&pioA 30 1>;
+                       linux,code = <0x103>;
+                       gpio-key,wakeup;
+               };
+
+               btn4 {
+                       label = "Buttin 4";
+                       gpios = <&pioA 31 1>;
+                       linux,code = <0x104>;
+                       gpio-key,wakeup;
+               };
+       };
+};
index 14bc307..881bc39 100644 (file)
 
                gpio0: gpio@8012e000 {
                        compatible = "stericsson,db8500-gpio",
-                               "stmicroelectronics,nomadik-gpio";
+                               "st,nomadik-gpio";
                        reg =  <0x8012e000 0x80>;
                        interrupts = <0 119 0x4>;
                        supports-sleepmode;
                        gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-bank = <0>;
                };
 
                gpio1: gpio@8012e080 {
                        compatible = "stericsson,db8500-gpio",
-                               "stmicroelectronics,nomadik-gpio";
+                               "st,nomadik-gpio";
                        reg =  <0x8012e080 0x80>;
                        interrupts = <0 120 0x4>;
                        supports-sleepmode;
                        gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-bank = <1>;
                };
 
                gpio2: gpio@8000e000 {
                        compatible = "stericsson,db8500-gpio",
-                               "stmicroelectronics,nomadik-gpio";
+                               "st,nomadik-gpio";
                        reg =  <0x8000e000 0x80>;
                        interrupts = <0 121 0x4>;
                        supports-sleepmode;
                        gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-bank = <2>;
                };
 
                gpio3: gpio@8000e080 {
                        compatible = "stericsson,db8500-gpio",
-                               "stmicroelectronics,nomadik-gpio";
+                               "st,nomadik-gpio";
                        reg =  <0x8000e080 0x80>;
                        interrupts = <0 122 0x4>;
                        supports-sleepmode;
                        gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-bank = <3>;
                };
 
                gpio4: gpio@8000e100 {
                        compatible = "stericsson,db8500-gpio",
-                               "stmicroelectronics,nomadik-gpio";
+                               "st,nomadik-gpio";
                        reg =  <0x8000e100 0x80>;
                        interrupts = <0 123 0x4>;
                        supports-sleepmode;
                        gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-bank = <4>;
                };
 
                gpio5: gpio@8000e180 {
                        compatible = "stericsson,db8500-gpio",
-                               "stmicroelectronics,nomadik-gpio";
+                               "st,nomadik-gpio";
                        reg =  <0x8000e180 0x80>;
                        interrupts = <0 124 0x4>;
                        supports-sleepmode;
                        gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-bank = <5>;
                };
 
                gpio6: gpio@8011e000 {
                        compatible = "stericsson,db8500-gpio",
-                               "stmicroelectronics,nomadik-gpio";
+                               "st,nomadik-gpio";
                        reg =  <0x8011e000 0x80>;
                        interrupts = <0 125 0x4>;
                        supports-sleepmode;
                        gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-bank = <6>;
                };
 
                gpio7: gpio@8011e080 {
                        compatible = "stericsson,db8500-gpio",
-                               "stmicroelectronics,nomadik-gpio";
+                               "st,nomadik-gpio";
                        reg =  <0x8011e080 0x80>;
                        interrupts = <0 126 0x4>;
                        supports-sleepmode;
                        gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-bank = <7>;
                };
 
                gpio8: gpio@a03fe000 {
                        compatible = "stericsson,db8500-gpio",
-                               "stmicroelectronics,nomadik-gpio";
+                               "st,nomadik-gpio";
                        reg =  <0xa03fe000 0x80>;
                        interrupts = <0 127 0x4>;
                        supports-sleepmode;
                        gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-bank = <8>;
                };
 
                usb@a03e0000 {
                        reg = <0x80157000 0x1000>;
                        interrupts = <46 47>;
                        #address-cells = <1>;
-                       #size-cells = <0>;
+                       #size-cells = <1>;
+                       ranges;
+
+                               prcmu-timer-4@80157450 {
+                               compatible = "stericsson,db8500-prcmu-timer-4";
+                               reg = <0x80157450 0xC>;
+                       };
 
                        ab8500@5 {
                                compatible = "stericsson,ab8500";
                };
 
                i2c@80004000 {
-                       compatible = "stericsson,db8500-i2c", "stmicroelectronics,nomadik-i2c";
+                       compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
                        reg = <0x80004000 0x1000>;
                        interrupts = <0 21 0x4>;
                        #address-cells = <1>;
                };
 
                i2c@80122000 {
-                       compatible = "stericsson,db8500-i2c", "stmicroelectronics,nomadik-i2c";
+                       compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
                        reg = <0x80122000 0x1000>;
                        interrupts = <0 22 0x4>;
                        #address-cells = <1>;
                };
 
                i2c@80128000 {
-                       compatible = "stericsson,db8500-i2c", "stmicroelectronics,nomadik-i2c";
+                       compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
                        reg = <0x80128000 0x1000>;
                        interrupts = <0 55 0x4>;
                        #address-cells = <1>;
                };
 
                i2c@80110000 {
-                       compatible = "stericsson,db8500-i2c", "stmicroelectronics,nomadik-i2c";
+                       compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
                        reg = <0x80110000 0x1000>;
                        interrupts = <0 12 0x4>;
                        #address-cells = <1>;
                };
 
                i2c@8012a000 {
-                       compatible = "stericsson,db8500-i2c", "stmicroelectronics,nomadik-i2c";
+                       compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
                        reg = <0x8012a000 0x1000>;
                        interrupts = <0 51 0x4>;
                        #address-cells = <1>;
                        interrupts = <0 100 0x4>;
                        status = "disabled";
                };
+
+               external-bus@50000000 {
+                       compatible = "simple-bus";
+                       reg = <0x50000000 0x4000000>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0 0x50000000 0x4000000>;
+                       status = "disabled";
+               };
        };
 };
diff --git a/arch/arm/boot/dts/ethernut5.dts b/arch/arm/boot/dts/ethernut5.dts
new file mode 100644 (file)
index 0000000..1ea9d34
--- /dev/null
@@ -0,0 +1,84 @@
+/*
+ * ethernut5.dts - Device Tree file for Ethernut 5 board
+ *
+ * Copyright (C) 2012 egnite GmbH <info@egnite.de>
+ *
+ * Licensed under GPLv2.
+ */
+/dts-v1/;
+/include/ "at91sam9260.dtsi"
+
+/ {
+       model = "Ethernut 5";
+       compatible = "egnite,ethernut5", "atmel,at91sam9260", "atmel,at91sam9";
+
+       chosen {
+               bootargs = "console=ttyS0,115200 root=/dev/mtdblock0 rw rootfstype=jffs2";
+       };
+
+       memory {
+               reg = <0x20000000 0x08000000>;
+       };
+
+       ahb {
+               apb {
+                       dbgu: serial@fffff200 {
+                               status = "okay";
+                       };
+
+                       usart0: serial@fffb0000 {
+                               status = "okay";
+                       };
+
+                       usart1: serial@fffb4000 {
+                               status = "okay";
+                       };
+
+                       macb0: ethernet@fffc4000 {
+                               phy-mode = "rmii";
+                               status = "okay";
+                       };
+
+                       usb1: gadget@fffa4000 {
+                               atmel,vbus-gpio = <&pioC 5 0>;
+                               status = "okay";
+                       };
+               };
+
+               nand0: nand@40000000 {
+                       nand-bus-width = <8>;
+                       nand-ecc-mode = "soft";
+                       nand-on-flash-bbt;
+                       status = "okay";
+
+                       gpios = <0
+                                &pioC 14 0
+                                0
+                               >;
+
+                       root@0 {
+                               label = "root";
+                               reg = <0x0 0x08000000>;
+                       };
+
+                       data@20000 {
+                               label = "data";
+                               reg = <0x08000000 0x38000000>;
+                       };
+               };
+
+               usb0: ohci@00500000 {
+                       num-ports = <2>;
+                       status = "okay";
+               };
+       };
+
+       i2c@0 {
+               status = "okay";
+
+               pcf8563@50 {
+                       compatible = "nxp,pcf8563";
+                       reg = <0x51>;
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/kizbox.dts b/arch/arm/boot/dts/kizbox.dts
new file mode 100644 (file)
index 0000000..e8814fe
--- /dev/null
@@ -0,0 +1,138 @@
+/*
+ * kizbox.dts - Device Tree file for Overkiz Kizbox board
+ *
+ * Copyright (C) 2012 Boris BREZILLON <linux-arm@overkiz.com>
+ *
+ * Licensed under GPLv2.
+ */
+/dts-v1/;
+/include/ "at91sam9g20.dtsi"
+
+/ {
+
+       model = "Overkiz kizbox";
+       compatible = "overkiz,kizbox", "atmel,at91sam9g20", "atmel,at91sam9";
+
+       chosen {
+               bootargs = "panic=5 ubi.mtd=1 rootfstype=ubifs root=ubi0:root";
+       };
+
+       memory {
+               reg = <0x20000000 0x2000000>;
+       };
+
+       clocks {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               main_clock: clock@0 {
+                       compatible = "atmel,osc", "fixed-clock";
+                       clock-frequency = <18432000>;
+               };
+       };
+
+       ahb {
+               apb {
+                       dbgu: serial@fffff200 {
+                               status = "okay";
+                       };
+
+                       usart0: serial@fffb0000 {
+                               status = "okay";
+                       };
+
+                       usart1: serial@fffb4000 {
+                               status = "okay";
+                       };
+
+                       macb0: ethernet@fffc4000 {
+                               phy-mode = "mii";
+                               status = "okay";
+                       };
+
+               };
+
+               nand0: nand@40000000 {
+                       nand-bus-width = <8>;
+                       nand-ecc-mode = "soft";
+                       status = "okay";
+
+                       bootloaderkernel@0 {
+                               label = "bootloader-kernel";
+                               reg = <0x0 0xc0000>;
+                       };
+
+                       ubi@c0000 {
+                               label = "ubi";
+                               reg = <0xc0000 0x7f40000>;
+                       };
+
+               };
+
+               usb0: ohci@00500000 {
+                       num-ports = <1>;
+                       status = "okay";
+               };
+       };
+
+       i2c@0 {
+               status = "okay";
+
+               pcf8563@51 {
+                       /* nxp pcf8563 rtc */
+                       compatible = "nxp,pcf8563";
+                       reg = <0x51>;
+               };
+
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               led1g {
+                       label = "led1:green";
+                       gpios = <&pioB 0 1>;
+                       linux,default-trigger = "none";
+               };
+
+               led1r {
+                       label = "led1:red";
+                       gpios = <&pioB 1 1>;
+                       linux,default-trigger = "none";
+               };
+
+               led2g {
+                       label = "led2:green";
+                       gpios = <&pioB 2 1>;
+                       linux,default-trigger = "none";
+                       default-state = "on";
+               };
+
+               led2r {
+                       label = "led2:red";
+                       gpios = <&pioB 3 1>;
+                       linux,default-trigger = "none";
+               };
+       };
+
+       gpio_keys {
+               compatible = "gpio-keys";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               reset {
+                       label = "reset";
+                       gpios = <&pioB 30 1>;
+                       linux,code = <0x100>;
+                       gpio-key,wakeup;
+               };
+
+               mode {
+                       label = "mode";
+                       gpios = <&pioB 31 1>;
+                       linux,code = <0x101>;
+                       gpio-key,wakeup;
+               };
+       };
+};
\ No newline at end of file
diff --git a/arch/arm/boot/dts/lpc32xx.dtsi b/arch/arm/boot/dts/lpc32xx.dtsi
new file mode 100644 (file)
index 0000000..2d69686
--- /dev/null
@@ -0,0 +1,292 @@
+/*
+ * NXP LPC32xx SoC
+ *
+ * Copyright 2012 Roland Stigge <stigge@antcom.de>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/include/ "skeleton.dtsi"
+
+/ {
+       compatible = "nxp,lpc3220";
+       interrupt-parent = <&mic>;
+
+       cpus {
+               cpu@0 {
+                       compatible = "arm,arm926ejs";
+               };
+       };
+
+       ahb {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "simple-bus";
+               ranges = <0x20000000 0x20000000 0x30000000>;
+
+               /*
+                * Enable either SLC or MLC
+                */
+               slc: flash@20020000 {
+                       compatible = "nxp,lpc3220-slc";
+                       reg = <0x20020000 0x1000>;
+                       status = "disable";
+               };
+
+               mlc: flash@200B0000 {
+                       compatible = "nxp,lpc3220-mlc";
+                       reg = <0x200B0000 0x1000>;
+                       status = "disable";
+               };
+
+               dma@31000000 {
+                       compatible = "arm,pl080", "arm,primecell";
+                       reg = <0x31000000 0x1000>;
+                       interrupts = <0x1c 0>;
+               };
+
+               /*
+                * Enable either ohci or usbd (gadget)!
+                */
+               ohci@31020000 {
+                       compatible = "nxp,ohci-nxp", "usb-ohci";
+                       reg = <0x31020000 0x300>;
+                       interrupts = <0x3b 0>;
+                       status = "disable";
+               };
+
+               usbd@31020000 {
+                       compatible = "nxp,lpc3220-udc";
+                       reg = <0x31020000 0x300>;
+                       interrupts = <0x3d 0>, <0x3e 0>, <0x3c 0>, <0x3a 0>;
+                       status = "disable";
+               };
+
+               clcd@31040000 {
+                       compatible = "arm,pl110", "arm,primecell";
+                       reg = <0x31040000 0x1000>;
+                       interrupts = <0x0e 0>;
+                       status = "disable";
+               };
+
+               mac: ethernet@31060000 {
+                       compatible = "nxp,lpc-eth";
+                       reg = <0x31060000 0x1000>;
+                       interrupts = <0x1d 0>;
+               };
+
+               apb {
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       compatible = "simple-bus";
+                       ranges = <0x20000000 0x20000000 0x30000000>;
+
+                       ssp0: ssp@20084000 {
+                               compatible = "arm,pl022", "arm,primecell";
+                               reg = <0x20084000 0x1000>;
+                               interrupts = <0x14 0>;
+                       };
+
+                       spi1: spi@20088000 {
+                               compatible = "nxp,lpc3220-spi";
+                               reg = <0x20088000 0x1000>;
+                       };
+
+                       ssp1: ssp@2008c000 {
+                               compatible = "arm,pl022", "arm,primecell";
+                               reg = <0x2008c000 0x1000>;
+                               interrupts = <0x15 0>;
+                       };
+
+                       spi2: spi@20090000 {
+                               compatible = "nxp,lpc3220-spi";
+                               reg = <0x20090000 0x1000>;
+                       };
+
+                       i2s0: i2s@20094000 {
+                               compatible = "nxp,lpc3220-i2s";
+                               reg = <0x20094000 0x1000>;
+                       };
+
+                       sd@20098000 {
+                               compatible = "arm,pl180", "arm,primecell";
+                               reg = <0x20098000 0x1000>;
+                               interrupts = <0x0f 0>, <0x0d 0>;
+                       };
+
+                       i2s1: i2s@2009C000 {
+                               compatible = "nxp,lpc3220-i2s";
+                               reg = <0x2009C000 0x1000>;
+                       };
+
+                       uart3: serial@40080000 {
+                               compatible = "nxp,serial";
+                               reg = <0x40080000 0x1000>;
+                       };
+
+                       uart4: serial@40088000 {
+                               compatible = "nxp,serial";
+                               reg = <0x40088000 0x1000>;
+                       };
+
+                       uart5: serial@40090000 {
+                               compatible = "nxp,serial";
+                               reg = <0x40090000 0x1000>;
+                       };
+
+                       uart6: serial@40098000 {
+                               compatible = "nxp,serial";
+                               reg = <0x40098000 0x1000>;
+                       };
+
+                       i2c1: i2c@400A0000 {
+                               compatible = "nxp,pnx-i2c";
+                               reg = <0x400A0000 0x100>;
+                               interrupts = <0x33 0>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               pnx,timeout = <0x64>;
+                       };
+
+                       i2c2: i2c@400A8000 {
+                               compatible = "nxp,pnx-i2c";
+                               reg = <0x400A8000 0x100>;
+                               interrupts = <0x32 0>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               pnx,timeout = <0x64>;
+                       };
+
+                       i2cusb: i2c@31020300 {
+                               compatible = "nxp,pnx-i2c";
+                               reg = <0x31020300 0x100>;
+                               interrupts = <0x3f 0>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               pnx,timeout = <0x64>;
+                       };
+               };
+
+               fab {
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       compatible = "simple-bus";
+                       ranges = <0x20000000 0x20000000 0x30000000>;
+
+                       /*
+                        * MIC Interrupt controller includes:
+                        *   MIC @40008000
+                        *   SIC1 @4000C000
+                        *   SIC2 @40010000
+                        */
+                       mic: interrupt-controller@40008000 {
+                               compatible = "nxp,lpc3220-mic";
+                               interrupt-controller;
+                               reg = <0x40008000 0xC000>;
+                               #interrupt-cells = <2>;
+                       };
+
+                       uart1: serial@40014000 {
+                               compatible = "nxp,serial";
+                               reg = <0x40014000 0x1000>;
+                       };
+
+                       uart2: serial@40018000 {
+                               compatible = "nxp,serial";
+                               reg = <0x40018000 0x1000>;
+                       };
+
+                       uart7: serial@4001C000 {
+                               compatible = "nxp,serial";
+                               reg = <0x4001C000 0x1000>;
+                       };
+
+                       rtc@40024000 {
+                               compatible = "nxp,lpc3220-rtc";
+                               reg = <0x40024000 0x1000>;
+                               interrupts = <0x34 0>;
+                       };
+
+                       gpio: gpio@40028000 {
+                               compatible = "nxp,lpc3220-gpio";
+                               reg = <0x40028000 0x1000>;
+                               /* create a private address space for enumeration */
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               gpio_p0: gpio-bank@0 {
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                                       reg = <0>;
+                               };
+
+                               gpio_p1: gpio-bank@1 {
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                                       reg = <1>;
+                               };
+
+                               gpio_p2: gpio-bank@2 {
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                                       reg = <2>;
+                               };
+
+                               gpio_p3: gpio-bank@3 {
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                                       reg = <3>;
+                               };
+
+                               gpi_p3: gpio-bank@4 {
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                                       reg = <4>;
+                               };
+
+                               gpo_p3: gpio-bank@5 {
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                                       reg = <5>;
+                               };
+                       };
+
+                       watchdog@4003C000 {
+                               compatible = "nxp,pnx4008-wdt";
+                               reg = <0x4003C000 0x1000>;
+                       };
+
+                       /*
+                        * TSC vs. ADC: Since those two share the same
+                        * hardware, you need to choose from one of the
+                        * following two and do 'status = "okay";' for one of
+                        * them
+                        */
+
+                       adc@40048000 {
+                               compatible = "nxp,lpc3220-adc";
+                               reg = <0x40048000 0x1000>;
+                               interrupts = <0x27 0>;
+                               status = "disable";
+                       };
+
+                       tsc@40048000 {
+                               compatible = "nxp,lpc3220-tsc";
+                               reg = <0x40048000 0x1000>;
+                               interrupts = <0x27 0>;
+                               status = "disable";
+                       };
+
+                       key@40050000 {
+                               compatible = "nxp,lpc3220-key";
+                               reg = <0x40050000 0x1000>;
+                       };
+
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/mmp2-brownstone.dts b/arch/arm/boot/dts/mmp2-brownstone.dts
new file mode 100644 (file)
index 0000000..153a4b2
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ *  Copyright (C) 2012 Marvell Technology Group Ltd.
+ *  Author: Haojian Zhuang <haojian.zhuang@marvell.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License version 2 as
+ *  publishhed by the Free Software Foundation.
+ */
+
+/dts-v1/;
+/include/ "mmp2.dtsi"
+
+/ {
+       model = "Marvell MMP2 Aspenite Development Board";
+       compatible = "mrvl,mmp2-brownstone", "mrvl,mmp2";
+
+       chosen {
+               bootargs = "console=ttyS2,38400 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
+       };
+
+       memory {
+               reg = <0x00000000 0x04000000>;
+       };
+
+       soc {
+               apb@d4000000 {
+                       uart3: uart@d4018000 {
+                               status = "okay";
+                       };
+                       twsi1: i2c@d4011000 {
+                               status = "okay";
+                       };
+                       rtc: rtc@d4010000 {
+                               status = "okay";
+                       };
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/mmp2.dtsi b/arch/arm/boot/dts/mmp2.dtsi
new file mode 100644 (file)
index 0000000..80f74e2
--- /dev/null
@@ -0,0 +1,220 @@
+/*
+ *  Copyright (C) 2012 Marvell Technology Group Ltd.
+ *  Author: Haojian Zhuang <haojian.zhuang@marvell.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License version 2 as
+ *  publishhed by the Free Software Foundation.
+ */
+
+/include/ "skeleton.dtsi"
+
+/ {
+       aliases {
+               serial0 = &uart1;
+               serial1 = &uart2;
+               serial2 = &uart3;
+               serial3 = &uart4;
+               i2c0 = &twsi1;
+               i2c1 = &twsi2;
+       };
+
+       soc {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "simple-bus";
+               interrupt-parent = <&intc>;
+               ranges;
+
+               axi@d4200000 {  /* AXI */
+                       compatible = "mrvl,axi-bus", "simple-bus";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = <0xd4200000 0x00200000>;
+                       ranges;
+
+                       intc: interrupt-controller@d4282000 {
+                               compatible = "mrvl,mmp2-intc";
+                               interrupt-controller;
+                               #interrupt-cells = <1>;
+                               reg = <0xd4282000 0x1000>;
+                               mrvl,intc-nr-irqs = <64>;
+                       };
+
+                       intcmux4@d4282150 {
+                               compatible = "mrvl,mmp2-mux-intc";
+                               interrupts = <4>;
+                               interrupt-controller;
+                               #interrupt-cells = <1>;
+                               reg = <0x150 0x4>, <0x168 0x4>;
+                               reg-names = "mux status", "mux mask";
+                               mrvl,intc-nr-irqs = <2>;
+                       };
+
+                       intcmux5: interrupt-controller@d4282154 {
+                               compatible = "mrvl,mmp2-mux-intc";
+                               interrupts = <5>;
+                               interrupt-controller;
+                               #interrupt-cells = <1>;
+                               reg = <0x154 0x4>, <0x16c 0x4>;
+                               reg-names = "mux status", "mux mask";
+                               mrvl,intc-nr-irqs = <2>;
+                               mrvl,clr-mfp-irq = <1>;
+                       };
+
+                       intcmux9: interrupt-controller@d4282180 {
+                               compatible = "mrvl,mmp2-mux-intc";
+                               interrupts = <9>;
+                               interrupt-controller;
+                               #interrupt-cells = <1>;
+                               reg = <0x180 0x4>, <0x17c 0x4>;
+                               reg-names = "mux status", "mux mask";
+                               mrvl,intc-nr-irqs = <3>;
+                       };
+
+                       intcmux17: interrupt-controller@d4282158 {
+                               compatible = "mrvl,mmp2-mux-intc";
+                               interrupts = <17>;
+                               interrupt-controller;
+                               #interrupt-cells = <1>;
+                               reg = <0x158 0x4>, <0x170 0x4>;
+                               reg-names = "mux status", "mux mask";
+                               mrvl,intc-nr-irqs = <5>;
+                       };
+
+                       intcmux35: interrupt-controller@d428215c {
+                               compatible = "mrvl,mmp2-mux-intc";
+                               interrupts = <35>;
+                               interrupt-controller;
+                               #interrupt-cells = <1>;
+                               reg = <0x15c 0x4>, <0x174 0x4>;
+                               reg-names = "mux status", "mux mask";
+                               mrvl,intc-nr-irqs = <15>;
+                       };
+
+                       intcmux51: interrupt-controller@d4282160 {
+                               compatible = "mrvl,mmp2-mux-intc";
+                               interrupts = <51>;
+                               interrupt-controller;
+                               #interrupt-cells = <1>;
+                               reg = <0x160 0x4>, <0x178 0x4>;
+                               reg-names = "mux status", "mux mask";
+                               mrvl,intc-nr-irqs = <2>;
+                       };
+
+                       intcmux55: interrupt-controller@d4282188 {
+                               compatible = "mrvl,mmp2-mux-intc";
+                               interrupts = <55>;
+                               interrupt-controller;
+                               #interrupt-cells = <1>;
+                               reg = <0x188 0x4>, <0x184 0x4>;
+                               reg-names = "mux status", "mux mask";
+                               mrvl,intc-nr-irqs = <2>;
+                       };
+               };
+
+               apb@d4000000 {  /* APB */
+                       compatible = "mrvl,apb-bus", "simple-bus";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = <0xd4000000 0x00200000>;
+                       ranges;
+
+                       timer0: timer@d4014000 {
+                               compatible = "mrvl,mmp-timer";
+                               reg = <0xd4014000 0x100>;
+                               interrupts = <13>;
+                       };
+
+                       uart1: uart@d4030000 {
+                               compatible = "mrvl,mmp-uart";
+                               reg = <0xd4030000 0x1000>;
+                               interrupts = <27>;
+                               status = "disabled";
+                       };
+
+                       uart2: uart@d4017000 {
+                               compatible = "mrvl,mmp-uart";
+                               reg = <0xd4017000 0x1000>;
+                               interrupts = <28>;
+                               status = "disabled";
+                       };
+
+                       uart3: uart@d4018000 {
+                               compatible = "mrvl,mmp-uart";
+                               reg = <0xd4018000 0x1000>;
+                               interrupts = <24>;
+                               status = "disabled";
+                       };
+
+                       uart4: uart@d4016000 {
+                               compatible = "mrvl,mmp-uart";
+                               reg = <0xd4016000 0x1000>;
+                               interrupts = <46>;
+                               status = "disabled";
+                       };
+
+                       gpio@d4019000 {
+                               compatible = "mrvl,mmp-gpio";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               reg = <0xd4019000 0x1000>;
+                               gpio-controller;
+                               #gpio-cells = <2>;
+                               interrupts = <49>;
+                               interrupt-names = "gpio_mux";
+                               interrupt-controller;
+                               #interrupt-cells = <1>;
+                               ranges;
+
+                               gcb0: gpio@d4019000 {
+                                       reg = <0xd4019000 0x4>;
+                               };
+
+                               gcb1: gpio@d4019004 {
+                                       reg = <0xd4019004 0x4>;
+                               };
+
+                               gcb2: gpio@d4019008 {
+                                       reg = <0xd4019008 0x4>;
+                               };
+
+                               gcb3: gpio@d4019100 {
+                                       reg = <0xd4019100 0x4>;
+                               };
+
+                               gcb4: gpio@d4019104 {
+                                       reg = <0xd4019104 0x4>;
+                               };
+
+                               gcb5: gpio@d4019108 {
+                                       reg = <0xd4019108 0x4>;
+                               };
+                       };
+
+                       twsi1: i2c@d4011000 {
+                               compatible = "mrvl,mmp-twsi";
+                               reg = <0xd4011000 0x1000>;
+                               interrupts = <7>;
+                               mrvl,i2c-fast-mode;
+                               status = "disabled";
+                       };
+
+                       twsi2: i2c@d4025000 {
+                               compatible = "mrvl,mmp-twsi";
+                               reg = <0xd4025000 0x1000>;
+                               interrupts = <58>;
+                               status = "disabled";
+                       };
+
+                       rtc: rtc@d4010000 {
+                               compatible = "mrvl,mmp-rtc";
+                               reg = <0xd4010000 0x1000>;
+                               interrupts = <1 0>;
+                               interrupt-names = "rtc 1Hz", "rtc alarm";
+                               interrupt-parent = <&intcmux5>;
+                               status = "disabled";
+                       };
+               };
+       };
+};
index 9f72cd4..8c756be 100644 (file)
                reg = <0x80000000 0x20000000>; /* 512 MB */
        };
 };
+
+&i2c1 {
+       clock-frequency = <2600000>;
+
+       twl: twl@48 {
+               reg = <0x48>;
+               interrupts = <7>; /* SYS_NIRQ cascaded to intc */
+               interrupt-parent = <&intc>;
+
+               vsim: regulator@10 {
+                       compatible = "ti,twl4030-vsim";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <3000000>;
+               };
+       };
+};
+
+/include/ "twl4030.dtsi"
+
+&i2c2 {
+       clock-frequency = <400000>;
+};
+
+&i2c3 {
+       clock-frequency = <100000>;
+
+       /*
+        * Display monitor features are burnt in the EEPROM
+        * as EDID data.
+        */
+       eeprom@50 {
+               compatible = "ti,eeprom";
+               reg = <0x50>;
+       };
+};
+
+&mmc1 {
+       vmmc-supply = <&vmmc1>;
+       vmmc_aux-supply = <&vsim>;
+       ti,bus-width = <8>;
+};
+
+&mmc2 {
+       status = "disable";
+};
+
+&mmc3 {
+       status = "disable";
+};
index c612135..99474fa 100644 (file)
                        reg = <0x48200000 0x1000>;
                };
 
+               gpio1: gpio@48310000 {
+                       compatible = "ti,omap3-gpio";
+                       ti,hwmods = "gpio1";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <1>;
+               };
+
+               gpio2: gpio@49050000 {
+                       compatible = "ti,omap3-gpio";
+                       ti,hwmods = "gpio2";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <1>;
+               };
+
+               gpio3: gpio@49052000 {
+                       compatible = "ti,omap3-gpio";
+                       ti,hwmods = "gpio3";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <1>;
+               };
+
+               gpio4: gpio@49054000 {
+                       compatible = "ti,omap3-gpio";
+                       ti,hwmods = "gpio4";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <1>;
+               };
+
+               gpio5: gpio@49056000 {
+                       compatible = "ti,omap3-gpio";
+                       ti,hwmods = "gpio5";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <1>;
+               };
+
+               gpio6: gpio@49058000 {
+                       compatible = "ti,omap3-gpio";
+                       ti,hwmods = "gpio6";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <1>;
+               };
+
                uart1: serial@4806a000 {
                        compatible = "ti,omap3-uart";
                        ti,hwmods = "uart1";
                        #size-cells = <0>;
                        ti,hwmods = "i2c3";
                };
+
+               mcspi1: spi@48098000 {
+                       compatible = "ti,omap2-mcspi";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       ti,hwmods = "mcspi1";
+                       ti,spi-num-cs = <4>;
+               };
+
+               mcspi2: spi@4809a000 {
+                       compatible = "ti,omap2-mcspi";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       ti,hwmods = "mcspi2";
+                       ti,spi-num-cs = <2>;
+               };
+
+               mcspi3: spi@480b8000 {
+                       compatible = "ti,omap2-mcspi";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       ti,hwmods = "mcspi3";
+                       ti,spi-num-cs = <2>;
+               };
+
+               mcspi4: spi@480ba000 {
+                       compatible = "ti,omap2-mcspi";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       ti,hwmods = "mcspi4";
+                       ti,spi-num-cs = <1>;
+               };
+
+               mmc1: mmc@4809c000 {
+                       compatible = "ti,omap3-hsmmc";
+                       ti,hwmods = "mmc1";
+                       ti,dual-volt;
+               };
+
+               mmc2: mmc@480b4000 {
+                       compatible = "ti,omap3-hsmmc";
+                       ti,hwmods = "mmc2";
+               };
+
+               mmc3: mmc@480ad000 {
+                       compatible = "ti,omap3-hsmmc";
+                       ti,hwmods = "mmc3";
+               };
        };
 };
index 9755ad5..e671361 100644 (file)
                device_type = "memory";
                reg = <0x80000000 0x40000000>; /* 1 GB */
        };
+
+       leds {
+               compatible = "gpio-leds";
+               heartbeat {
+                       label = "pandaboard::status1";
+                       gpios = <&gpio1 7 0>;
+                       linux,default-trigger = "heartbeat";
+               };
+
+               mmc {
+                       label = "pandaboard::status2";
+                       gpios = <&gpio1 8 0>;
+                       linux,default-trigger = "mmc0";
+               };
+       };
+};
+
+&i2c1 {
+       clock-frequency = <400000>;
+
+       twl: twl@48 {
+               reg = <0x48>;
+               /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
+               interrupts = <0 7 4>; /* IRQ_SYS_1N cascaded to gic */
+               interrupt-parent = <&gic>;
+       };
+};
+
+/include/ "twl6030.dtsi"
+
+&i2c2 {
+       clock-frequency = <400000>;
+};
+
+&i2c3 {
+       clock-frequency = <100000>;
+
+       /*
+        * Display monitor features are burnt in their EEPROM as EDID data.
+        * The EEPROM is connected as I2C slave device.
+        */
+       eeprom@50 {
+               compatible = "ti,eeprom";
+               reg = <0x50>;
+       };
+};
+
+&i2c4 {
+       clock-frequency = <400000>;
+};
+
+&mmc1 {
+       vmmc-supply = <&vmmc>;
+       ti,bus-width = <8>;
+};
+
+&mmc2 {
+       status = "disable";
+};
+
+&mmc3 {
+       status = "disable";
+};
+
+&mmc4 {
+       status = "disable";
+};
+
+&mmc5 {
+       ti,non-removable;
+       ti,bus-width = <4>;
 };
index 63c6b2b..e5eeb6f 100644 (file)
                device_type = "memory";
                reg = <0x80000000 0x40000000>; /* 1 GB */
        };
+
+       vdd_eth: fixedregulator@0 {
+               compatible = "regulator-fixed";
+               regulator-name = "VDD_ETH";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&gpio2 16 0>;  /* gpio line 48 */
+               enable-active-high;
+               regulator-boot-on;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+               debug0 {
+                       label = "omap4:green:debug0";
+                       gpios = <&gpio2 29 0>; /* 61 */
+               };
+
+               debug1 {
+                       label = "omap4:green:debug1";
+                       gpios = <&gpio1 30 0>; /* 30 */
+               };
+
+               debug2 {
+                       label = "omap4:green:debug2";
+                       gpios = <&gpio1 7 0>; /* 7 */
+               };
+
+               debug3 {
+                       label = "omap4:green:debug3";
+                       gpios = <&gpio1 8 0>; /* 8 */
+               };
+
+               debug4 {
+                       label = "omap4:green:debug4";
+                       gpios = <&gpio2 18 0>; /* 50 */
+               };
+
+               user1 {
+                       label = "omap4:blue:user";
+                       gpios = <&gpio6 9 0>; /* 169 */
+               };
+
+               user2 {
+                       label = "omap4:red:user";
+                       gpios = <&gpio6 10 0>; /* 170 */
+               };
+
+               user3 {
+                       label = "omap4:green:user";
+                       gpios = <&gpio5 11 0>; /* 139 */
+               };
+       };
+};
+
+&i2c1 {
+       clock-frequency = <400000>;
+
+       twl: twl@48 {
+               reg = <0x48>;
+               /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
+               interrupts = <0 7 4>; /* IRQ_SYS_1N cascaded to gic */
+               interrupt-parent = <&gic>;
+       };
+};
+
+/include/ "twl6030.dtsi"
+
+&i2c2 {
+       clock-frequency = <400000>;
+};
+
+&i2c3 {
+       clock-frequency = <400000>;
+
+       /*
+        * Temperature Sensor
+        * http://www.ti.com/lit/ds/symlink/tmp105.pdf
+        */
+       tmp105@48 {
+               compatible = "ti,tmp105";
+               reg = <0x48>;
+       };
+
+       /*
+        * Ambient Light Sensor
+        * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
+        */
+       bh1780@29 {
+               compatible = "rohm,bh1780";
+               reg = <0x29>;
+       };
+};
+
+&i2c4 {
+       clock-frequency = <400000>;
+
+       /*
+        * 3-Axis Digital Compass
+        * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
+        */
+       hmc5843@1e {
+               compatible = "honeywell,hmc5843";
+               reg = <0x1e>;
+       };
+};
+
+&mcspi1 {
+       eth@0 {
+               compatible = "ks8851";
+               spi-max-frequency = <24000000>;
+               reg = <0>;
+               interrupt-parent = <&gpio2>;
+               interrupts = <2>; /* gpio line 34 */
+               vdd-supply = <&vdd_eth>;
+       };
+};
+
+&mmc1 {
+       vmmc-supply = <&vmmc>;
+       ti,bus-width = <8>;
+};
+
+&mmc2 {
+       vmmc-supply = <&vaux1>;
+       ti,bus-width = <8>;
+       ti,non-removable;
+};
+
+&mmc3 {
+       status = "disable";
+};
+
+&mmc4 {
+       status = "disable";
+};
+
+&mmc5 {
+       ti,bus-width = <4>;
+       ti,non-removable;
 };
index 3d35559..359c497 100644 (file)
                              <0x48240100 0x0100>;
                };
 
+               gpio1: gpio@4a310000 {
+                       compatible = "ti,omap4-gpio";
+                       ti,hwmods = "gpio1";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <1>;
+               };
+
+               gpio2: gpio@48055000 {
+                       compatible = "ti,omap4-gpio";
+                       ti,hwmods = "gpio2";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <1>;
+               };
+
+               gpio3: gpio@48057000 {
+                       compatible = "ti,omap4-gpio";
+                       ti,hwmods = "gpio3";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <1>;
+               };
+
+               gpio4: gpio@48059000 {
+                       compatible = "ti,omap4-gpio";
+                       ti,hwmods = "gpio4";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <1>;
+               };
+
+               gpio5: gpio@4805b000 {
+                       compatible = "ti,omap4-gpio";
+                       ti,hwmods = "gpio5";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <1>;
+               };
+
+               gpio6: gpio@4805d000 {
+                       compatible = "ti,omap4-gpio";
+                       ti,hwmods = "gpio6";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <1>;
+               };
+
                uart1: serial@4806a000 {
                        compatible = "ti,omap4-uart";
                        ti,hwmods = "uart1";
                        #size-cells = <0>;
                        ti,hwmods = "i2c4";
                };
+
+               mcspi1: spi@48098000 {
+                       compatible = "ti,omap4-mcspi";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       ti,hwmods = "mcspi1";
+                       ti,spi-num-cs = <4>;
+               };
+
+               mcspi2: spi@4809a000 {
+                       compatible = "ti,omap4-mcspi";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       ti,hwmods = "mcspi2";
+                       ti,spi-num-cs = <2>;
+               };
+
+               mcspi3: spi@480b8000 {
+                       compatible = "ti,omap4-mcspi";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       ti,hwmods = "mcspi3";
+                       ti,spi-num-cs = <2>;
+               };
+
+               mcspi4: spi@480ba000 {
+                       compatible = "ti,omap4-mcspi";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       ti,hwmods = "mcspi4";
+                       ti,spi-num-cs = <1>;
+               };
+
+               mmc1: mmc@4809c000 {
+                       compatible = "ti,omap4-hsmmc";
+                       ti,hwmods = "mmc1";
+                       ti,dual-volt;
+                       ti,needs-special-reset;
+               };
+
+               mmc2: mmc@480b4000 {
+                       compatible = "ti,omap4-hsmmc";
+                       ti,hwmods = "mmc2";
+                       ti,needs-special-reset;
+               };
+
+               mmc3: mmc@480ad000 {
+                       compatible = "ti,omap4-hsmmc";
+                       ti,hwmods = "mmc3";
+                       ti,needs-special-reset;
+               };
+
+               mmc4: mmc@480d1000 {
+                       compatible = "ti,omap4-hsmmc";
+                       ti,hwmods = "mmc4";
+                       ti,needs-special-reset;
+               };
+
+               mmc5: mmc@480d5000 {
+                       compatible = "ti,omap4-hsmmc";
+                       ti,hwmods = "mmc5";
+                       ti,needs-special-reset;
+               };
        };
 };
diff --git a/arch/arm/boot/dts/phy3250.dts b/arch/arm/boot/dts/phy3250.dts
new file mode 100644 (file)
index 0000000..0167e86
--- /dev/null
@@ -0,0 +1,145 @@
+/*
+ * PHYTEC phyCORE-LPC3250 board
+ *
+ * Copyright 2012 Roland Stigge <stigge@antcom.de>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+/include/ "lpc32xx.dtsi"
+
+/ {
+       model = "PHYTEC phyCORE-LPC3250 board based on NXP LPC3250";
+       compatible = "phytec,phy3250", "nxp,lpc3250";
+       #address-cells = <1>;
+       #size-cells = <1>;
+
+       memory {
+               device_type = "memory";
+               reg = <0 0x4000000>;
+       };
+
+       ahb {
+               mac: ethernet@31060000 {
+                       phy-mode = "rmii";
+                       use-iram;
+               };
+
+               /* Here, choose exactly one from: ohci, usbd */
+               ohci@31020000 {
+                       transceiver = <&isp1301>;
+                       status = "okay";
+               };
+
+/*
+               usbd@31020000 {
+                       transceiver = <&isp1301>;
+                       status = "okay";
+               };
+*/
+
+               clcd@31040000 {
+                       status = "okay";
+               };
+
+               /* 64MB Flash via SLC NAND controller */
+               slc: flash@20020000 {
+                       status = "okay";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       mtd0@00000000 {
+                               label = "phy3250-boot";
+                               reg = <0x00000000 0x00064000>;
+                               read-only;
+                       };
+
+                       mtd1@00064000 {
+                               label = "phy3250-uboot";
+                               reg = <0x00064000 0x00190000>;
+                               read-only;
+                       };
+
+                       mtd2@001f4000 {
+                               label = "phy3250-ubt-prms";
+                               reg = <0x001f4000 0x00010000>;
+                       };
+
+                       mtd3@00204000 {
+                               label = "phy3250-kernel";
+                               reg = <0x00204000 0x00400000>;
+                       };
+
+                       mtd4@00604000 {
+                               label = "phy3250-rootfs";
+                               reg = <0x00604000 0x039fc000>;
+                       };
+               };
+
+               apb {
+                       i2c1: i2c@400A0000 {
+                               clock-frequency = <100000>;
+
+                               pcf8563: rtc@51 {
+                                       compatible = "nxp,pcf8563";
+                                       reg = <0x51>;
+                               };
+
+                               uda1380: uda1380@18 {
+                                       compatible = "nxp,uda1380";
+                                       reg = <0x18>;
+                                       power-gpio = <&gpio 0x59 0>;
+                                       reset-gpio = <&gpio 0x51 0>;
+                                       dac-clk = "wspll";
+                               };
+                       };
+
+                       i2c2: i2c@400A8000 {
+                               clock-frequency = <100000>;
+                       };
+
+                       i2cusb: i2c@31020300 {
+                               clock-frequency = <100000>;
+
+                               isp1301: usb-transceiver@2c {
+                                       compatible = "nxp,isp1301";
+                                       reg = <0x2c>;
+                               };
+                       };
+
+                       ssp0: ssp@20084000 {
+                               eeprom: at25@0 {
+                                       compatible = "atmel,at25";
+                               };
+                       };
+               };
+
+               fab {
+                       tsc@40048000 {
+                               status = "okay";
+                       };
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               led0 {
+                       gpios = <&gpo_p3 1 1>; /* GPO_P3 1, GPIO 80, active low */
+                       linux,default-trigger = "heartbeat";
+                       default-state = "off";
+               };
+
+               led1 {
+                       gpios = <&gpo_p3 14 1>; /* GPO_P3 14, GPIO 93, active low */
+                       linux,default-trigger = "timer";
+                       default-state = "off";
+               };
+       };
+};
index d32d512..31a7186 100644 (file)
                i2c1 = &twsi2;
        };
 
-       intc: intc-interrupt-controller@d4282000 {
-               compatible = "mrvl,mmp-intc", "mrvl,intc";
-               interrupt-controller;
-               #interrupt-cells = <1>;
-               reg = <0xd4282000 0x1000>;
-       };
-
        soc {
                #address-cells = <1>;
                #size-cells = <1>;
                interrupt-parent = <&intc>;
                ranges;
 
+               axi@d4200000 {  /* AXI */
+                       compatible = "mrvl,axi-bus", "simple-bus";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = <0xd4200000 0x00200000>;
+                       ranges;
+
+                       intc: interrupt-controller@d4282000 {
+                               compatible = "mrvl,mmp-intc";
+                               interrupt-controller;
+                               #interrupt-cells = <1>;
+                               reg = <0xd4282000 0x1000>;
+                               mrvl,intc-nr-irqs = <64>;
+                       };
+
+               };
+
                apb@d4000000 {  /* APB */
                        compatible = "mrvl,apb-bus", "simple-bus";
                        #address-cells = <1>;
                        reg = <0xd4000000 0x00200000>;
                        ranges;
 
+                       timer0: timer@d4014000 {
+                               compatible = "mrvl,mmp-timer";
+                               reg = <0xd4014000 0x100>;
+                               interrupts = <13>;
+                       };
+
                        uart1: uart@d4017000 {
-                               compatible = "mrvl,mmp-uart", "mrvl,pxa-uart";
+                               compatible = "mrvl,mmp-uart";
                                reg = <0xd4017000 0x1000>;
                                interrupts = <27>;
                                status = "disabled";
                        };
 
                        uart2: uart@d4018000 {
-                               compatible = "mrvl,mmp-uart", "mrvl,pxa-uart";
+                               compatible = "mrvl,mmp-uart";
                                reg = <0xd4018000 0x1000>;
                                interrupts = <28>;
                                status = "disabled";
                        };
 
                        uart3: uart@d4026000 {
-                               compatible = "mrvl,mmp-uart", "mrvl,pxa-uart";
+                               compatible = "mrvl,mmp-uart";
                                reg = <0xd4026000 0x1000>;
                                interrupts = <29>;
                                status = "disabled";
                        };
 
-                       gpio: gpio@d4019000 {
-                               compatible = "mrvl,mmp-gpio", "mrvl,pxa-gpio";
+                       gpio@d4019000 {
+                               compatible = "mrvl,mmp-gpio";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
                                reg = <0xd4019000 0x1000>;
+                               gpio-controller;
+                               #gpio-cells = <2>;
                                interrupts = <49>;
                                interrupt-names = "gpio_mux";
-                               gpio-controller;
-                               #gpio-cells = <1>;
                                interrupt-controller;
                                #interrupt-cells = <1>;
+                               ranges;
+
+                               gcb0: gpio@d4019000 {
+                                       reg = <0xd4019000 0x4>;
+                               };
+
+                               gcb1: gpio@d4019004 {
+                                       reg = <0xd4019004 0x4>;
+                               };
+
+                               gcb2: gpio@d4019008 {
+                                       reg = <0xd4019008 0x4>;
+                               };
+
+                               gcb3: gpio@d4019100 {
+                                       reg = <0xd4019100 0x4>;
+                               };
                        };
 
                        twsi1: i2c@d4011000 {
-                               compatible = "mrvl,mmp-twsi", "mrvl,pxa-i2c";
+                               compatible = "mrvl,mmp-twsi";
                                reg = <0xd4011000 0x1000>;
                                interrupts = <7>;
                                mrvl,i2c-fast-mode;
                        };
 
                        twsi2: i2c@d4025000 {
-                               compatible = "mrvl,mmp-twsi", "mrvl,pxa-i2c";
+                               compatible = "mrvl,mmp-twsi";
                                reg = <0xd4025000 0x1000>;
                                interrupts = <58>;
                                status = "disabled";
diff --git a/arch/arm/boot/dts/pxa910-dkb.dts b/arch/arm/boot/dts/pxa910-dkb.dts
new file mode 100644 (file)
index 0000000..e92be5a
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ *  Copyright (C) 2012 Marvell Technology Group Ltd.
+ *  Author: Haojian Zhuang <haojian.zhuang@marvell.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License version 2 as
+ *  publishhed by the Free Software Foundation.
+ */
+
+/dts-v1/;
+/include/ "pxa910.dtsi"
+
+/ {
+       model = "Marvell PXA910 DKB Development Board";
+       compatible = "mrvl,pxa910-dkb", "mrvl,pxa910";
+
+       chosen {
+               bootargs = "console=ttyS0,115200 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
+       };
+
+       memory {
+               reg = <0x00000000 0x10000000>;
+       };
+
+       soc {
+               apb@d4000000 {
+                       uart1: uart@d4017000 {
+                               status = "okay";
+                       };
+                       twsi1: i2c@d4011000 {
+                               status = "okay";
+                       };
+                       rtc: rtc@d4010000 {
+                               status = "okay";
+                       };
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/pxa910.dtsi b/arch/arm/boot/dts/pxa910.dtsi
new file mode 100644 (file)
index 0000000..aebf32d
--- /dev/null
@@ -0,0 +1,140 @@
+/*
+ *  Copyright (C) 2012 Marvell Technology Group Ltd.
+ *  Author: Haojian Zhuang <haojian.zhuang@marvell.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License version 2 as
+ *  publishhed by the Free Software Foundation.
+ */
+
+/include/ "skeleton.dtsi"
+
+/ {
+       aliases {
+               serial0 = &uart1;
+               serial1 = &uart2;
+               serial2 = &uart3;
+               i2c0 = &twsi1;
+               i2c1 = &twsi2;
+       };
+
+       soc {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "simple-bus";
+               interrupt-parent = <&intc>;
+               ranges;
+
+               axi@d4200000 {  /* AXI */
+                       compatible = "mrvl,axi-bus", "simple-bus";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = <0xd4200000 0x00200000>;
+                       ranges;
+
+                       intc: interrupt-controller@d4282000 {
+                               compatible = "mrvl,mmp-intc";
+                               interrupt-controller;
+                               #interrupt-cells = <1>;
+                               reg = <0xd4282000 0x1000>;
+                               mrvl,intc-nr-irqs = <64>;
+                       };
+
+               };
+
+               apb@d4000000 {  /* APB */
+                       compatible = "mrvl,apb-bus", "simple-bus";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = <0xd4000000 0x00200000>;
+                       ranges;
+
+                       timer0: timer@d4014000 {
+                               compatible = "mrvl,mmp-timer";
+                               reg = <0xd4014000 0x100>;
+                               interrupts = <13>;
+                       };
+
+                       timer1: timer@d4016000 {
+                               compatible = "mrvl,mmp-timer";
+                               reg = <0xd4016000 0x100>;
+                               interrupts = <29>;
+                               status = "disabled";
+                       };
+
+                       uart1: uart@d4017000 {
+                               compatible = "mrvl,mmp-uart";
+                               reg = <0xd4017000 0x1000>;
+                               interrupts = <27>;
+                               status = "disabled";
+                       };
+
+                       uart2: uart@d4018000 {
+                               compatible = "mrvl,mmp-uart";
+                               reg = <0xd4018000 0x1000>;
+                               interrupts = <28>;
+                               status = "disabled";
+                       };
+
+                       uart3: uart@d4036000 {
+                               compatible = "mrvl,mmp-uart";
+                               reg = <0xd4036000 0x1000>;
+                               interrupts = <59>;
+                               status = "disabled";
+                       };
+
+                       gpio@d4019000 {
+                               compatible = "mrvl,mmp-gpio";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               reg = <0xd4019000 0x1000>;
+                               gpio-controller;
+                               #gpio-cells = <2>;
+                               interrupts = <49>;
+                               interrupt-names = "gpio_mux";
+                               interrupt-controller;
+                               #interrupt-cells = <1>;
+                               ranges;
+
+                               gcb0: gpio@d4019000 {
+                                       reg = <0xd4019000 0x4>;
+                               };
+
+                               gcb1: gpio@d4019004 {
+                                       reg = <0xd4019004 0x4>;
+                               };
+
+                               gcb2: gpio@d4019008 {
+                                       reg = <0xd4019008 0x4>;
+                               };
+
+                               gcb3: gpio@d4019100 {
+                                       reg = <0xd4019100 0x4>;
+                               };
+                       };
+
+                       twsi1: i2c@d4011000 {
+                               compatible = "mrvl,mmp-twsi";
+                               reg = <0xd4011000 0x1000>;
+                               interrupts = <7>;
+                               mrvl,i2c-fast-mode;
+                               status = "disabled";
+                       };
+
+                       twsi2: i2c@d4037000 {
+                               compatible = "mrvl,mmp-twsi";
+                               reg = <0xd4037000 0x1000>;
+                               interrupts = <54>;
+                               status = "disabled";
+                       };
+
+                       rtc: rtc@d4010000 {
+                               compatible = "mrvl,mmp-rtc";
+                               reg = <0xd4010000 0x1000>;
+                               interrupts = <5 6>;
+                               interrupt-names = "rtc 1Hz", "rtc alarm";
+                               status = "disabled";
+                       };
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/sh7372.dtsi b/arch/arm/boot/dts/sh7372.dtsi
new file mode 100644 (file)
index 0000000..677fc60
--- /dev/null
@@ -0,0 +1,21 @@
+/*
+ * Device Tree Source for the sh7372 SoC
+ *
+ * Copyright (C) 2012 Renesas Solutions Corp.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+/include/ "skeleton.dtsi"
+
+/ {
+       compatible = "renesas,sh7372";
+
+       cpus {
+               cpu@0 {
+                       compatible = "arm,cortex-a8";
+               };
+       };
+};
index 359c6d6..d99dc04 100644 (file)
                        wakeup = <1>;
                        linux,code = <2>;
                        label = "userpb";
-                       gpios = <&gpio1 0>;
+                       gpios = <&gpio1 0 0>;
                };
                button@2 {
                        debounce_interval = <50>;
                        wakeup = <1>;
                        linux,code = <3>;
-                       label = "userpb";
-                       gpios = <&gpio4 23>;
+                       label = "extkb1";
+                       gpios = <&gpio4 23 0>;
                };
                button@3 {
                        debounce_interval = <50>;
                        wakeup = <1>;
                        linux,code = <4>;
-                       label = "userpb";
-                       gpios = <&gpio4 23>;
+                       label = "extkb2";
+                       gpios = <&gpio4 24 0>;
                };
                button@4 {
                        debounce_interval = <50>;
                        wakeup = <1>;
                        linux,code = <5>;
-                       label = "userpb";
-                       gpios = <&gpio5 1>;
+                       label = "extkb3";
+                       gpios = <&gpio5 1 0>;
                };
                button@5 {
                        debounce_interval = <50>;
                        wakeup = <1>;
                        linux,code = <6>;
-                       label = "userpb";
-                       gpios = <&gpio5 2>;
+                       label = "extkb4";
+                       gpios = <&gpio5 2 0>;
                };
        };
 
        soc-u9500 {
 
                external-bus@50000000 {
-                       compatible = "simple-bus";
-                       reg = <0x50000000 0x10000000>;
-                       #address-cells = <1>;
-                       #size-cells = <1>;
-                       ranges;
-
-                       ethernet@50000000 {
-                               compatible = "smsc,9111";
-                               reg = <0x50000000 0x10000>;
-                               interrupts = <12>;
+                       status = "okay";
+
+                       ethernet@0 {
+                               compatible = "smsc,lan9115";
+                               reg = <0 0x10000>;
+                               interrupts = <12 0x1>;
                                interrupt-parent = <&gpio4>;
+
+                               reg-shift = <1>;
+                               reg-io-width = <2>;
+                               smsc,force-internal-phy;
+                               smsc,irq-active-high;
+                               smsc,irq-push-pull;
                        };
                };
 
diff --git a/arch/arm/boot/dts/spear300-evb.dts b/arch/arm/boot/dts/spear300-evb.dts
new file mode 100644 (file)
index 0000000..6a79d69
--- /dev/null
@@ -0,0 +1,183 @@
+/*
+ * DTS file for SPEAr300 Evaluation Baord
+ *
+ * Copyright 2012 Viresh Kumar <viresh.kumar@st.com>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+/include/ "spear300.dtsi"
+
+/ {
+       model = "ST SPEAr300 Evaluation Board";
+       compatible = "st,spear300-evb", "st,spear300";
+       #address-cells = <1>;
+       #size-cells = <1>;
+
+       memory {
+               reg = <0 0x40000000>;
+       };
+
+       ahb {
+               clcd@60000000 {
+                       status = "okay";
+               };
+
+               dma@fc400000 {
+                       status = "okay";
+               };
+
+               fsmc: flash@94000000 {
+                       status = "okay";
+               };
+
+               gmac: eth@e0800000 {
+                       status = "okay";
+               };
+
+               sdhci@70000000 {
+                       int-gpio = <&gpio1 0 0>;
+                       power-gpio = <&gpio1 2 1>;
+                       status = "okay";
+               };
+
+               smi: flash@fc000000 {
+                       status = "okay";
+               };
+
+               spi0: spi@d0100000 {
+                       status = "okay";
+               };
+
+               ehci@e1800000 {
+                       status = "okay";
+               };
+
+               ohci@e1900000 {
+                       status = "okay";
+               };
+
+               ohci@e2100000 {
+                       status = "okay";
+               };
+
+               apb {
+                       gpio0: gpio@fc980000 {
+                              status = "okay";
+                       };
+
+                       gpio1: gpio@a9000000 {
+                              status = "okay";
+                       };
+
+                       i2c0: i2c@d0180000 {
+                              status = "okay";
+                       };
+
+                       kbd@a0000000 {
+                               linux,keymap = < 0x00000001
+                                                0x00010002
+                                                0x00020003
+                                                0x00030004
+                                                0x00040005
+                                                0x00050006
+                                                0x00060007
+                                                0x00070008
+                                                0x00080009
+                                                0x0100000a
+                                                0x0101000c
+                                                0x0102000d
+                                                0x0103000e
+                                                0x0104000f
+                                                0x01050010
+                                                0x01060011
+                                                0x01070012
+                                                0x01080013
+                                                0x02000014
+                                                0x02010015
+                                                0x02020016
+                                                0x02030017
+                                                0x02040018
+                                                0x02050019
+                                                0x0206001a
+                                                0x0207001b
+                                                0x0208001c
+                                                0x0300001d
+                                                0x0301001e
+                                                0x0302001f
+                                                0x03030020
+                                                0x03040021
+                                                0x03050022
+                                                0x03060023
+                                                0x03070024
+                                                0x03080025
+                                                0x04000026
+                                                0x04010027
+                                                0x04020028
+                                                0x04030029
+                                                0x0404002a
+                                                0x0405002b
+                                                0x0406002c
+                                                0x0407002d
+                                                0x0408002e
+                                                0x0500002f
+                                                0x05010030
+                                                0x05020031
+                                                0x05030032
+                                                0x05040033
+                                                0x05050034
+                                                0x05060035
+                                                0x05070036
+                                                0x05080037
+                                                0x06000038
+                                                0x06010039
+                                                0x0602003a
+                                                0x0603003b
+                                                0x0604003c
+                                                0x0605003d
+                                                0x0606003e
+                                                0x0607003f
+                                                0x06080040
+                                                0x07000041
+                                                0x07010042
+                                                0x07020043
+                                                0x07030044
+                                                0x07040045
+                                                0x07050046
+                                                0x07060047
+                                                0x07070048
+                                                0x07080049
+                                                0x0800004a
+                                                0x0801004b
+                                                0x0802004c
+                                                0x0803004d
+                                                0x0804004e
+                                                0x0805004f
+                                                0x08060050
+                                                0x08070051
+                                                0x08080052 >;
+                              autorepeat;
+                              st,mode = <0>;
+                              status = "okay";
+                       };
+
+                       rtc@fc900000 {
+                              status = "okay";
+                       };
+
+                       serial@d0000000 {
+                              status = "okay";
+                       };
+
+                       wdt@fc880000 {
+                              status = "okay";
+                       };
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/spear300.dtsi b/arch/arm/boot/dts/spear300.dtsi
new file mode 100644 (file)
index 0000000..f9fcbf4
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+ * DTS file for SPEAr300 SoC
+ *
+ * Copyright 2012 Viresh Kumar <viresh.kumar@st.com>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/include/ "spear3xx.dtsi"
+
+/ {
+       ahb {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "simple-bus";
+               ranges = <0x60000000 0x60000000 0x50000000
+                         0xd0000000 0xd0000000 0x30000000>;
+
+               clcd@60000000 {
+                       compatible = "arm,clcd-pl110", "arm,primecell";
+                       reg = <0x60000000 0x1000>;
+                       interrupts = <30>;
+                       status = "disabled";
+               };
+
+               fsmc: flash@94000000 {
+                       compatible = "st,spear600-fsmc-nand";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = <0x94000000 0x1000        /* FSMC Register */
+                              0x80000000 0x0010>;      /* NAND Base */
+                       reg-names = "fsmc_regs", "nand_data";
+                       st,ale-off = <0x20000>;
+                       st,cle-off = <0x10000>;
+                       status = "disabled";
+               };
+
+               sdhci@70000000 {
+                       compatible = "st,sdhci-spear";
+                       reg = <0x70000000 0x100>;
+                       interrupts = <1>;
+                       status = "disabled";
+               };
+
+               apb {
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       compatible = "simple-bus";
+                       ranges = <0xa0000000 0xa0000000 0x10000000
+                                 0xd0000000 0xd0000000 0x30000000>;
+
+                       gpio1: gpio@a9000000 {
+                               #gpio-cells = <2>;
+                               compatible = "arm,pl061", "arm,primecell";
+                               gpio-controller;
+                               reg = <0xa9000000 0x1000>;
+                               status = "disabled";
+                       };
+
+                       kbd@a0000000 {
+                               compatible = "st,spear300-kbd";
+                               reg = <0xa0000000 0x1000>;
+                               status = "disabled";
+                       };
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/spear310-evb.dts b/arch/arm/boot/dts/spear310-evb.dts
new file mode 100644 (file)
index 0000000..c86af33
--- /dev/null
@@ -0,0 +1,111 @@
+/*
+ * DTS file for SPEAr310 Evaluation Baord
+ *
+ * Copyright 2012 Viresh Kumar <viresh.kumar@st.com>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+/include/ "spear310.dtsi"
+
+/ {
+       model = "ST SPEAr310 Evaluation Board";
+       compatible = "st,spear310-evb", "st,spear310";
+       #address-cells = <1>;
+       #size-cells = <1>;
+
+       memory {
+               reg = <0 0x40000000>;
+       };
+
+       ahb {
+               dma@fc400000 {
+                       status = "okay";
+               };
+
+               fsmc: flash@44000000 {
+                       status = "okay";
+               };
+
+               gmac: eth@e0800000 {
+                       status = "okay";
+               };
+
+               smi: flash@fc000000 {
+                       status = "okay";
+                       clock-rate=<50000000>;
+
+                       flash@f8000000 {
+                               label = "m25p64";
+                               reg = <0xf8000000 0x800000>;
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               st,smi-fast-mode;
+                       };
+               };
+
+               spi0: spi@d0100000 {
+                       status = "okay";
+               };
+
+               ehci@e1800000 {
+                       status = "okay";
+               };
+
+               ohci@e1900000 {
+                       status = "okay";
+               };
+
+               ohci@e2100000 {
+                       status = "okay";
+               };
+
+               apb {
+                       gpio0: gpio@fc980000 {
+                              status = "okay";
+                       };
+
+                       i2c0: i2c@d0180000 {
+                              status = "okay";
+                       };
+
+                       rtc@fc900000 {
+                              status = "okay";
+                       };
+
+                       serial@d0000000 {
+                              status = "okay";
+                       };
+
+                       serial@b2000000 {
+                              status = "okay";
+                       };
+
+                       serial@b2080000 {
+                              status = "okay";
+                       };
+
+                       serial@b2100000 {
+                              status = "okay";
+                       };
+
+                       serial@b2180000 {
+                              status = "okay";
+                       };
+
+                       serial@b2200000 {
+                              status = "okay";
+                       };
+
+                       wdt@fc880000 {
+                              status = "okay";
+                       };
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/spear310.dtsi b/arch/arm/boot/dts/spear310.dtsi
new file mode 100644 (file)
index 0000000..dc7fa14
--- /dev/null
@@ -0,0 +1,75 @@
+/*
+ * DTS file for SPEAr310 SoC
+ *
+ * Copyright 2012 Viresh Kumar <viresh.kumar@st.com>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/include/ "spear3xx.dtsi"
+
+/ {
+       ahb {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "simple-bus";
+               ranges = <0x40000000 0x40000000 0x10000000
+                         0xb0000000 0xb0000000 0x10000000
+                         0xd0000000 0xd0000000 0x30000000>;
+
+               fsmc: flash@44000000 {
+                       compatible = "st,spear600-fsmc-nand";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = <0x44000000 0x1000        /* FSMC Register */
+                              0x40000000 0x0010>;      /* NAND Base */
+                       reg-names = "fsmc_regs", "nand_data";
+                       st,ale-off = <0x10000>;
+                       st,cle-off = <0x20000>;
+                       status = "disabled";
+               };
+
+               apb {
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       compatible = "simple-bus";
+                       ranges = <0xb0000000 0xb0000000 0x10000000
+                                 0xd0000000 0xd0000000 0x30000000>;
+
+                       serial@b2000000 {
+                               compatible = "arm,pl011", "arm,primecell";
+                               reg = <0xb2000000 0x1000>;
+                               status = "disabled";
+                       };
+
+                       serial@b2080000 {
+                               compatible = "arm,pl011", "arm,primecell";
+                               reg = <0xb2080000 0x1000>;
+                               status = "disabled";
+                       };
+
+                       serial@b2100000 {
+                               compatible = "arm,pl011", "arm,primecell";
+                               reg = <0xb2100000 0x1000>;
+                               status = "disabled";
+                       };
+
+                       serial@b2180000 {
+                               compatible = "arm,pl011", "arm,primecell";
+                               reg = <0xb2180000 0x1000>;
+                               status = "disabled";
+                       };
+
+                       serial@b2200000 {
+                               compatible = "arm,pl011", "arm,primecell";
+                               reg = <0xb2200000 0x1000>;
+                               status = "disabled";
+                       };
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/spear320-evb.dts b/arch/arm/boot/dts/spear320-evb.dts
new file mode 100644 (file)
index 0000000..d43de71
--- /dev/null
@@ -0,0 +1,112 @@
+/*
+ * DTS file for SPEAr320 Evaluation Baord
+ *
+ * Copyright 2012 Viresh Kumar <viresh.kumar@st.com>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+/include/ "spear320.dtsi"
+
+/ {
+       model = "ST SPEAr300 Evaluation Board";
+       compatible = "st,spear300-evb", "st,spear300";
+       #address-cells = <1>;
+       #size-cells = <1>;
+
+       memory {
+               reg = <0 0x40000000>;
+       };
+
+       ahb {
+               clcd@90000000 {
+                       status = "okay";
+               };
+
+               dma@fc400000 {
+                       status = "okay";
+               };
+
+               fsmc: flash@4c000000 {
+                       status = "okay";
+               };
+
+               gmac: eth@e0800000 {
+                       status = "okay";
+               };
+
+               sdhci@70000000 {
+                       power-gpio = <&gpio0 2 1>;
+                       power_always_enb;
+                       status = "okay";
+               };
+
+               smi: flash@fc000000 {
+                       status = "okay";
+               };
+
+               spi0: spi@d0100000 {
+                       status = "okay";
+               };
+
+               spi1: spi@a5000000 {
+                       status = "okay";
+               };
+
+               spi2: spi@a6000000 {
+                       status = "okay";
+               };
+
+               ehci@e1800000 {
+                       status = "okay";
+               };
+
+               ohci@e1900000 {
+                       status = "okay";
+               };
+
+               ohci@e2100000 {
+                       status = "okay";
+               };
+
+               apb {
+                       gpio0: gpio@fc980000 {
+                              status = "okay";
+                       };
+
+                       i2c0: i2c@d0180000 {
+                              status = "okay";
+                       };
+
+                       i2c1: i2c@a7000000 {
+                              status = "okay";
+                       };
+
+                       rtc@fc900000 {
+                              status = "okay";
+                       };
+
+                       serial@d0000000 {
+                              status = "okay";
+                       };
+
+                       serial@a3000000 {
+                              status = "okay";
+                       };
+
+                       serial@a4000000 {
+                              status = "okay";
+                       };
+
+                       wdt@fc880000 {
+                              status = "okay";
+                       };
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/spear320.dtsi b/arch/arm/boot/dts/spear320.dtsi
new file mode 100644 (file)
index 0000000..9a0267a
--- /dev/null
@@ -0,0 +1,90 @@
+/*
+ * DTS file for SPEAr320 SoC
+ *
+ * Copyright 2012 Viresh Kumar <viresh.kumar@st.com>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/include/ "spear3xx.dtsi"
+
+/ {
+       ahb {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "simple-bus";
+               ranges = <0x40000000 0x40000000 0x70000000
+                         0xd0000000 0xd0000000 0x30000000>;
+
+               clcd@90000000 {
+                       compatible = "arm,clcd-pl110", "arm,primecell";
+                       reg = <0x90000000 0x1000>;
+                       interrupts = <33>;
+                       status = "disabled";
+               };
+
+               fsmc: flash@4c000000 {
+                       compatible = "st,spear600-fsmc-nand";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = <0x4c000000 0x1000        /* FSMC Register */
+                              0x50000000 0x0010>;      /* NAND Base */
+                       reg-names = "fsmc_regs", "nand_data";
+                       st,ale-off = <0x20000>;
+                       st,cle-off = <0x10000>;
+                       status = "disabled";
+               };
+
+               sdhci@70000000 {
+                       compatible = "st,sdhci-spear";
+                       reg = <0x70000000 0x100>;
+                       interrupts = <29>;
+                       status = "disabled";
+               };
+
+               spi1: spi@a5000000 {
+                       compatible = "arm,pl022", "arm,primecell";
+                       reg = <0xa5000000 0x1000>;
+                       status = "disabled";
+               };
+
+               spi2: spi@a6000000 {
+                       compatible = "arm,pl022", "arm,primecell";
+                       reg = <0xa6000000 0x1000>;
+                       status = "disabled";
+               };
+
+               apb {
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       compatible = "simple-bus";
+                       ranges = <0xa0000000 0xa0000000 0x10000000
+                                 0xd0000000 0xd0000000 0x30000000>;
+
+                       i2c1: i2c@a7000000 {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               compatible = "snps,designware-i2c";
+                               reg = <0xa7000000 0x1000>;
+                               status = "disabled";
+                       };
+
+                       serial@a3000000 {
+                               compatible = "arm,pl011", "arm,primecell";
+                               reg = <0xa3000000 0x1000>;
+                               status = "disabled";
+                       };
+
+                       serial@a4000000 {
+                               compatible = "arm,pl011", "arm,primecell";
+                               reg = <0xa4000000 0x1000>;
+                               status = "disabled";
+                       };
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/spear3xx.dtsi b/arch/arm/boot/dts/spear3xx.dtsi
new file mode 100644 (file)
index 0000000..0ae7c8e
--- /dev/null
@@ -0,0 +1,144 @@
+/*
+ * DTS file for all SPEAr3xx SoCs
+ *
+ * Copyright 2012 Viresh Kumar <viresh.kumar@st.com>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/include/ "skeleton.dtsi"
+
+/ {
+       interrupt-parent = <&vic>;
+
+       cpus {
+               cpu@0 {
+                       compatible = "arm,arm926ejs";
+               };
+       };
+
+       memory {
+               device_type = "memory";
+               reg = <0 0x40000000>;
+       };
+
+       ahb {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "simple-bus";
+               ranges = <0xd0000000 0xd0000000 0x30000000>;
+
+               vic: interrupt-controller@f1100000 {
+                       compatible = "arm,pl190-vic";
+                       interrupt-controller;
+                       reg = <0xf1100000 0x1000>;
+                       #interrupt-cells = <1>;
+               };
+
+               dma@fc400000 {
+                       compatible = "arm,pl080", "arm,primecell";
+                       reg = <0xfc400000 0x1000>;
+                       interrupt-parent = <&vic>;
+                       interrupts = <8>;
+                       status = "disabled";
+               };
+
+               gmac: eth@e0800000 {
+                       compatible = "st,spear600-gmac";
+                       reg = <0xe0800000 0x8000>;
+                       interrupts = <23 22>;
+                       interrupt-names = "macirq", "eth_wake_irq";
+                       status = "disabled";
+               };
+
+               smi: flash@fc000000 {
+                       compatible = "st,spear600-smi";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = <0xfc000000 0x1000>;
+                       interrupts = <9>;
+                       status = "disabled";
+               };
+
+               spi0: spi@d0100000 {
+                       compatible = "arm,pl022", "arm,primecell";
+                       reg = <0xd0100000 0x1000>;
+                       interrupts = <20>;
+                       status = "disabled";
+               };
+
+               ehci@e1800000 {
+                       compatible = "st,spear600-ehci", "usb-ehci";
+                       reg = <0xe1800000 0x1000>;
+                       interrupts = <26>;
+                       status = "disabled";
+               };
+
+               ohci@e1900000 {
+                       compatible = "st,spear600-ohci", "usb-ohci";
+                       reg = <0xe1900000 0x1000>;
+                       interrupts = <25>;
+                       status = "disabled";
+               };
+
+               ohci@e2100000 {
+                       compatible = "st,spear600-ohci", "usb-ohci";
+                       reg = <0xe2100000 0x1000>;
+                       interrupts = <27>;
+                       status = "disabled";
+               };
+
+               apb {
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       compatible = "simple-bus";
+                       ranges = <0xd0000000 0xd0000000 0x30000000>;
+
+                       gpio0: gpio@fc980000 {
+                               compatible = "arm,pl061", "arm,primecell";
+                               reg = <0xfc980000 0x1000>;
+                               interrupts = <11>;
+                               gpio-controller;
+                               #gpio-cells = <2>;
+                               interrupt-controller;
+                               #interrupt-cells = <2>;
+                               status = "disabled";
+                       };
+
+                       i2c0: i2c@d0180000 {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               compatible = "snps,designware-i2c";
+                               reg = <0xd0180000 0x1000>;
+                               interrupts = <21>;
+                               status = "disabled";
+                       };
+
+                       rtc@fc900000 {
+                               compatible = "st,spear-rtc";
+                               reg = <0xfc900000 0x1000>;
+                               interrupts = <10>;
+                               status = "disabled";
+                       };
+
+                       serial@d0000000 {
+                               compatible = "arm,pl011", "arm,primecell";
+                               reg = <0xd0000000 0x1000>;
+                               interrupts = <19>;
+                               status = "disabled";
+                       };
+
+                       wdt@fc880000 {
+                               compatible = "arm,sp805", "arm,primecell";
+                               reg = <0xfc880000 0x1000>;
+                               interrupts = <12>;
+                               status = "disabled";
+                       };
+               };
+       };
+};
index 636292e..790a7a8 100644 (file)
        };
 
        ahb {
+               dma@fc400000 {
+                       status = "okay";
+               };
+
                gmac: ethernet@e0800000 {
                        phy-mode = "gmii";
                        status = "okay";
index ebe0885..d777e3a 100644 (file)
                        #interrupt-cells = <1>;
                };
 
+               dma@fc400000 {
+                       compatible = "arm,pl080", "arm,primecell";
+                       reg = <0xfc400000 0x1000>;
+                       interrupt-parent = <&vic1>;
+                       interrupts = <10>;
+                       status = "disabled";
+               };
+
                gmac: ethernet@e0800000 {
                        compatible = "st,spear600-gmac";
                        reg = <0xe0800000 0x8000>;
diff --git a/arch/arm/boot/dts/tny_a9260.dts b/arch/arm/boot/dts/tny_a9260.dts
new file mode 100644 (file)
index 0000000..367a16d
--- /dev/null
@@ -0,0 +1,15 @@
+/*
+ * tny_a9260.dts - Device Tree file for Caloa TNY A9260 board
+ *
+ * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2.
+ */
+/dts-v1/;
+/include/ "at91sam9260.dtsi"
+/include/ "tny_a9260_common.dtsi"
+
+/ {
+       model = "Calao TNY A9260";
+       compatible = "calao,tny-a9260", "atmel,at91sam9260", "atmel,at91sam9";
+};
diff --git a/arch/arm/boot/dts/tny_a9260_common.dtsi b/arch/arm/boot/dts/tny_a9260_common.dtsi
new file mode 100644 (file)
index 0000000..0e6d3de
--- /dev/null
@@ -0,0 +1,83 @@
+/*
+ * tny_a9260_common.dtsi - Device Tree file for Caloa TNY A926x board
+ *
+ * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2.
+ */
+
+/ {
+       chosen {
+               bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock6 rw rootfstype=ubifs";
+       };
+
+       memory {
+               reg = <0x20000000 0x4000000>;
+       };
+
+       clocks {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               main_clock: clock@0 {
+                       compatible = "atmel,osc", "fixed-clock";
+                       clock-frequency = <12000000>;
+               };
+       };
+
+       ahb {
+               apb {
+                       dbgu: serial@fffff200 {
+                               status = "okay";
+                       };
+               };
+
+               nand0: nand@40000000 {
+                       nand-bus-width = <8>;
+                       nand-ecc-mode = "soft";
+                       nand-on-flash-bbt;
+                       status = "okay";
+
+                       at91bootstrap@0 {
+                               label = "at91bootstrap";
+                               reg = <0x0 0x20000>;
+                       };
+
+                       barebox@20000 {
+                               label = "barebox";
+                               reg = <0x20000 0x40000>;
+                       };
+
+                       bareboxenv@60000 {
+                               label = "bareboxenv";
+                               reg = <0x60000 0x20000>;
+                       };
+
+                       bareboxenv2@80000 {
+                               label = "bareboxenv2";
+                               reg = <0x80000 0x20000>;
+                       };
+
+                       oftree@80000 {
+                               label = "oftree";
+                               reg = <0xa0000 0x20000>;
+                       };
+
+                       kernel@a0000 {
+                               label = "kernel";
+                               reg = <0xc0000 0x400000>;
+                       };
+
+                       rootfs@4a0000 {
+                               label = "rootfs";
+                               reg = <0x4c0000 0x7800000>;
+                       };
+
+                       data@7ca0000 {
+                               label = "data";
+                               reg = <0x7cc0000 0x8340000>;
+                       };
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/tny_a9263.dts b/arch/arm/boot/dts/tny_a9263.dts
new file mode 100644 (file)
index 0000000..dee9c57
--- /dev/null
@@ -0,0 +1,97 @@
+/*
+ * usb_a9263.dts - Device Tree file for Caloa USB A9293 board
+ *
+ *  Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2 only
+ */
+/dts-v1/;
+/include/ "at91sam9263.dtsi"
+
+/ {
+       model = "Calao TNY A9263";
+       compatible = "atmel,tny-a9263", "atmel,at91sam9263", "atmel,at91sam9";
+
+       chosen {
+               bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock5 rw rootfstype=ubifs";
+       };
+
+       memory {
+               reg = <0x20000000 0x4000000>;
+       };
+
+       clocks {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               main_clock: clock@0 {
+                       compatible = "atmel,osc", "fixed-clock";
+                       clock-frequency = <12000000>;
+               };
+       };
+
+       ahb {
+               apb {
+                       dbgu: serial@ffffee00 {
+                               status = "okay";
+                       };
+
+                       usb1: gadget@fff78000 {
+                               atmel,vbus-gpio = <&pioB 11 0>;
+                               status = "okay";
+                       };
+               };
+
+               nand0: nand@40000000 {
+                       nand-bus-width = <8>;
+                       nand-ecc-mode = "soft";
+                       nand-on-flash-bbt;
+                       status = "okay";
+
+                       at91bootstrap@0 {
+                               label = "at91bootstrap";
+                               reg = <0x0 0x20000>;
+                       };
+
+                       barebox@20000 {
+                               label = "barebox";
+                               reg = <0x20000 0x40000>;
+                       };
+
+                       bareboxenv@60000 {
+                               label = "bareboxenv";
+                               reg = <0x60000 0x20000>;
+                       };
+
+                       bareboxenv2@80000 {
+                               label = "bareboxenv2";
+                               reg = <0x80000 0x20000>;
+                       };
+
+                       oftree@80000 {
+                               label = "oftree";
+                               reg = <0xa0000 0x20000>;
+                       };
+
+                       kernel@a0000 {
+                               label = "kernel";
+                               reg = <0xc0000 0x400000>;
+                       };
+
+                       rootfs@4a0000 {
+                               label = "rootfs";
+                               reg = <0x4c0000 0x7800000>;
+                       };
+
+                       data@7ca0000 {
+                               label = "data";
+                               reg = <0x7cc0000 0x8340000>;
+                       };
+               };
+       };
+
+       i2c@0 {
+               status = "okay";
+       };
+};
diff --git a/arch/arm/boot/dts/tny_a9g20.dts b/arch/arm/boot/dts/tny_a9g20.dts
new file mode 100644 (file)
index 0000000..e1ab64c
--- /dev/null
@@ -0,0 +1,15 @@
+/*
+ * tny_a9g20.dts - Device Tree file for Caloa TNY A9G20 board
+ *
+ * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2.
+ */
+/dts-v1/;
+/include/ "at91sam9g20.dtsi"
+/include/ "tny_a9260_common.dtsi"
+
+/ {
+       model = "Calao TNY A9G20";
+       compatible = "calao,tny-a9g20", "atmel,at91sam9g20", "atmel,at91sam9";
+};
diff --git a/arch/arm/boot/dts/twl4030.dtsi b/arch/arm/boot/dts/twl4030.dtsi
new file mode 100644 (file)
index 0000000..22f4d13
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+/*
+ * Integrated Power Management Chip
+ */
+&twl {
+       compatible = "ti,twl4030";
+       interrupt-controller;
+       #interrupt-cells = <1>;
+
+       rtc {
+               compatible = "ti,twl4030-rtc";
+               interrupts = <11>;
+       };
+
+       vdac: regulator@0 {
+               compatible = "ti,twl4030-vdac";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+       };
+
+       vpll2: regulator@1 {
+               compatible = "ti,twl4030-vpll2";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+       };
+
+       vmmc1: regulator@2 {
+               compatible = "ti,twl4030-vmmc1";
+               regulator-min-microvolt = <1850000>;
+               regulator-max-microvolt = <3150000>;
+       };
+
+       twl_gpio: gpio {
+               compatible = "ti,twl4030-gpio";
+               gpio-controller;
+               #gpio-cells = <2>;
+               interrupt-controller;
+               #interrupt-cells = <1>;
+       };
+};
diff --git a/arch/arm/boot/dts/twl6030.dtsi b/arch/arm/boot/dts/twl6030.dtsi
new file mode 100644 (file)
index 0000000..3b2f351
--- /dev/null
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+/*
+ * Integrated Power Management Chip
+ * http://www.ti.com/lit/ds/symlink/twl6030.pdf
+ */
+&twl {
+       compatible = "ti,twl6030";
+       interrupt-controller;
+       #interrupt-cells = <1>;
+
+       rtc {
+               compatible = "ti,twl4030-rtc";
+               interrupts = <11>;
+       };
+
+       vaux1: regulator@0 {
+               compatible = "ti,twl6030-vaux1";
+               regulator-min-microvolt = <1000000>;
+               regulator-max-microvolt = <3000000>;
+       };
+
+       vaux2: regulator@1 {
+               compatible = "ti,twl6030-vaux2";
+               regulator-min-microvolt = <1200000>;
+               regulator-max-microvolt = <2800000>;
+       };
+
+       vaux3: regulator@2 {
+               compatible = "ti,twl6030-vaux3";
+               regulator-min-microvolt = <1000000>;
+               regulator-max-microvolt = <3000000>;
+       };
+
+       vmmc: regulator@3 {
+               compatible = "ti,twl6030-vmmc";
+               regulator-min-microvolt = <1200000>;
+               regulator-max-microvolt = <3000000>;
+       };
+
+       vpp: regulator@4 {
+               compatible = "ti,twl6030-vpp";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <2500000>;
+       };
+
+       vusim: regulator@5 {
+               compatible = "ti,twl6030-vusim";
+               regulator-min-microvolt = <1200000>;
+               regulator-max-microvolt = <2900000>;
+       };
+
+       vdac: regulator@6 {
+               compatible = "ti,twl6030-vdac";
+       };
+
+       vana: regulator@7 {
+               compatible = "ti,twl6030-vana";
+       };
+
+       vcxio: regulator@8 {
+               compatible = "ti,twl6030-vcxio";
+       };
+
+       vusb: regulator@9 {
+               compatible = "ti,twl6030-vusb";
+       };
+
+       v1v8: regulator@10 {
+               compatible = "ti,twl6030-v1v8";
+       };
+
+       v2v1: regulator@11 {
+               compatible = "ti,twl6030-v2v1";
+       };
+
+       clk32kg: regulator@12 {
+               compatible = "ti,twl6030-clk32kg";
+       };
+};
diff --git a/arch/arm/boot/dts/usb_a9260.dts b/arch/arm/boot/dts/usb_a9260.dts
new file mode 100644 (file)
index 0000000..2962160
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+ * usb_a9260.dts - Device Tree file for Caloa USB A9260 board
+ *
+ *  Copyright (C) 2011-2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2 or later.
+ */
+/dts-v1/;
+/include/ "at91sam9260.dtsi"
+/include/ "usb_a9260_common.dtsi"
+
+/ {
+       model = "Calao USB A9260";
+       compatible = "calao,usb-a9260", "atmel,at91sam9260", "atmel,at91sam9";
+
+       chosen {
+               bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock5 rw rootfstype=ubifs";
+       };
+
+       memory {
+               reg = <0x20000000 0x4000000>;
+       };
+};
diff --git a/arch/arm/boot/dts/usb_a9260_common.dtsi b/arch/arm/boot/dts/usb_a9260_common.dtsi
new file mode 100644 (file)
index 0000000..e70d229
--- /dev/null
@@ -0,0 +1,117 @@
+/*
+ * usb_a926x.dts - Device Tree file for Caloa USB A926x board
+ *
+ *  Copyright (C) 2011-2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2 or later.
+ */
+
+/ {
+       clocks {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               main_clock: clock@0 {
+                       compatible = "atmel,osc", "fixed-clock";
+                       clock-frequency = <12000000>;
+               };
+       };
+
+       ahb {
+               apb {
+                       dbgu: serial@fffff200 {
+                               status = "okay";
+                       };
+
+                       macb0: ethernet@fffc4000 {
+                               phy-mode = "rmii";
+                               status = "okay";
+                       };
+
+                       usb1: gadget@fffa4000 {
+                               atmel,vbus-gpio = <&pioC 5 0>;
+                               status = "okay";
+                       };
+               };
+
+               nand0: nand@40000000 {
+                       nand-bus-width = <8>;
+                       nand-ecc-mode = "soft";
+                       nand-on-flash-bbt;
+                       status = "okay";
+
+                       at91bootstrap@0 {
+                               label = "at91bootstrap";
+                               reg = <0x0 0x20000>;
+                       };
+
+                       barebox@20000 {
+                               label = "barebox";
+                               reg = <0x20000 0x40000>;
+                       };
+
+                       bareboxenv@60000 {
+                               label = "bareboxenv";
+                               reg = <0x60000 0x20000>;
+                       };
+
+                       bareboxenv2@80000 {
+                               label = "bareboxenv2";
+                               reg = <0x80000 0x20000>;
+                       };
+
+                       oftree@80000 {
+                               label = "oftree";
+                               reg = <0xa0000 0x20000>;
+                       };
+
+                       kernel@a0000 {
+                               label = "kernel";
+                               reg = <0xc0000 0x400000>;
+                       };
+
+                       rootfs@4a0000 {
+                               label = "rootfs";
+                               reg = <0x4c0000 0x7800000>;
+                       };
+
+                       data@7ca0000 {
+                               label = "data";
+                               reg = <0x7cc0000 0x8340000>;
+                       };
+               };
+
+               usb0: ohci@00500000 {
+                       num-ports = <2>;
+                       status = "okay";
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               user_led {
+                       label = "user_led";
+                       gpios = <&pioB 21 1>;
+                       linux,default-trigger = "heartbeat";
+               };
+       };
+
+       gpio_keys {
+               compatible = "gpio-keys";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               user_pb {
+                       label = "user_pb";
+                       gpios = <&pioB 10 1>;
+                       linux,code = <28>;
+                       gpio-key,wakeup;
+               };
+       };
+
+       i2c@0 {
+               status = "okay";
+       };
+};
diff --git a/arch/arm/boot/dts/usb_a9263.dts b/arch/arm/boot/dts/usb_a9263.dts
new file mode 100644 (file)
index 0000000..6fe05cc
--- /dev/null
@@ -0,0 +1,131 @@
+/*
+ * usb_a9263.dts - Device Tree file for Caloa USB A9293 board
+ *
+ *  Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2 only
+ */
+/dts-v1/;
+/include/ "at91sam9263.dtsi"
+
+/ {
+       model = "Calao USB A9263";
+       compatible = "atmel,usb-a9263", "atmel,at91sam9263", "atmel,at91sam9";
+
+       chosen {
+               bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock5 rw rootfstype=ubifs";
+       };
+
+       memory {
+               reg = <0x20000000 0x4000000>;
+       };
+
+       clocks {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               main_clock: clock@0 {
+                       compatible = "atmel,osc", "fixed-clock";
+                       clock-frequency = <12000000>;
+               };
+       };
+
+       ahb {
+               apb {
+                       dbgu: serial@ffffee00 {
+                               status = "okay";
+                       };
+
+                       macb0: ethernet@fffbc000 {
+                               phy-mode = "rmii";
+                               status = "okay";
+                       };
+
+                       usb1: gadget@fff78000 {
+                               atmel,vbus-gpio = <&pioB 11 0>;
+                               status = "okay";
+                       };
+
+               };
+
+               nand0: nand@40000000 {
+                       nand-bus-width = <8>;
+                       nand-ecc-mode = "soft";
+                       nand-on-flash-bbt;
+                       status = "okay";
+
+                       at91bootstrap@0 {
+                               label = "at91bootstrap";
+                               reg = <0x0 0x20000>;
+                       };
+
+                       barebox@20000 {
+                               label = "barebox";
+                               reg = <0x20000 0x40000>;
+                       };
+
+                       bareboxenv@60000 {
+                               label = "bareboxenv";
+                               reg = <0x60000 0x20000>;
+                       };
+
+                       bareboxenv2@80000 {
+                               label = "bareboxenv2";
+                               reg = <0x80000 0x20000>;
+                       };
+
+                       oftree@80000 {
+                               label = "oftree";
+                               reg = <0xa0000 0x20000>;
+                       };
+
+                       kernel@a0000 {
+                               label = "kernel";
+                               reg = <0xc0000 0x400000>;
+                       };
+
+                       rootfs@4a0000 {
+                               label = "rootfs";
+                               reg = <0x4c0000 0x7800000>;
+                       };
+
+                       data@7ca0000 {
+                               label = "data";
+                               reg = <0x7cc0000 0x8340000>;
+                       };
+               };
+
+               usb0: ohci@00a00000 {
+                       num-ports = <2>;
+                       status = "okay";
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               user_led {
+                       label = "user_led";
+                       gpios = <&pioB 21 0>;
+                       linux,default-trigger = "heartbeat";
+               };
+       };
+
+       gpio_keys {
+               compatible = "gpio-keys";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               user_pb {
+                       label = "user_pb";
+                       gpios = <&pioB 10 1>;
+                       linux,code = <28>;
+                       gpio-key,wakeup;
+               };
+       };
+
+       i2c@0 {
+               status = "okay";
+       };
+};
index 7c2399c..2dacb16 100644 (file)
@@ -7,6 +7,7 @@
  */
 /dts-v1/;
 /include/ "at91sam9g20.dtsi"
+/include/ "usb_a9260_common.dtsi"
 
 / {
        model = "Calao USB A9G20";
                reg = <0x20000000 0x4000000>;
        };
 
-       clocks {
-               #address-cells = <1>;
-               #size-cells = <1>;
-               ranges;
-
-               main_clock: clock@0 {
-                       compatible = "atmel,osc", "fixed-clock";
-                       clock-frequency = <12000000>;
-               };
-       };
-
-       ahb {
-               apb {
-                       dbgu: serial@fffff200 {
-                               status = "okay";
-                       };
-
-                       macb0: ethernet@fffc4000 {
-                               phy-mode = "rmii";
-                               status = "okay";
-                       };
-
-                       usb1: gadget@fffa4000 {
-                               atmel,vbus-gpio = <&pioC 5 0>;
-                               status = "okay";
-                       };
-               };
-
-               nand0: nand@40000000 {
-                       nand-bus-width = <8>;
-                       nand-ecc-mode = "soft";
-                       nand-on-flash-bbt;
-                       status = "okay";
-
-                       at91bootstrap@0 {
-                               label = "at91bootstrap";
-                               reg = <0x0 0x20000>;
-                       };
-
-                       barebox@20000 {
-                               label = "barebox";
-                               reg = <0x20000 0x40000>;
-                       };
-
-                       bareboxenv@60000 {
-                               label = "bareboxenv";
-                               reg = <0x60000 0x20000>;
-                       };
-
-                       bareboxenv2@80000 {
-                               label = "bareboxenv2";
-                               reg = <0x80000 0x20000>;
-                       };
-
-                       kernel@a0000 {
-                               label = "kernel";
-                               reg = <0xa0000 0x400000>;
-                       };
-
-                       rootfs@4a0000 {
-                               label = "rootfs";
-                               reg = <0x4a0000 0x7800000>;
-                       };
-
-                       data@7ca0000 {
-                               label = "data";
-                               reg = <0x7ca0000 0x8360000>;
-                       };
-               };
-
-               usb0: ohci@00500000 {
-                       num-ports = <2>;
-                       status = "okay";
-               };
-       };
-
-       leds {
-               compatible = "gpio-leds";
-
-               user_led {
-                       label = "user_led";
-                       gpios = <&pioB 21 1>;
-                       linux,default-trigger = "heartbeat";
-               };
-       };
-
-       gpio_keys {
-               compatible = "gpio-keys";
-               #address-cells = <1>;
-               #size-cells = <0>;
-
-               user_pb {
-                       label = "user_pb";
-                       gpios = <&pioB 10 1>;
-                       linux,code = <28>;
-                       gpio-key,wakeup;
-               };
-       };
-
        i2c@0 {
-               status = "okay";
-
                rv3029c2@56 {
                        compatible = "rv3029c2";
                        reg = <0x56>;
index fb20881..4fa6054 100644 (file)
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y
 CONFIG_SYSVIPC=y
 CONFIG_IKCONFIG=y
 CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
+CONFIG_LOG_BUF_SHIFT=16
 CONFIG_SYSFS_DEPRECATED=y
 CONFIG_SYSFS_DEPRECATED_V2=y
 CONFIG_BLK_DEV_INITRD=y
@@ -10,6 +10,7 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
 CONFIG_SYSCTL_SYSCALL=y
 CONFIG_EMBEDDED=y
 CONFIG_SLAB=y
+CONFIG_JUMP_LABEL=y
 CONFIG_MODULES=y
 CONFIG_MODULE_UNLOAD=y
 # CONFIG_BLK_DEV_BSG is not set
@@ -21,6 +22,8 @@ CONFIG_PREEMPT=y
 CONFIG_AEABI=y
 CONFIG_ZBOOT_ROM_TEXT=0x0
 CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_ARM_APPENDED_DTB=y
+CONFIG_ARM_ATAG_DTB_COMPAT=y
 CONFIG_CMDLINE="console=ttyS0,115200n81 root=/dev/ram0"
 CONFIG_CPU_IDLE=y
 CONFIG_FPE_NWFPE=y
@@ -40,7 +43,8 @@ CONFIG_IP_PNP_BOOTP=y
 # CONFIG_INET_XFRM_MODE_BEET is not set
 # CONFIG_INET_LRO is not set
 # CONFIG_INET_DIAG is not set
-# CONFIG_IPV6 is not set
+CONFIG_IPV6=y
+CONFIG_IPV6_PRIVACY=y
 # CONFIG_WIRELESS is not set
 CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
 # CONFIG_FW_LOADER is not set
@@ -55,13 +59,24 @@ CONFIG_BLK_DEV_CRYPTOLOOP=y
 CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_RAM_COUNT=1
 CONFIG_BLK_DEV_RAM_SIZE=16384
-CONFIG_MISC_DEVICES=y
 CONFIG_EEPROM_AT25=y
 CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_NETDEVICES=y
 CONFIG_MII=y
-CONFIG_PHYLIB=y
+# CONFIG_NET_VENDOR_BROADCOM is not set
+# CONFIG_NET_VENDOR_CHELSIO is not set
+# CONFIG_NET_VENDOR_CIRRUS is not set
+# CONFIG_NET_VENDOR_FARADAY is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_NET_VENDOR_MARVELL is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MICROCHIP is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+CONFIG_LPC_ENET=y
+# CONFIG_NET_VENDOR_SEEQ is not set
+# CONFIG_NET_VENDOR_SMSC is not set
+# CONFIG_NET_VENDOR_STMICRO is not set
 CONFIG_SMSC_PHY=y
 # CONFIG_WLAN is not set
 # CONFIG_INPUT_MOUSEDEV_PSAUX is not set
@@ -97,16 +112,22 @@ CONFIG_SND_SEQUENCER=y
 CONFIG_SND_MIXER_OSS=y
 CONFIG_SND_PCM_OSS=y
 CONFIG_SND_SEQUENCER_OSS=y
-CONFIG_SND_DYNAMIC_MINORS=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
 # CONFIG_SND_VERBOSE_PROCFS is not set
+CONFIG_SND_DEBUG=y
+CONFIG_SND_DEBUG_VERBOSE=y
 # CONFIG_SND_DRIVERS is not set
 # CONFIG_SND_ARM is not set
 # CONFIG_SND_SPI is not set
 CONFIG_SND_SOC=y
 # CONFIG_HID_SUPPORT is not set
 CONFIG_USB=y
+CONFIG_USB_OHCI_HCD=y
 CONFIG_USB_STORAGE=y
-CONFIG_USB_LIBUSUAL=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_LPC32XX=y
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
 CONFIG_MMC=y
 # CONFIG_MMC_BLOCK_BOUNCE is not set
 CONFIG_MMC_ARMMMCI=y
@@ -114,10 +135,21 @@ CONFIG_NEW_LEDS=y
 CONFIG_LEDS_CLASS=y
 CONFIG_LEDS_GPIO=y
 CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
 CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
+CONFIG_LEDS_TRIGGER_GPIO=y
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
 CONFIG_RTC_CLASS=y
 CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_DS1374=y
+CONFIG_RTC_DRV_PCF8563=y
 CONFIG_RTC_DRV_LPC32XX=y
+CONFIG_DMADEVICES=y
+CONFIG_AMBA_PL08X=y
+CONFIG_STAGING=y
+CONFIG_IIO=y
+CONFIG_LPC32XX_ADC=y
 CONFIG_EXT2_FS=y
 CONFIG_AUTOFS4_FS=y
 CONFIG_MSDOS_FS=y
index fea7e1f..7ed4291 100644 (file)
@@ -2,33 +2,67 @@ CONFIG_EXPERIMENTAL=y
 CONFIG_SYSVIPC=y
 CONFIG_BSD_PROCESS_ACCT=y
 CONFIG_BLK_DEV_INITRD=y
-CONFIG_KALLSYMS_EXTRA_PASS=y
 CONFIG_MODULES=y
 CONFIG_MODULE_UNLOAD=y
 CONFIG_MODVERSIONS=y
+CONFIG_PARTITION_ADVANCED=y
 CONFIG_PLAT_SPEAR=y
-CONFIG_BOARD_SPEAR300_EVB=y
-CONFIG_BOARD_SPEAR310_EVB=y
-CONFIG_BOARD_SPEAR320_EVB=y
+CONFIG_MACH_SPEAR300=y
+CONFIG_MACH_SPEAR310=y
+CONFIG_MACH_SPEAR320=y
 CONFIG_BINFMT_MISC=y
+CONFIG_NET=y
 CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_MTD=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_FSMC=y
 CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_RAM_SIZE=16384
+CONFIG_NETDEVICES=y
+# CONFIG_NET_VENDOR_BROADCOM is not set
+# CONFIG_NET_VENDOR_CIRRUS is not set
+# CONFIG_NET_VENDOR_FARADAY is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+# CONFIG_NET_VENDOR_SMSC is not set
+CONFIG_STMMAC_ETH=y
+# CONFIG_WLAN is not set
 CONFIG_INPUT_FF_MEMLESS=y
 # CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_SPEAR=y
 # CONFIG_INPUT_MOUSE is not set
+# CONFIG_LEGACY_PTYS is not set
 CONFIG_SERIAL_AMBA_PL011=y
 CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
-# CONFIG_LEGACY_PTYS is not set
 # CONFIG_HW_RANDOM is not set
 CONFIG_RAW_DRIVER=y
 CONFIG_MAX_RAW_DEVS=8192
+CONFIG_I2C=y
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
+CONFIG_SPI=y
+CONFIG_SPI_PL022=y
 CONFIG_GPIO_SYSFS=y
 CONFIG_GPIO_PL061=y
 # CONFIG_HWMON is not set
+CONFIG_WATCHDOG=y
+CONFIG_ARM_SP805_WATCHDOG=y
+CONFIG_FB=y
+CONFIG_FB_ARMCLCD=y
 # CONFIG_HID_SUPPORT is not set
-# CONFIG_USB_SUPPORT is not set
+CONFIG_USB=y
+# CONFIG_USB_DEVICE_CLASS is not set
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SPEAR=y
+CONFIG_RTC_CLASS=y
+CONFIG_DMADEVICES=y
+CONFIG_AMBA_PL08X=y
+CONFIG_DMATEST=m
 CONFIG_EXT2_FS=y
 CONFIG_EXT2_FS_XATTR=y
 CONFIG_EXT2_FS_SECURITY=y
@@ -39,8 +73,6 @@ CONFIG_MSDOS_FS=m
 CONFIG_VFAT_FS=m
 CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
 CONFIG_TMPFS=y
-CONFIG_PARTITION_ADVANCED=y
-CONFIG_NLS=y
 CONFIG_NLS_DEFAULT="utf8"
 CONFIG_NLS_CODEPAGE_437=y
 CONFIG_NLS_ASCII=m
@@ -48,6 +80,4 @@ CONFIG_MAGIC_SYSRQ=y
 CONFIG_DEBUG_FS=y
 CONFIG_DEBUG_KERNEL=y
 CONFIG_DEBUG_SPINLOCK=y
-CONFIG_DEBUG_SPINLOCK_SLEEP=y
 CONFIG_DEBUG_INFO=y
-# CONFIG_CRC32 is not set
index cef2e83..cf94bc7 100644 (file)
@@ -2,29 +2,58 @@ CONFIG_EXPERIMENTAL=y
 CONFIG_SYSVIPC=y
 CONFIG_BSD_PROCESS_ACCT=y
 CONFIG_BLK_DEV_INITRD=y
-CONFIG_KALLSYMS_EXTRA_PASS=y
 CONFIG_MODULES=y
 CONFIG_MODULE_UNLOAD=y
 CONFIG_MODVERSIONS=y
+CONFIG_PARTITION_ADVANCED=y
 CONFIG_PLAT_SPEAR=y
 CONFIG_ARCH_SPEAR6XX=y
-CONFIG_BOARD_SPEAR600_EVB=y
+CONFIG_BOARD_SPEAR600_DT=y
 CONFIG_BINFMT_MISC=y
+CONFIG_NET=y
 CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_MTD=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_FSMC=y
 CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_RAM_SIZE=16384
+CONFIG_NETDEVICES=y
+# CONFIG_NET_VENDOR_BROADCOM is not set
+# CONFIG_NET_VENDOR_CIRRUS is not set
+# CONFIG_NET_VENDOR_FARADAY is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+# CONFIG_NET_VENDOR_SMSC is not set
+CONFIG_STMMAC_ETH=y
+# CONFIG_WLAN is not set
 CONFIG_INPUT_FF_MEMLESS=y
 # CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_LEGACY_PTYS is not set
 CONFIG_SERIAL_AMBA_PL011=y
 CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
-# CONFIG_LEGACY_PTYS is not set
 CONFIG_RAW_DRIVER=y
 CONFIG_MAX_RAW_DEVS=8192
+CONFIG_I2C=y
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
+CONFIG_SPI=y
+CONFIG_SPI_PL022=y
 CONFIG_GPIO_SYSFS=y
 CONFIG_GPIO_PL061=y
 # CONFIG_HWMON is not set
+CONFIG_WATCHDOG=y
+CONFIG_ARM_SP805_WATCHDOG=y
 # CONFIG_HID_SUPPORT is not set
-# CONFIG_USB_SUPPORT is not set
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_RTC_CLASS=y
+CONFIG_DMADEVICES=y
+CONFIG_AMBA_PL08X=y
+CONFIG_DMATEST=m
 CONFIG_EXT2_FS=y
 CONFIG_EXT2_FS_XATTR=y
 CONFIG_EXT2_FS_SECURITY=y
@@ -35,8 +64,6 @@ CONFIG_MSDOS_FS=m
 CONFIG_VFAT_FS=m
 CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
 CONFIG_TMPFS=y
-CONFIG_PARTITION_ADVANCED=y
-CONFIG_NLS=y
 CONFIG_NLS_DEFAULT="utf8"
 CONFIG_NLS_CODEPAGE_437=y
 CONFIG_NLS_ASCII=m
@@ -44,6 +71,4 @@ CONFIG_MAGIC_SYSRQ=y
 CONFIG_DEBUG_FS=y
 CONFIG_DEBUG_KERNEL=y
 CONFIG_DEBUG_SPINLOCK=y
-CONFIG_DEBUG_SPINLOCK_SLEEP=y
 CONFIG_DEBUG_INFO=y
-# CONFIG_CRC32 is not set
index 0da66ca..c03417d 100644 (file)
@@ -14,7 +14,19 @@ initrd_phys-y        := 0x20410000
 endif
 
 # Keep dtb files sorted alphabetically for each SoC
+# sam9260
+dtb-$(CONFIG_MACH_AT91SAM_DT) += ethernut5.dtb
+dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9260.dtb
+dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9260.dtb
+# sam9263
+dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9263ek.dtb
+dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9263.dtb
+dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9263.dtb
 # sam9g20
+dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9g20ek.dtb
+dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9g20ek_2mmc.dtb
+dtb-$(CONFIG_MACH_AT91SAM_DT) += kizbox.dtb
+dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9g20.dtb
 dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9g20.dtb
 # sam9g45
 dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9m10g45ek.dtb
index ad00fe9..d556de1 100644 (file)
@@ -702,25 +702,8 @@ static struct platform_device at91sam9260_tcb1_device = {
        .num_resources  = ARRAY_SIZE(tcb1_resources),
 };
 
-#if defined(CONFIG_OF)
-static struct of_device_id tcb_ids[] = {
-       { .compatible = "atmel,at91rm9200-tcb" },
-       { /*sentinel*/ }
-};
-#endif
-
 static void __init at91_add_device_tc(void)
 {
-#if defined(CONFIG_OF)
-       struct device_node *np;
-
-       np = of_find_matching_node(NULL, tcb_ids);
-       if (np) {
-               of_node_put(np);
-               return;
-       }
-#endif
-
        platform_device_register(&at91sam9260_tcb0_device);
        platform_device_register(&at91sam9260_tcb1_device);
 }
@@ -1364,6 +1347,9 @@ void __init at91_add_device_cf(struct at91_cf_data * data) {}
  */
 static int __init at91_add_standard_devices(void)
 {
+       if (of_have_populated_dt())
+               return 0;
+
        at91_add_device_rtt();
        at91_add_device_watchdog();
        at91_add_device_tc();
index 7fae365..ed91c7e 100644 (file)
@@ -199,6 +199,16 @@ static struct clk_lookup periph_clocks_lookups[] = {
        CLKDEV_CON_ID("pioC", &pioCDE_clk),
        CLKDEV_CON_ID("pioD", &pioCDE_clk),
        CLKDEV_CON_ID("pioE", &pioCDE_clk),
+       /* more usart lookup table for DT entries */
+       CLKDEV_CON_DEV_ID("usart", "ffffee00.serial", &mck),
+       CLKDEV_CON_DEV_ID("usart", "fff8c000.serial", &usart0_clk),
+       CLKDEV_CON_DEV_ID("usart", "fff90000.serial", &usart1_clk),
+       CLKDEV_CON_DEV_ID("usart", "fff94000.serial", &usart2_clk),
+       /* more tc lookup table for DT entries */
+       CLKDEV_CON_DEV_ID("t0_clk", "fff7c000.timer", &tcb_clk),
+       CLKDEV_CON_DEV_ID("hclk", "a00000.ohci", &ohci_clk),
+       CLKDEV_CON_DEV_ID("spi_clk", "fffa4000.spi", &spi0_clk),
+       CLKDEV_CON_DEV_ID("spi_clk", "fffa8000.spi", &spi1_clk),
 };
 
 static struct clk_lookup usart_clocks_lookups[] = {
index dfe5bc0..175e000 100644 (file)
@@ -953,8 +953,25 @@ static struct platform_device at91sam9263_tcb_device = {
        .num_resources  = ARRAY_SIZE(tcb_resources),
 };
 
+#if defined(CONFIG_OF)
+static struct of_device_id tcb_ids[] = {
+       { .compatible = "atmel,at91rm9200-tcb" },
+       { /*sentinel*/ }
+};
+#endif
+
 static void __init at91_add_device_tc(void)
 {
+#if defined(CONFIG_OF)
+       struct device_node *np;
+
+       np = of_find_matching_node(NULL, tcb_ids);
+       if (np) {
+               of_node_put(np);
+               return;
+       }
+#endif
+
        platform_device_register(&at91sam9263_tcb_device);
 }
 #else
@@ -1483,6 +1500,9 @@ void __init at91_add_device_serial(void) {}
  */
 static int __init at91_add_standard_devices(void)
 {
+       if (of_have_populated_dt())
+               return 0;
+
        at91_add_device_rtt();
        at91_add_device_watchdog();
        at91_add_device_tc();
index db2f88c..35bd42d 100644 (file)
@@ -69,15 +69,7 @@ static struct platform_device at_hdmac_device = {
 
 void __init at91_add_device_hdmac(void)
 {
-#if defined(CONFIG_OF)
-       struct device_node *of_node =
-               of_find_node_by_name(NULL, "dma-controller");
-
-       if (of_node)
-               of_node_put(of_node);
-       else
-#endif
-               platform_device_register(&at_hdmac_device);
+       platform_device_register(&at_hdmac_device);
 }
 #else
 void __init at91_add_device_hdmac(void) {}
@@ -1094,25 +1086,8 @@ static struct platform_device at91sam9g45_tcb1_device = {
        .num_resources  = ARRAY_SIZE(tcb1_resources),
 };
 
-#if defined(CONFIG_OF)
-static struct of_device_id tcb_ids[] = {
-       { .compatible = "atmel,at91rm9200-tcb" },
-       { /*sentinel*/ }
-};
-#endif
-
 static void __init at91_add_device_tc(void)
 {
-#if defined(CONFIG_OF)
-       struct device_node *np;
-
-       np = of_find_matching_node(NULL, tcb_ids);
-       if (np) {
-               of_node_put(np);
-               return;
-       }
-#endif
-
        platform_device_register(&at91sam9g45_tcb0_device);
        platform_device_register(&at91sam9g45_tcb1_device);
 }
@@ -1763,6 +1738,9 @@ void __init at91_add_device_serial(void) {}
  */
 static int __init at91_add_standard_devices(void)
 {
+       if (of_have_populated_dt())
+               return 0;
+
        at91_add_device_hdmac();
        at91_add_device_rtc();
        at91_add_device_rtt();
index 332ecd4..95393fc 100644 (file)
@@ -172,6 +172,10 @@ static struct mtd_partition __initdata ek_nand_partition[] = {
                .offset = MTDPART_OFS_NXTBLK,
                .size   = SZ_128K,
        }, {
+               .name   = "oftree",
+               .offset = MTDPART_OFS_NXTBLK,
+               .size   = SZ_128K,
+       }, {
                .name   = "kernel",
                .offset = MTDPART_OFS_NXTBLK,
                .size   = 4 * SZ_1M,
index 75946ac..e0b3eee 100644 (file)
@@ -29,30 +29,4 @@ config ARCH_LPC32XX_UART6_SELECT
 
 endmenu
 
-menu "LPC32XX chip components"
-
-config ARCH_LPC32XX_IRAM_FOR_NET
-       bool "Use IRAM for network buffers"
-       default y
-       help
-         Say Y here to use the LPC internal fast IRAM (i.e. 256KB SRAM) as
-         network buffer.  If the total combined required buffer sizes is
-         larger than the size of IRAM, then SDRAM will be used instead.
-
-         This can be enabled safely if the IRAM is not intended for other
-         uses.
-
-config ARCH_LPC32XX_MII_SUPPORT
-       bool "Check to enable MII support or leave disabled for RMII support"
-       help
-         Say Y here to enable MII support, or N for RMII support. Regardless of
-         which support is selected, the ethernet interface driver needs to be
-         selected in the device driver networking section.
-
-         The PHY3250 reference board uses RMII, so users of this board should
-         say N.
-
-endmenu
-
 endif
-
index 2fc24ca..f6a3ffe 100644 (file)
@@ -1095,49 +1095,42 @@ struct clk *clk_get_parent(struct clk *clk)
 }
 EXPORT_SYMBOL(clk_get_parent);
 
-#define _REGISTER_CLOCK(d, n, c) \
-       { \
-               .dev_id = (d), \
-               .con_id = (n), \
-               .clk = &(c), \
-       },
-
 static struct clk_lookup lookups[] = {
-       _REGISTER_CLOCK(NULL, "osc_32KHz", osc_32KHz)
-       _REGISTER_CLOCK(NULL, "osc_pll397", osc_pll397)
-       _REGISTER_CLOCK(NULL, "osc_main", osc_main)
-       _REGISTER_CLOCK(NULL, "sys_ck", clk_sys)
-       _REGISTER_CLOCK(NULL, "arm_pll_ck", clk_armpll)
-       _REGISTER_CLOCK(NULL, "ck_pll5", clk_usbpll)
-       _REGISTER_CLOCK(NULL, "hclk_ck", clk_hclk)
-       _REGISTER_CLOCK(NULL, "pclk_ck", clk_pclk)
-       _REGISTER_CLOCK(NULL, "timer0_ck", clk_timer0)
-       _REGISTER_CLOCK(NULL, "timer1_ck", clk_timer1)
-       _REGISTER_CLOCK(NULL, "timer2_ck", clk_timer2)
-       _REGISTER_CLOCK(NULL, "timer3_ck", clk_timer3)
-       _REGISTER_CLOCK(NULL, "vfp9_ck", clk_vfp9)
-       _REGISTER_CLOCK(NULL, "clk_dmac", clk_dma)
-       _REGISTER_CLOCK("pnx4008-watchdog", NULL, clk_wdt)
-       _REGISTER_CLOCK(NULL, "uart3_ck", clk_uart3)
-       _REGISTER_CLOCK(NULL, "uart4_ck", clk_uart4)
-       _REGISTER_CLOCK(NULL, "uart5_ck", clk_uart5)
-       _REGISTER_CLOCK(NULL, "uart6_ck", clk_uart6)
-       _REGISTER_CLOCK("pnx-i2c.0", NULL, clk_i2c0)
-       _REGISTER_CLOCK("pnx-i2c.1", NULL, clk_i2c1)
-       _REGISTER_CLOCK("pnx-i2c.2", NULL, clk_i2c2)
-       _REGISTER_CLOCK("dev:ssp0", NULL, clk_ssp0)
-       _REGISTER_CLOCK("dev:ssp1", NULL, clk_ssp1)
-       _REGISTER_CLOCK("lpc32xx_keys.0", NULL, clk_kscan)
-       _REGISTER_CLOCK("lpc32xx-nand.0", "nand_ck", clk_nand)
-       _REGISTER_CLOCK("lpc32xx-adc", NULL, clk_adc)
-       _REGISTER_CLOCK(NULL, "i2s0_ck", clk_i2s0)
-       _REGISTER_CLOCK(NULL, "i2s1_ck", clk_i2s1)
-       _REGISTER_CLOCK("ts-lpc32xx", NULL, clk_tsc)
-       _REGISTER_CLOCK("dev:mmc0", NULL, clk_mmc)
-       _REGISTER_CLOCK("lpc-eth.0", NULL, clk_net)
-       _REGISTER_CLOCK("dev:clcd", NULL, clk_lcd)
-       _REGISTER_CLOCK("lpc32xx_udc", "ck_usbd", clk_usbd)
-       _REGISTER_CLOCK("lpc32xx_rtc", NULL, clk_rtc)
+       CLKDEV_INIT(NULL, "osc_32KHz", &osc_32KHz),
+       CLKDEV_INIT(NULL, "osc_pll397", &osc_pll397),
+       CLKDEV_INIT(NULL, "osc_main", &osc_main),
+       CLKDEV_INIT(NULL, "sys_ck", &clk_sys),
+       CLKDEV_INIT(NULL, "arm_pll_ck", &clk_armpll),
+       CLKDEV_INIT(NULL, "ck_pll5", &clk_usbpll),
+       CLKDEV_INIT(NULL, "hclk_ck", &clk_hclk),
+       CLKDEV_INIT(NULL, "pclk_ck", &clk_pclk),
+       CLKDEV_INIT(NULL, "timer0_ck", &clk_timer0),
+       CLKDEV_INIT(NULL, "timer1_ck", &clk_timer1),
+       CLKDEV_INIT(NULL, "timer2_ck", &clk_timer2),
+       CLKDEV_INIT(NULL, "timer3_ck", &clk_timer3),
+       CLKDEV_INIT(NULL, "vfp9_ck", &clk_vfp9),
+       CLKDEV_INIT("pl08xdmac", NULL, &clk_dma),
+       CLKDEV_INIT("4003c000.watchdog", NULL, &clk_wdt),
+       CLKDEV_INIT(NULL, "uart3_ck", &clk_uart3),
+       CLKDEV_INIT(NULL, "uart4_ck", &clk_uart4),
+       CLKDEV_INIT(NULL, "uart5_ck", &clk_uart5),
+       CLKDEV_INIT(NULL, "uart6_ck", &clk_uart6),
+       CLKDEV_INIT("400a0000.i2c", NULL, &clk_i2c0),
+       CLKDEV_INIT("400a8000.i2c", NULL, &clk_i2c1),
+       CLKDEV_INIT("31020300.i2c", NULL, &clk_i2c2),
+       CLKDEV_INIT("dev:ssp0", NULL, &clk_ssp0),
+       CLKDEV_INIT("dev:ssp1", NULL, &clk_ssp1),
+       CLKDEV_INIT("lpc32xx_keys.0", NULL, &clk_kscan),
+       CLKDEV_INIT("lpc32xx-nand.0", "nand_ck", &clk_nand),
+       CLKDEV_INIT("40048000.adc", NULL, &clk_adc),
+       CLKDEV_INIT(NULL, "i2s0_ck", &clk_i2s0),
+       CLKDEV_INIT(NULL, "i2s1_ck", &clk_i2s1),
+       CLKDEV_INIT("40048000.tsc", NULL, &clk_tsc),
+       CLKDEV_INIT("20098000.sd", NULL, &clk_mmc),
+       CLKDEV_INIT("31060000.ethernet", NULL, &clk_net),
+       CLKDEV_INIT("dev:clcd", NULL, &clk_lcd),
+       CLKDEV_INIT("31020000.usbd", "ck_usbd", &clk_usbd),
+       CLKDEV_INIT("lpc32xx_rtc", NULL, &clk_rtc),
 };
 
 static int __init clk_init(void)
index bbbf063..5c96057 100644 (file)
 
 #include <asm/mach/map.h>
 
-#include <mach/i2c.h>
 #include <mach/hardware.h>
 #include <mach/platform.h>
 #include "common.h"
 
 /*
- * Watchdog timer
- */
-static struct resource watchdog_resources[] = {
-       [0] = {
-               .start = LPC32XX_WDTIM_BASE,
-               .end = LPC32XX_WDTIM_BASE + SZ_4K - 1,
-               .flags = IORESOURCE_MEM,
-       },
-};
-
-struct platform_device lpc32xx_watchdog_device = {
-       .name = "pnx4008-watchdog",
-       .id = -1,
-       .num_resources = ARRAY_SIZE(watchdog_resources),
-       .resource = watchdog_resources,
-};
-
-/*
- * I2C busses
- */
-static struct i2c_pnx_data i2c0_data = {
-       .name = I2C_CHIP_NAME "1",
-       .base = LPC32XX_I2C1_BASE,
-       .irq = IRQ_LPC32XX_I2C_1,
-};
-
-static struct i2c_pnx_data i2c1_data = {
-       .name = I2C_CHIP_NAME "2",
-       .base = LPC32XX_I2C2_BASE,
-       .irq = IRQ_LPC32XX_I2C_2,
-};
-
-static struct i2c_pnx_data i2c2_data = {
-       .name = "USB-I2C",
-       .base = LPC32XX_OTG_I2C_BASE,
-       .irq = IRQ_LPC32XX_USB_I2C,
-};
-
-struct platform_device lpc32xx_i2c0_device = {
-       .name = "pnx-i2c",
-       .id = 0,
-       .dev = {
-               .platform_data = &i2c0_data,
-       },
-};
-
-struct platform_device lpc32xx_i2c1_device = {
-       .name = "pnx-i2c",
-       .id = 1,
-       .dev = {
-               .platform_data = &i2c1_data,
-       },
-};
-
-struct platform_device lpc32xx_i2c2_device = {
-       .name = "pnx-i2c",
-       .id = 2,
-       .dev = {
-               .platform_data = &i2c2_data,
-       },
-};
-
-/* TSC (Touch Screen Controller) */
-
-static struct resource lpc32xx_tsc_resources[] = {
-       {
-               .start = LPC32XX_ADC_BASE,
-               .end = LPC32XX_ADC_BASE + SZ_4K - 1,
-               .flags = IORESOURCE_MEM,
-       }, {
-               .start = IRQ_LPC32XX_TS_IRQ,
-               .end = IRQ_LPC32XX_TS_IRQ,
-               .flags = IORESOURCE_IRQ,
-       },
-};
-
-struct platform_device lpc32xx_tsc_device = {
-       .name =  "ts-lpc32xx",
-       .id = -1,
-       .num_resources = ARRAY_SIZE(lpc32xx_tsc_resources),
-       .resource = lpc32xx_tsc_resources,
-};
-
-/* RTC */
-
-static struct resource lpc32xx_rtc_resources[] = {
-       {
-               .start = LPC32XX_RTC_BASE,
-               .end = LPC32XX_RTC_BASE + SZ_4K - 1,
-               .flags = IORESOURCE_MEM,
-       },{
-               .start = IRQ_LPC32XX_RTC,
-               .end = IRQ_LPC32XX_RTC,
-               .flags = IORESOURCE_IRQ,
-       },
-};
-
-struct platform_device lpc32xx_rtc_device = {
-       .name =  "rtc-lpc32xx",
-       .id = -1,
-       .num_resources = ARRAY_SIZE(lpc32xx_rtc_resources),
-       .resource = lpc32xx_rtc_resources,
-};
-
-/*
- * ADC support
- */
-static struct resource adc_resources[] = {
-       {
-               .start = LPC32XX_ADC_BASE,
-               .end =&nbs