Merge tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 6 Sep 2013 20:26:27 +0000 (13:26 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 6 Sep 2013 20:26:27 +0000 (13:26 -0700)
Pull ARM SoC DT updates from Olof Johansson:
 "Device tree and bindings updates for 3.12.

  General additions of various on-chip and on-board peripherals on
  various platforms as support gets added.  Some of the bigger changes
  are:

   - Addition of (new) PCI-e support on Tegra.
   - More Tegra4 support, including PMC configuration for Dalmore.
   - Addition of a new board for Exynos4 (trats2) and more bindings for
     4x12 IP.
   - Addition of Allwinner A20 and A31 SoC and board files.
   - Move of the ST Ericsson device tree files to now use ste-* prefix.
   - More move of hardware description of shmobile platforms to DT.
   - Two new board dts files for Freescale MXs"

* tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (177 commits)
  dts: Rename DW APB timer compatible strings
  dts: Deprecate ALTR as a vendor prefix
  of: add vendor prefix for Altera Corp.
  ARM: at91/dt: sam9x5ek: add sound configuration
  ARM: at91/dt: sam9x5ek: enable SSC
  ARM: at91/dt: sam9x5ek: add WM8731 codec
  ARM: at91/dt: sam9x5: add SSC DMA parameters
  ARM: at91/dt: add at91rm9200 PQFP package version
  ARM: at91: at91rm9200: set default mmc0 pinctrl-names
  ARM: at91: at91sam9n12: correct pin number of gpio-key
  ARM: at91: at91sam9n12: add qt1070 support
  ARM: at91: at91sam9n12: add pinctrl of TWI
  ARM: at91: Add PMU support for sama5d3
  ARM: at91: at91sam9260: add missing pinctrl-names on mmc
  ARM: tegra: configure power off for Dalmore
  ARM: DT: binding fixup to align with vendor-prefixes.txt (DT)
  ARM: dts: add sdio blocks to bcm28155-ap board
  ARM: dts: align sdio numbers to HW definition
  ARM: sun7i: Add Olimex A20-Olinuxino-Micro support
  ARM: sun7i: Add Allwinner A20 DTSI
  ...

144 files changed:
Documentation/devicetree/bindings/arm/bcm/bcm,kona-timer.txt [deleted file]
Documentation/devicetree/bindings/arm/bcm/bcm11351.txt
Documentation/devicetree/bindings/arm/bcm/kona-timer.txt [new file with mode: 0644]
Documentation/devicetree/bindings/arm/bcm/kona-wdt.txt [new file with mode: 0644]
Documentation/devicetree/bindings/media/s5p-mfc.txt
Documentation/devicetree/bindings/misc/smc.txt
Documentation/devicetree/bindings/mmc/bcm,kona-sdhci.txt [deleted file]
Documentation/devicetree/bindings/mmc/kona-sdhci.txt [new file with mode: 0644]
Documentation/devicetree/bindings/pinctrl/nvidia,tegra114-pinmux.txt
Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt
Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt
Documentation/devicetree/bindings/pinctrl/ste,nomadik.txt
Documentation/devicetree/bindings/rtc/dw-apb.txt
Documentation/devicetree/bindings/serial/altera_jtaguart.txt
Documentation/devicetree/bindings/serial/altera_uart.txt
Documentation/devicetree/bindings/serio/altera_ps2.txt
Documentation/devicetree/bindings/spi/spi_altera.txt
Documentation/devicetree/bindings/vendor-prefixes.txt
arch/arm/Makefile
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/at91rm9200.dtsi
arch/arm/boot/dts/at91rm9200_pqfp.dtsi [new file with mode: 0644]
arch/arm/boot/dts/at91sam9260.dtsi
arch/arm/boot/dts/at91sam9n12.dtsi
arch/arm/boot/dts/at91sam9n12ek.dts
arch/arm/boot/dts/at91sam9x5.dtsi
arch/arm/boot/dts/at91sam9x5ek.dtsi
arch/arm/boot/dts/bcm11351-brt.dts
arch/arm/boot/dts/bcm11351.dtsi
arch/arm/boot/dts/bcm28155-ap.dts [new file with mode: 0644]
arch/arm/boot/dts/ccu8540.dts [deleted file]
arch/arm/boot/dts/ccu9540.dts [deleted file]
arch/arm/boot/dts/dbx5x0.dtsi [deleted file]
arch/arm/boot/dts/emev2-kzm9d-reference.dts [new file with mode: 0644]
arch/arm/boot/dts/emev2-kzm9d.dts
arch/arm/boot/dts/emev2.dtsi
arch/arm/boot/dts/exynos4.dtsi
arch/arm/boot/dts/exynos4210-pinctrl.dtsi
arch/arm/boot/dts/exynos4210-trats.dts
arch/arm/boot/dts/exynos4210.dtsi
arch/arm/boot/dts/exynos4412-origen.dts
arch/arm/boot/dts/exynos4412-trats2.dts [new file with mode: 0644]
arch/arm/boot/dts/exynos4x12-pinctrl.dtsi
arch/arm/boot/dts/exynos4x12.dtsi
arch/arm/boot/dts/exynos5.dtsi
arch/arm/boot/dts/exynos5250-arndale.dts
arch/arm/boot/dts/exynos5250-smdk5250.dts
arch/arm/boot/dts/exynos5250.dtsi
arch/arm/boot/dts/exynos5420-pinctrl.dtsi
arch/arm/boot/dts/exynos5420-smdk5420.dts
arch/arm/boot/dts/exynos5420.dtsi
arch/arm/boot/dts/exynos5440.dtsi
arch/arm/boot/dts/href.dtsi [deleted file]
arch/arm/boot/dts/hrefprev60.dts [deleted file]
arch/arm/boot/dts/hrefv60plus.dts [deleted file]
arch/arm/boot/dts/imx23-evk.dts
arch/arm/boot/dts/imx23-olinuxino.dts
arch/arm/boot/dts/imx23.dtsi
arch/arm/boot/dts/imx28-cfa10036.dts
arch/arm/boot/dts/imx28-cfa10037.dts
arch/arm/boot/dts/imx28-cfa10049.dts
arch/arm/boot/dts/imx28-cfa10055.dts
arch/arm/boot/dts/imx28-cfa10056.dts [new file with mode: 0644]
arch/arm/boot/dts/imx28-cfa10057.dts
arch/arm/boot/dts/imx28-cfa10058.dts [new file with mode: 0644]
arch/arm/boot/dts/imx28-m28evk.dts
arch/arm/boot/dts/imx28.dtsi
arch/arm/boot/dts/pxa3xx.dtsi
arch/arm/boot/dts/r8a73a4-ape6evm.dts
arch/arm/boot/dts/r8a73a4.dtsi
arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts
arch/arm/boot/dts/r8a7740.dtsi
arch/arm/boot/dts/r8a7778.dtsi
arch/arm/boot/dts/r8a7779-marzen-reference.dts
arch/arm/boot/dts/r8a7779.dtsi
arch/arm/boot/dts/r8a7790.dtsi
arch/arm/boot/dts/sama5d3.dtsi
arch/arm/boot/dts/sh7372.dtsi
arch/arm/boot/dts/sh73a0-kzm9g-reference.dts
arch/arm/boot/dts/sh73a0.dtsi
arch/arm/boot/dts/snowball.dts [deleted file]
arch/arm/boot/dts/socfpga.dtsi
arch/arm/boot/dts/ste-ccu8540-pinctrl.dtsi [new file with mode: 0644]
arch/arm/boot/dts/ste-ccu8540.dts [new file with mode: 0644]
arch/arm/boot/dts/ste-ccu9540.dts [new file with mode: 0644]
arch/arm/boot/dts/ste-dbx5x0.dtsi [new file with mode: 0644]
arch/arm/boot/dts/ste-href.dtsi [new file with mode: 0644]
arch/arm/boot/dts/ste-hrefprev60.dts [new file with mode: 0644]
arch/arm/boot/dts/ste-hrefv60plus.dts [new file with mode: 0644]
arch/arm/boot/dts/ste-nomadik-pinctrl.dtsi [new file with mode: 0644]
arch/arm/boot/dts/ste-nomadik-stn8815.dtsi
arch/arm/boot/dts/ste-snowball.dts [new file with mode: 0644]
arch/arm/boot/dts/ste-stuib.dtsi [new file with mode: 0644]
arch/arm/boot/dts/stuib.dtsi [deleted file]
arch/arm/boot/dts/sun4i-a10-a1000.dts [new file with mode: 0644]
arch/arm/boot/dts/sun4i-a10-cubieboard.dts
arch/arm/boot/dts/sun4i-a10-hackberry.dts
arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
arch/arm/boot/dts/sun4i-a10.dtsi
arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
arch/arm/boot/dts/sun5i-a10s.dtsi
arch/arm/boot/dts/sun5i-a13-olinuxino.dts
arch/arm/boot/dts/sun5i-a13.dtsi
arch/arm/boot/dts/sun6i-a31-colombus.dts [new file with mode: 0644]
arch/arm/boot/dts/sun6i-a31.dtsi [new file with mode: 0644]
arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts [new file with mode: 0644]
arch/arm/boot/dts/sun7i-a20.dtsi [new file with mode: 0644]
arch/arm/boot/dts/tegra114-dalmore.dts
arch/arm/boot/dts/tegra114-pluto.dts [deleted file]
arch/arm/boot/dts/tegra114.dtsi
arch/arm/boot/dts/tegra20-colibri-512.dtsi
arch/arm/boot/dts/tegra20-harmony.dts
arch/arm/boot/dts/tegra20-paz00.dts
arch/arm/boot/dts/tegra20-seaboard.dts
arch/arm/boot/dts/tegra20-tamonten.dtsi
arch/arm/boot/dts/tegra20-tec.dts
arch/arm/boot/dts/tegra20-trimslice.dts
arch/arm/boot/dts/tegra20-ventana.dts
arch/arm/boot/dts/tegra20-whistler.dts
arch/arm/boot/dts/tegra20.dtsi
arch/arm/boot/dts/tegra30-beaver.dts
arch/arm/boot/dts/tegra30-cardhu.dtsi
arch/arm/boot/dts/tegra30.dtsi
arch/arm/boot/dts/u9540.dts [deleted file]
arch/arm/boot/dts/zynq-7000.dtsi
arch/arm/mach-nomadik/Kconfig
arch/arm/mach-pxa/pxa-dt.c
arch/arm/mach-shmobile/Kconfig
arch/arm/mach-shmobile/Makefile
arch/arm/mach-shmobile/Makefile.boot
arch/arm/mach-shmobile/board-armadillo800eva-reference.c
arch/arm/mach-shmobile/board-kzm9d-reference.c [new file with mode: 0644]
arch/arm/mach-shmobile/board-kzm9d.c
arch/arm/mach-shmobile/board-kzm9g-reference.c
arch/arm/mach-shmobile/board-marzen-reference.c
arch/arm/mach-shmobile/include/mach/emev2.h
arch/arm/mach-shmobile/setup-emev2.c
arch/arm/mach-shmobile/smp-emev2.c
arch/arm/mach-ux500/cpu-db8500.c
drivers/input/serio/altera_ps2.c
drivers/spi/spi-altera.c
drivers/tty/serial/altera_jtaguart.c
drivers/tty/serial/altera_uart.c
include/dt-bindings/pinctrl/nomadik.h [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/arm/bcm/bcm,kona-timer.txt b/Documentation/devicetree/bindings/arm/bcm/bcm,kona-timer.txt
deleted file mode 100644 (file)
index 59fa6e6..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-Broadcom Kona Family timer
------------------------------------------------------
-This timer is used in the following Broadcom SoCs:
- BCM11130, BCM11140, BCM11351, BCM28145, BCM28155
-
-Required properties:
-- compatible : "bcm,kona-timer"
-- reg : Register range for the timer
-- interrupts : interrupt for the timer
-- clock-frequency: frequency that the clock operates
-
-Example:
-       timer@35006000 {
-               compatible = "bcm,kona-timer";
-               reg = <0x35006000 0x1000>;
-               interrupts = <0x0 7 0x4>;
-               clock-frequency = <32768>;
-       };
-
index fb7b5cd2652f412b5a0b09615506c12938ac121b..0ff6560e6094717b93a57219d7b8a07b5a6ef3ab 100644 (file)
@@ -6,4 +6,5 @@ bcm11351, bcm28145, bcm28155 SoCs) shall have the following properties:
 
 Required root node property:
 
-compatible = "bcm,bcm11351";
+compatible = "brcm,bcm11351";
+DEPRECATED: compatible = "bcm,bcm11351";
diff --git a/Documentation/devicetree/bindings/arm/bcm/kona-timer.txt b/Documentation/devicetree/bindings/arm/bcm/kona-timer.txt
new file mode 100644 (file)
index 0000000..17d88b2
--- /dev/null
@@ -0,0 +1,20 @@
+Broadcom Kona Family timer
+-----------------------------------------------------
+This timer is used in the following Broadcom SoCs:
+ BCM11130, BCM11140, BCM11351, BCM28145, BCM28155
+
+Required properties:
+- compatible : "brcm,kona-timer"
+- DEPRECATED: compatible : "bcm,kona-timer"
+- reg : Register range for the timer
+- interrupts : interrupt for the timer
+- clock-frequency: frequency that the clock operates
+
+Example:
+       timer@35006000 {
+               compatible = "brcm,kona-timer";
+               reg = <0x35006000 0x1000>;
+               interrupts = <0x0 7 0x4>;
+               clock-frequency = <32768>;
+       };
+
diff --git a/Documentation/devicetree/bindings/arm/bcm/kona-wdt.txt b/Documentation/devicetree/bindings/arm/bcm/kona-wdt.txt
new file mode 100644 (file)
index 0000000..2b86a00
--- /dev/null
@@ -0,0 +1,15 @@
+Broadcom Kona Family Watchdog Timer
+-----------------------------------
+
+This watchdog timer is used in the following Broadcom SoCs:
+  BCM11130, BCM11140, BCM11351, BCM28145, BCM28155
+
+Required properties:
+  - compatible = "brcm,bcm11351-wdt", "brcm,kona-wdt";
+  - reg: memory address & range
+
+Example:
+       watchdog@35002f40 {
+               compatible = "brcm,bcm11351-wdt", "brcm,kona-wdt";
+               reg = <0x35002f40 0x6c>;
+       };
index 36bd2d6725c89f01f660e02b4fc82a0aff48c848..f4181680831bfd24a16b11b2e9b7fdca9b83f2e2 100644 (file)
@@ -16,9 +16,9 @@ Required properties:
          mapped region.
 
   - interrupts : MFC interrupt number to the CPU.
-  - clocks : from common clock binding: handle to mfc clocks.
-  - clock-names : from common clock binding: must contain "sclk_mfc" and "mfc",
-                 corresponding to entries in the clocks property.
+  - clocks : from common clock binding: handle to mfc clock.
+  - clock-names : from common clock binding: must contain "mfc",
+                 corresponding to entry in the clocks property.
 
   - samsung,mfc-r : Base address of the first memory bank used by MFC
                    for DMA contiguous memory allocation and its size.
@@ -38,8 +38,8 @@ mfc: codec@13400000 {
        reg = <0x13400000 0x10000>;
        interrupts = <0 94 0>;
        samsung,power-domain = <&pd_mfc>;
-       clocks = <&clock 170>, <&clock 273>;
-       clock-names = "sclk_mfc", "mfc";
+       clocks = <&clock 273>;
+       clock-names = "mfc";
 };
 
 Board specific DT entry:
index 02b4281361771a8151735a76e88eb04fc7765c71..6c9f176f35717acf1a2fd3dcd7ca2cee86daeb88 100644 (file)
@@ -4,11 +4,12 @@ This binding defines the location of the bounce buffer
 used for non-secure to secure communications.
 
 Required properties:
-- compatible : "bcm,kona-smc"
+- compatible : "brcm,kona-smc"
+- DEPRECATED: compatible : "bcm,kona-smc"
 - reg : Location and size of bounce buffer
 
 Example:
        smc@0x3404c000 {
-               compatible = "bcm,bcm11351-smc", "bcm,kona-smc";
+               compatible = "brcm,bcm11351-smc", "brcm,kona-smc";
                reg = <0x3404c000 0x400>; //1 KiB in SRAM
        };
diff --git a/Documentation/devicetree/bindings/mmc/bcm,kona-sdhci.txt b/Documentation/devicetree/bindings/mmc/bcm,kona-sdhci.txt
deleted file mode 100644 (file)
index 094ae01..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-Broadcom BCM281xx SDHCI
-
-This file documents differences between the core properties in mmc.txt
-and the properties present in the bcm281xx SDHCI
-
-Required properties:
-- compatible : Should be "bcm,kona-sdhci"
-
-Example:
-
-sdio2: sdio@0x3f1a0000 {
-       compatible = "bcm,kona-sdhci";
-       reg = <0x3f1a0000 0x10000>;
-       interrupts = <0x0 74 0x4>;
-};
-
diff --git a/Documentation/devicetree/bindings/mmc/kona-sdhci.txt b/Documentation/devicetree/bindings/mmc/kona-sdhci.txt
new file mode 100644 (file)
index 0000000..789fb07
--- /dev/null
@@ -0,0 +1,17 @@
+Broadcom BCM281xx SDHCI
+
+This file documents differences between the core properties in mmc.txt
+and the properties present in the bcm281xx SDHCI
+
+Required properties:
+- compatible : Should be "brcm,kona-sdhci"
+- DEPRECATED: compatible : Should be "bcm,kona-sdhci"
+
+Example:
+
+sdio2: sdio@0x3f1a0000 {
+       compatible = "brcm,kona-sdhci";
+       reg = <0x3f1a0000 0x10000>;
+       interrupts = <0x0 74 0x4>;
+};
+
index e204d009f16c876694c375e66f97f53fb242ab1e..fb70856c5b510e274d0518411ee19c33c5d854df 100644 (file)
@@ -80,6 +80,17 @@ Valid values for pin and group names are:
     dbg, sdio3, spi, uaa, uab, uart2, uart3, sdio1, ddc, gma, gme, gmf, gmg,
     gmh, owr, uda.
 
+Valid values for nvidia,functions are:
+
+  blink, cec, cldvfs, clk12, cpu, dap, dap1, dap2, dev3, displaya,
+  displaya_alt, displayb, dtv, emc_dll, extperiph1, extperiph2,
+  extperiph3, gmi, gmi_alt, hda, hsi, i2c1, i2c2, i2c3, i2c4, i2cpwr,
+  i2s0, i2s1, i2s2, i2s3, i2s4, irda, kbc, nand, nand_alt, owr, pmi,
+  pwm0, pwm1, pwm2, pwm3, pwron, reset_out_n, rsvd1, rsvd2, rsvd3,
+  rsvd4, sdmmc1, sdmmc2, sdmmc3, sdmmc4, soc, spdif, spi1, spi2, spi3,
+  spi4, spi5, spi6, sysclk, trace, uarta, uartb, uartc, uartd, ulpi,
+  usb, vgp1, vgp2, vgp3, vgp4, vgp5, vgp6, vi, vi_alt1, vi_alt3
+
 Example:
 
        pinmux: pinmux {
index 683fde93c4fb1ab9dac7d9472f1ad808202d7cf4..61e73cde9ae9437303b7b095dc2d14c1d4966f62 100644 (file)
@@ -103,6 +103,17 @@ Valid values for pin and group names are:
     drive_gma, drive_gmb, drive_gmc, drive_gmd, drive_gme, drive_owr,
     drive_uda.
 
+Valid values for nvidia,functions are:
+
+  ahb_clk, apb_clk, audio_sync, crt, dap1, dap2, dap3, dap4, dap5,
+  displaya, displayb, emc_test0_dll, emc_test1_dll, gmi, gmi_int,
+  hdmi, i2cp, i2c1, i2c2, i2c3, ide, irda, kbc, mio, mipi_hs, nand,
+  osc, owr, pcie, plla_out, pllc_out1, pllm_out1, pllp_out2, pllp_out3,
+  pllp_out4, pwm, pwr_intr, pwr_on, rsvd1, rsvd2, rsvd3, rsvd4, rtck,
+  sdio1, sdio2, sdio3, sdio4, sflash, spdif, spi1, spi2, spi2_alt,
+  spi3, spi4, trace, twc, uarta, uartb, uartc, uartd, uarte, ulpi,
+  vi, vi_sensor_clk, xio
+
 Example:
 
        pinctrl@70000000 {
index 6f426ed7009e5e43461770787225b398fe68e67f..0e6354c11e6db985a8fe834fe7afced2f3e2d7bd 100644 (file)
@@ -91,6 +91,18 @@ Valid values for pin and group names are:
     gmh, gpv, lcd1, lcd2, owr, sdio1, sdio2, sdio3, spi, uaa, uab, uart2,
     uart3, uda, vi1.
 
+Valid values for nvidia,functions are:
+
+  blink, cec, clk_12m_out, clk_32k_in, core_pwr_req, cpu_pwr_req, crt,
+  dap, ddr, dev3, displaya, displayb, dtv, extperiph1, extperiph2,
+  extperiph3, gmi, gmi_alt, hda, hdcp, hdmi, hsi, i2c1, i2c2, i2c3,
+  i2c4, i2cpwr, i2s0, i2s1, i2s2, i2s3, i2s4, invalid, kbc, mio, nand,
+  nand_alt, owr, pcie, pwm0, pwm1, pwm2, pwm3, pwr_int_n, rsvd1, rsvd2,
+  rsvd3, rsvd4, rtck, sata, sdmmc1, sdmmc2, sdmmc3, sdmmc4, spdif, spi1,
+  spi2, spi2_alt, spi3, spi4, spi5, spi6, sysclk, test, trace, uarta,
+  uartb, uartc, uartd, uarte, ulpi, vgp1, vgp2, vgp3, vgp4, vgp5, vgp6,
+  vi, vi_alt1, vi_alt2, vi_alt3
+
 Example:
 
        pinctrl@70000000 {
index 9a2f3f420526938232848c56d5decfed34c9ca33..6b33b9f18e88347d5f2d2cd3b8e0d85d5ea13b12 100644 (file)
@@ -1,8 +1,8 @@
 ST Ericsson Nomadik pinmux controller
 
 Required properties:
-- compatible: "stericsson,nmk-pinctrl", "stericsson,nmk-pinctrl-db8540",
-              "stericsson,nmk-pinctrl-stn8815"
+- compatible: "stericsson,db8500-pinctrl", "stericsson,db8540-pinctrl",
+              "stericsson,stn8815-pinctrl"
 - reg: Should contain the register physical address and length of the PRCMU.
 
 Please refer to pinctrl-bindings.txt in this directory for details of the
@@ -68,7 +68,7 @@ Optional subnode-properties:
 Example board file extract:
 
        pinctrl@80157000 {
-               compatible = "stericsson,nmk-pinctrl";
+               compatible = "stericsson,db8500-pinctrl";
                reg = <0x80157000 0x2000>;
 
                pinctrl-names = "default";
index eb2327b2bdb3143ba126089536402d113719a6c8..c703d51abb6c08f96a80a897b104f21e0d649893 100644 (file)
@@ -1,7 +1,10 @@
 * Designware APB timer
 
 Required properties:
-- compatible: "snps,dw-apb-timer-sp" or "snps,dw-apb-timer-osc"
+- compatible: One of:
+       "snps,dw-apb-timer"
+       "snps,dw-apb-timer-sp" <DEPRECATED>
+       "snps,dw-apb-timer-osc" <DEPRECATED>
 - reg: physical base address of the controller and length of memory mapped
   region.
 - interrupts: IRQ line for the timer.
@@ -20,25 +23,10 @@ systems may use one.
 
 
 Example:
-
-               timer1: timer@ffc09000 {
-                               compatible = "snps,dw-apb-timer-sp";
-                               interrupts = <0 168 4>;
-                               clock-frequency = <200000000>;
-                               reg = <0xffc09000 0x1000>;
-                       };
-
-               timer2: timer@ffd00000 {
-                               compatible = "snps,dw-apb-timer-osc";
-                               interrupts = <0 169 4>;
-                               clock-frequency = <200000000>;
-                               reg = <0xffd00000 0x1000>;
-                       };
-
-               timer3: timer@ffe00000 {
-                               compatible = "snps,dw-apb-timer-osc";
-                               interrupts = <0 170 4>;
-                               reg = <0xffe00000 0x1000>;
-                               clocks = <&timer_clk>, <&timer_pclk>;
-                               clock-names = "timer", "pclk";
-                       };
+       timer@ffe00000 {
+               compatible = "snps,dw-apb-timer";
+               interrupts = <0 170 4>;
+               reg = <0xffe00000 0x1000>;
+               clocks = <&timer_clk>, <&timer_pclk>;
+               clock-names = "timer", "pclk";
+       };
index c152f65f9a280b9971b9e4a70b393c511737e0a8..55a901051e8fb5c3e64ba359593606cb9fa9a23a 100644 (file)
@@ -1,4 +1,5 @@
 Altera JTAG UART
 
 Required properties:
-- compatible : should be "ALTR,juart-1.0"
+- compatible : should be "ALTR,juart-1.0" <DEPRECATED>
+- compatible : should be "altr,juart-1.0"
index 71cae3f701000760522d48c82035b5d8a6fbfe2e..81bf7ffb1a810a3c337896b46b3ee4f23146b211 100644 (file)
@@ -1,7 +1,8 @@
 Altera UART
 
 Required properties:
-- compatible : should be "ALTR,uart-1.0"
+- compatible : should be "ALTR,uart-1.0" <DEPRECATED>
+- compatible : should be "altr,uart-1.0"
 
 Optional properties:
 - clock-frequency : frequency of the clock input to the UART
index 4d9eecc2ef7de9066f24a8c593a735e675184962..520199e2e3477396e792f88d18b4059cb5635568 100644 (file)
@@ -1,4 +1,5 @@
 Altera UP PS/2 controller
 
 Required properties:
-- compatible : should be "ALTR,ps2-1.0".
+- compatible : should be "ALTR,ps2-1.0". <DEPRECATED>
+- compatible : should be "altr,ps2-1.0".
index dda375943506152bd665e35f24080073365aad35..31319dcf30ab78513f7355d1b28d1f439c052cab 100644 (file)
@@ -1,4 +1,5 @@
 Altera SPI
 
 Required properties:
-- compatible : should be "ALTR,spi-1.0".
+- compatible : should be "ALTR,spi-1.0". <DEPRECATED>
+- compatible : should be "altr,spi-1.0".
index ec4d713674fa42411a25bf95b2be6bbb08fe026c..b571560ed5f956f05da7edf425b2c3529023cda1 100644 (file)
@@ -7,6 +7,7 @@ ad      Avionic Design GmbH
 adi    Analog Devices, Inc.
 aeroflexgaisler        Aeroflex Gaisler AB
 ak     Asahi Kasei Corp.
+altr   Altera Corp.
 amcc   Applied Micro Circuits Corporation (APM, formally AMCC)
 apm    Applied Micro Circuits Corporation (APM)
 arm    ARM Ltd.
index 6fd2ceae305a6a5cf6c5d2e766e4c91848b147f7..a37a50f575a27af2c95abca5c473d6a60233d8b9 100644 (file)
@@ -190,6 +190,7 @@ machine-$(CONFIG_ARCH_S5PV210)              += s5pv210
 machine-$(CONFIG_ARCH_SA1100)          += sa1100
 machine-$(CONFIG_ARCH_SHARK)           += shark
 machine-$(CONFIG_ARCH_SHMOBILE)        += shmobile
+machine-$(CONFIG_ARCH_SHMOBILE_MULTI)  += shmobile
 machine-$(CONFIG_ARCH_SIRF)            += prima2
 machine-$(CONFIG_ARCH_SOCFPGA)         += socfpga
 machine-$(CONFIG_ARCH_STI)             += sti
index 641b3c9a7028c3368b5502c4a0f229c99327e521..454288db3180a591369cb9d5bc2129d845ab670c 100644 (file)
@@ -42,7 +42,8 @@ dtb-$(CONFIG_ARCH_AT91)       += sama5d34ek.dtb
 dtb-$(CONFIG_ARCH_AT91)        += sama5d35ek.dtb
 
 dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
-dtb-$(CONFIG_ARCH_BCM) += bcm11351-brt.dtb
+dtb-$(CONFIG_ARCH_BCM) += bcm11351-brt.dtb \
+       bcm28155-ap.dtb
 dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \
        da850-evm.dtb
 dtb-$(CONFIG_ARCH_DOVE) += dove-cm-a510.dtb \
@@ -53,13 +54,14 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
        exynos4210-trats.dtb \
        exynos4210-universal_c210.dtb \
        exynos4412-odroidx.dtb \
-       exynos4412-smdk4412.dtb \
        exynos4412-origen.dtb \
+       exynos4412-smdk4412.dtb \
+       exynos4412-trats2.dtb \
        exynos5250-arndale.dtb \
-       exynos5440-sd5v1.dtb \
        exynos5250-smdk5250.dtb \
        exynos5250-snow.dtb \
        exynos5420-smdk5420.dtb \
+       exynos5440-sd5v1.dtb \
        exynos5440-ssdk5440.dtb
 dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb \
        ecx-2000.dtb
@@ -143,7 +145,9 @@ dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \
        imx28-cfa10037.dtb \
        imx28-cfa10049.dtb \
        imx28-cfa10055.dtb \
+       imx28-cfa10056.dtb \
        imx28-cfa10057.dtb \
+       imx28-cfa10058.dtb \
        imx28-evk.dtb \
        imx28-m28evk.dtb \
        imx28-sps1.dtb \
@@ -176,13 +180,14 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \
        am43x-epos-evm.dtb
 dtb-$(CONFIG_ARCH_ORION5X) += orion5x-lacie-ethernet-disk-mini-v2.dtb
 dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb
-dtb-$(CONFIG_ARCH_U8500) += snowball.dtb \
-       hrefprev60.dtb \
-       hrefv60plus.dtb \
-       ccu8540.dtb \
-       ccu9540.dtb
+dtb-$(CONFIG_ARCH_U8500) += ste-snowball.dtb \
+       ste-hrefprev60.dtb \
+       ste-hrefv60plus.dtb \
+       ste-ccu8540.dtb \
+       ste-ccu9540.dtb
 dtb-$(CONFIG_ARCH_S3C24XX) += s3c2416-smdk2416.dtb
 dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \
+       emev2-kzm9d-reference.dtb \
        r8a7740-armadillo800eva.dtb \
        r8a7778-bockw.dtb \
        r8a7740-armadillo800eva-reference.dtb \
@@ -192,6 +197,7 @@ dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \
        sh73a0-kzm9g-reference.dtb \
        r8a73a4-ape6evm.dtb \
        sh7372-mackerel.dtb
+dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += emev2-kzm9d-reference.dtb
 dtb-$(CONFIG_ARCH_SOCFPGA) += socfpga_cyclone5.dtb \
        socfpga_vt.dtb
 dtb-$(CONFIG_ARCH_SPEAR13XX) += spear1310-evb.dtb \
@@ -206,11 +212,14 @@ dtb-$(CONFIG_ARCH_STI)+= stih415-b2000.dtb \
        stih415-b2020.dtb \
        stih416-b2020.dtb
 dtb-$(CONFIG_ARCH_SUNXI) += \
+       sun4i-a10-a1000.dtb \
        sun4i-a10-cubieboard.dtb \
        sun4i-a10-mini-xplus.dtb \
        sun4i-a10-hackberry.dtb \
        sun5i-a10s-olinuxino-micro.dtb \
-       sun5i-a13-olinuxino.dtb
+       sun5i-a13-olinuxino.dtb \
+       sun6i-a31-colombus.dtb \
+       sun7i-a20-olinuxino-micro.dtb
 dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
        tegra20-iris-512.dtb \
        tegra20-medcom-wide.dtb \
@@ -224,8 +233,7 @@ dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
        tegra30-beaver.dtb \
        tegra30-cardhu-a02.dtb \
        tegra30-cardhu-a04.dtb \
-       tegra114-dalmore.dtb \
-       tegra114-pluto.dtb
+       tegra114-dalmore.dtb
 dtb-$(CONFIG_ARCH_VERSATILE) += versatile-ab.dtb \
        versatile-pb.dtb
 dtb-$(CONFIG_ARCH_U300) += ste-u300.dtb
index 92b9e21389db6c7d800cf97ecabf39133819f88c..f77065506f1e63df9183ac1309a5788ed4714cb7 100644 (file)
                                interrupts = <10 IRQ_TYPE_LEVEL_HIGH 0>;
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               pinctrl-names = "default";
                                status = "disabled";
                        };
 
diff --git a/arch/arm/boot/dts/at91rm9200_pqfp.dtsi b/arch/arm/boot/dts/at91rm9200_pqfp.dtsi
new file mode 100644 (file)
index 0000000..93ca66f
--- /dev/null
@@ -0,0 +1,17 @@
+/*
+ * at91rm9200_pqfp.dtsi - Device Tree Include file for AT91RM9200 PQFP family SoC
+ *
+ * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2 or later.
+ */
+
+#include "at91rm9200.dtsi"
+
+/ {
+       compatible = "atmel,at91rm9200-pqfp", "atmel,at91rm9200";
+};
+
+&pioD {
+       status = "disabled";
+};
index c7ccbcbffb3e6b283e6f7976271f42703fc7b90e..56ee8282a7a8ef201f1833135ddfb3b4d81e38a9 100644 (file)
                                interrupts = <9 IRQ_TYPE_LEVEL_HIGH 0>;
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               pinctrl-names = "default";
                                status = "disabled";
                        };
 
index bb7f564b3a557fda71f0f9289e1fd7b7225ee73d..9fb7ffd32af26cd9ab7d959f7e1641b2937e050a 100644 (file)
                                        };
                                };
 
+                               i2c0 {
+                                       pinctrl_i2c0: i2c0-0 {
+                                               atmel,pins =
+                                                       <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_NONE
+                                                        AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_NONE>;
+                                       };
+                               };
+
+                               i2c1 {
+                                       pinctrl_i2c1: i2c1-0 {
+                                               atmel,pins =
+                                                       <AT91_PIOC 0 AT91_PERIPH_C AT91_PINCTRL_NONE
+                                                        AT91_PIOC 1 AT91_PERIPH_C AT91_PINCTRL_NONE>;
+                                       };
+                               };
+
                                tcb0 {
                                        pinctrl_tcb0_tclk0: tcb0_tclk0-0 {
                                                atmel,pins = <AT91_PIOA 24 AT91_PERIPH_A AT91_PINCTRL_NONE>;
                                dma-names = "tx", "rx";
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&pinctrl_i2c0>;
                                status = "disabled";
                        };
 
                                dma-names = "tx", "rx";
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&pinctrl_i2c1>;
                                status = "disabled";
                        };
 
index 3d77dbe406f4736aacb7a1d361f4f02758225aa0..27a9352b9d7a02e047303a2fb72bb47a5ec9f0c8 100644 (file)
 
                        i2c0: i2c@f8010000 {
                                status = "okay";
+
+                               qt1070: keyboard@1b {
+                                       compatible = "qt1070";
+                                       reg = <0x1b>;
+                                       interrupt-parent = <&pioA>;
+                                       interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
+                                       pinctrl-names = "default";
+                                       pinctrl-0 = <&pinctrl_qt1070_irq>;
+                               };
                        };
 
                        i2c1: i2c@f8014000 {
                                                        <AT91_PIOA 7 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;   /* PA7 gpio CD pin pull up and deglitch */
                                        };
                                };
+
+                               qt1070 {
+                                       pinctrl_qt1070_irq: qt1070_irq {
+                                               atmel,pins =
+                                                       <AT91_PIOA 2 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
+                                       };
+                               };
                        };
 
                        spi0: spi@f0000000 {
 
                enter {
                        label = "Enter";
-                       gpios = <&pioB 4 GPIO_ACTIVE_LOW>;
+                       gpios = <&pioB 3 GPIO_ACTIVE_LOW>;
                        linux,code = <28>;
                        gpio-key,wakeup;
                };
index 57d45f5bea09e77c72585fade7041521311bbf34..cf78ac0b04b12f77a3bc707e0228ce19a9e09785 100644 (file)
                                compatible = "atmel,at91sam9g45-ssc";
                                reg = <0xf0010000 0x4000>;
                                interrupts = <28 IRQ_TYPE_LEVEL_HIGH 5>;
+                               dmas = <&dma0 1 AT91_DMA_CFG_PER_ID(13)>,
+                                      <&dma0 1 AT91_DMA_CFG_PER_ID(14)>;
+                               dma-names = "tx", "rx";
                                pinctrl-names = "default";
                                pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
                                status = "disabled";
index 49e3c45818c236caf750fe5f42137b963f0eb7c2..3a9f6fa4a36ad749563dec54735c186fa582fa51 100644 (file)
 
                        i2c0: i2c@f8010000 {
                                status = "okay";
+
+                               wm8731: wm8731@1a {
+                                       compatible = "wm8731";
+                                       reg = <0x1a>;
+                               };
                        };
 
                        pinctrl@fffff400 {
                        watchdog@fffffe40 {
                                status = "okay";
                        };
+
+                       ssc0: ssc@f0010000 {
+                               status = "okay";
+                       };
                };
 
                usb0: ohci@00600000 {
                        status = "okay";
                };
        };
+
+       sound {
+               compatible = "atmel,sam9x5-wm8731-audio";
+
+               atmel,model = "wm8731 @ AT91SAM9X5EK";
+
+               atmel,audio-routing =
+                       "Headphone Jack", "RHPOUT",
+                       "Headphone Jack", "LHPOUT",
+                       "LLINEIN", "Line In Jack",
+                       "RLINEIN", "Line In Jack";
+
+               atmel,ssc-controller = <&ssc0>;
+               atmel,audio-codec = <&wm8731>;
+       };
 };
index 67ec524098b53516e54961e19d84e6be1e517e30..9d36eb4e3c41e8f2d0e7047acf08809dbd39f835 100644 (file)
@@ -17,7 +17,7 @@
 
 / {
        model = "BCM11351 BRT board";
-       compatible = "bcm,bcm11351-brt", "bcm,bcm11351";
+       compatible = "brcm,bcm11351-brt", "brcm,bcm11351";
 
        memory {
                reg = <0x80000000 0x40000000>; /* 1 GB */
                status = "okay";
        };
 
-       sdio0: sdio@0x3f180000 {
+       sdio1: sdio@3f180000 {
                max-frequency = <48000000>;
                status = "okay";
        };
 
-       sdio1: sdio@0x3f190000 {
+       sdio2: sdio@3f190000 {
                non-removable;
                max-frequency = <48000000>;
                status = "okay";
        };
 
-       sdio3: sdio@0x3f1b0000 {
+       sdio4: sdio@3f1b0000 {
                max-frequency = <48000000>;
                status = "okay";
        };
index c0cdf66f8964f7a800390ee0dd8c6899b5c0baad..05a5aabe3b2ccadbef92c305659ccf4f51fd7580 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2012 Broadcom Corporation
+ * Copyright (C) 2012-2013 Broadcom Corporation
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
@@ -18,7 +18,7 @@
 
 / {
        model = "BCM11351 SoC";
-       compatible = "bcm,bcm11351";
+       compatible = "brcm,bcm11351";
        interrupt-parent = <&gic>;
 
        chosen {
        };
 
        smc@0x3404c000 {
-               compatible = "bcm,bcm11351-smc", "bcm,kona-smc";
+               compatible = "brcm,bcm11351-smc", "brcm,kona-smc";
                reg = <0x3404c000 0x400>; /* 1 KiB in SRAM */
        };
 
        uart@3e000000 {
-               compatible = "bcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart";
+               compatible = "brcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart";
                status = "disabled";
                reg = <0x3e000000 0x1000>;
                clock-frequency = <13000000>;
        };
 
        L2: l2-cache {
-               compatible = "bcm,bcm11351-a2-pl310-cache";
+               compatible = "brcm,bcm11351-a2-pl310-cache";
                reg = <0x3ff20000 0x1000>;
                cache-unified;
                cache-level = <2>;
        };
 
+       watchdog@35002f40 {
+               compatible = "brcm,bcm11351-wdt", "brcm,kona-wdt";
+               reg = <0x35002f40 0x6c>;
+       };
+
        timer@35006000 {
-               compatible = "bcm,kona-timer";
+               compatible = "brcm,kona-timer";
                reg = <0x35006000 0x1000>;
                interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
                clock-frequency = <32768>;
        };
 
-       sdio0: sdio@0x3f180000 {
-               compatible = "bcm,kona-sdhci";
+       sdio1: sdio@3f180000 {
+               compatible = "brcm,kona-sdhci";
                reg = <0x3f180000 0x10000>;
                interrupts = <0x0 77 0x4>;
                status = "disabled";
        };
 
-       sdio1: sdio@0x3f190000 {
-               compatible = "bcm,kona-sdhci";
+       sdio2: sdio@3f190000 {
+               compatible = "brcm,kona-sdhci";
                reg = <0x3f190000 0x10000>;
                interrupts = <0x0 76 0x4>;
                status = "disabled";
        };
 
-       sdio2: sdio@0x3f1a0000 {
-               compatible = "bcm,kona-sdhci";
+       sdio3: sdio@3f1a0000 {
+               compatible = "brcm,kona-sdhci";
                reg = <0x3f1a0000 0x10000>;
                interrupts = <0x0 74 0x4>;
                status = "disabled";
        };
 
-       sdio3: sdio@0x3f1b0000 {
-               compatible = "bcm,kona-sdhci";
+       sdio4: sdio@3f1b0000 {
+               compatible = "brcm,kona-sdhci";
                reg = <0x3f1b0000 0x10000>;
                interrupts = <0x0 73 0x4>;
                status = "disabled";
diff --git a/arch/arm/boot/dts/bcm28155-ap.dts b/arch/arm/boot/dts/bcm28155-ap.dts
new file mode 100644 (file)
index 0000000..96ae67a
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2013 Broadcom Corporation
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation version 2.
+ *
+ * This program is distributed "as is" WITHOUT ANY WARRANTY of any
+ * kind, whether express or implied; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+/dts-v1/;
+
+#include "bcm11351.dtsi"
+
+/ {
+       model = "BCM28155 AP board";
+       compatible = "brcm,bcm28155-ap", "brcm,bcm11351";
+
+       memory {
+               reg = <0x80000000 0x40000000>; /* 1 GB */
+       };
+
+       uart@3e000000 {
+               status = "okay";
+       };
+
+       sdio1: sdio@3f180000 {
+               max-frequency = <48000000>;
+               status = "okay";
+       };
+
+       sdio2: sdio@3f190000 {
+               non-removable;
+               max-frequency = <48000000>;
+               status = "okay";
+       };
+
+       sdio4: sdio@3f1b0000 {
+               max-frequency = <48000000>;
+               status = "okay";
+       };
+};
diff --git a/arch/arm/boot/dts/ccu8540.dts b/arch/arm/boot/dts/ccu8540.dts
deleted file mode 100644 (file)
index 48ff034..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright 2013 ST-Ericsson AB
- *
- * 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 "dbx5x0.dtsi"
-
-/ {
-       model = "ST-Ericsson U8540 platform with Device Tree";
-       compatible = "st-ericsson,ccu8540", "st-ericsson,u8540";
-
-       memory@0 {
-               reg = <0x20000000 0x1f000000>, <0xc0000000 0x3f000000>;
-       };
-
-       soc {
-               prcmu@80157000 {
-                       reg = <0x80157000 0x2000>, <0x801b0000 0x8000>, <0x801b8000 0x3000>;
-                       reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm";
-               };
-
-               uart@80120000 {
-                       status = "okay";
-               };
-
-               uart@80121000 {
-                       status = "okay";
-               };
-
-               uart@80007000 {
-                       status = "okay";
-               };
-       };
-};
diff --git a/arch/arm/boot/dts/ccu9540.dts b/arch/arm/boot/dts/ccu9540.dts
deleted file mode 100644 (file)
index ed29ec7..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright 2012 ST-Ericsson AB
- *
- * 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 "dbx5x0.dtsi"
-
-/ {
-       model = "ST-Ericsson CCU9540 platform with Device Tree";
-       compatible = "st-ericsson,ccu9540", "st-ericsson,u9540";
-
-       memory {
-               reg = <0x00000000 0x20000000>;
-       };
-
-       soc {
-               uart@80120000 {
-                       status = "okay";
-               };
-
-               uart@80121000 {
-                       status = "okay";
-               };
-
-               uart@80007000 {
-                       status = "okay";
-               };
-
-               // External Micro SD slot
-               sdi0_per1@80126000 {
-                       arm,primecell-periphid = <0x10480180>;
-                       max-frequency = <100000000>;
-                       bus-width = <4>;
-                       mmc-cap-sd-highspeed;
-                       mmc-cap-mmc-highspeed;
-                       vmmc-supply = <&ab8500_ldo_aux3_reg>;
-
-                       cd-gpios  = <&gpio7 6 0x4>; // 230
-                       cd-inverted;
-
-                       status = "okay";
-               };
-
-
-               // WLAN SDIO channel
-               sdi1_per2@80118000 {
-                       arm,primecell-periphid = <0x10480180>;
-                       max-frequency = <100000000>;
-                       bus-width = <4>;
-
-                       status = "okay";
-               };
-
-               // On-board eMMC
-               sdi4_per2@80114000 {
-                       arm,primecell-periphid = <0x10480180>;
-                       max-frequency = <100000000>;
-                       bus-width = <8>;
-                       mmc-cap-mmc-highspeed;
-                       vmmc-supply = <&ab8500_ldo_aux2_reg>;
-
-                       status = "okay";
-               };
-       };
-};
diff --git a/arch/arm/boot/dts/dbx5x0.dtsi b/arch/arm/boot/dts/dbx5x0.dtsi
deleted file mode 100644 (file)
index a152945..0000000
+++ /dev/null
@@ -1,781 +0,0 @@
-/*
- * Copyright 2012 Linaro Ltd
- *
- * 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 <dt-bindings/interrupt-controller/irq.h>
-#include "skeleton.dtsi"
-
-/ {
-       soc {
-               #address-cells = <1>;
-               #size-cells = <1>;
-               compatible = "stericsson,db8500";
-               interrupt-parent = <&intc>;
-               ranges;
-
-               intc: interrupt-controller@a0411000 {
-                       compatible = "arm,cortex-a9-gic";
-                       #interrupt-cells = <3>;
-                       #address-cells = <1>;
-                       interrupt-controller;
-                       reg = <0xa0411000 0x1000>,
-                             <0xa0410100 0x100>;
-               };
-
-               L2: l2-cache {
-                       compatible = "arm,pl310-cache";
-                       reg = <0xa0412000 0x1000>;
-                       interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>;
-                       cache-unified;
-                       cache-level = <2>;
-               };
-
-               pmu {
-                       compatible = "arm,cortex-a9-pmu";
-                       interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>;
-               };
-
-               timer@a0410600 {
-                       compatible = "arm,cortex-a9-twd-timer";
-                       reg = <0xa0410600 0x20>;
-                       interrupts = <1 13 0x304>; /* IRQ level high per-CPU */
-               };
-
-               rtc@80154000 {
-                       compatible = "arm,rtc-pl031", "arm,primecell";
-                       reg = <0x80154000 0x1000>;
-                       interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>;
-               };
-
-               gpio0: gpio@8012e000 {
-                       compatible = "stericsson,db8500-gpio",
-                               "st,nomadik-gpio";
-                       reg =  <0x8012e000 0x80>;
-                       interrupts = <0 119 IRQ_TYPE_LEVEL_HIGH>;
-                       interrupt-controller;
-                       #interrupt-cells = <2>;
-                       st,supports-sleepmode;
-                       gpio-controller;
-                       #gpio-cells = <2>;
-                       gpio-bank = <0>;
-               };
-
-               gpio1: gpio@8012e080 {
-                       compatible = "stericsson,db8500-gpio",
-                               "st,nomadik-gpio";
-                       reg =  <0x8012e080 0x80>;
-                       interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>;
-                       interrupt-controller;
-                       #interrupt-cells = <2>;
-                       st,supports-sleepmode;
-                       gpio-controller;
-                       #gpio-cells = <2>;
-                       gpio-bank = <1>;
-               };
-
-               gpio2: gpio@8000e000 {
-                       compatible = "stericsson,db8500-gpio",
-                               "st,nomadik-gpio";
-                       reg =  <0x8000e000 0x80>;
-                       interrupts = <0 121 IRQ_TYPE_LEVEL_HIGH>;
-                       interrupt-controller;
-                       #interrupt-cells = <2>;
-                       st,supports-sleepmode;
-                       gpio-controller;
-                       #gpio-cells = <2>;
-                       gpio-bank = <2>;
-               };
-
-               gpio3: gpio@8000e080 {
-                       compatible = "stericsson,db8500-gpio",
-                               "st,nomadik-gpio";
-                       reg =  <0x8000e080 0x80>;
-                       interrupts = <0 122 IRQ_TYPE_LEVEL_HIGH>;
-                       interrupt-controller;
-                       #interrupt-cells = <2>;
-                       st,supports-sleepmode;
-                       gpio-controller;
-                       #gpio-cells = <2>;
-                       gpio-bank = <3>;
-               };
-
-               gpio4: gpio@8000e100 {
-                       compatible = "stericsson,db8500-gpio",
-                               "st,nomadik-gpio";
-                       reg =  <0x8000e100 0x80>;
-                       interrupts = <0 123 IRQ_TYPE_LEVEL_HIGH>;
-                       interrupt-controller;
-                       #interrupt-cells = <2>;
-                       st,supports-sleepmode;
-                       gpio-controller;
-                       #gpio-cells = <2>;
-                       gpio-bank = <4>;
-               };
-
-               gpio5: gpio@8000e180 {
-                       compatible = "stericsson,db8500-gpio",
-                               "st,nomadik-gpio";
-                       reg =  <0x8000e180 0x80>;
-                       interrupts = <0 124 IRQ_TYPE_LEVEL_HIGH>;
-                       interrupt-controller;
-                       #interrupt-cells = <2>;
-                       st,supports-sleepmode;
-                       gpio-controller;
-                       #gpio-cells = <2>;
-                       gpio-bank = <5>;
-               };
-
-               gpio6: gpio@8011e000 {
-                       compatible = "stericsson,db8500-gpio",
-                               "st,nomadik-gpio";
-                       reg =  <0x8011e000 0x80>;
-                       interrupts = <0 125 IRQ_TYPE_LEVEL_HIGH>;
-                       interrupt-controller;
-                       #interrupt-cells = <2>;
-                       st,supports-sleepmode;
-                       gpio-controller;
-                       #gpio-cells = <2>;
-                       gpio-bank = <6>;
-               };
-
-               gpio7: gpio@8011e080 {
-                       compatible = "stericsson,db8500-gpio",
-                               "st,nomadik-gpio";
-                       reg =  <0x8011e080 0x80>;
-                       interrupts = <0 126 IRQ_TYPE_LEVEL_HIGH>;
-                       interrupt-controller;
-                       #interrupt-cells = <2>;
-                       st,supports-sleepmode;
-                       gpio-controller;
-                       #gpio-cells = <2>;
-                       gpio-bank = <7>;
-               };
-
-               gpio8: gpio@a03fe000 {
-                       compatible = "stericsson,db8500-gpio",
-                               "st,nomadik-gpio";
-                       reg =  <0xa03fe000 0x80>;
-                       interrupts = <0 127 IRQ_TYPE_LEVEL_HIGH>;
-                       interrupt-controller;
-                       #interrupt-cells = <2>;
-                       st,supports-sleepmode;
-                       gpio-controller;
-                       #gpio-cells = <2>;
-                       gpio-bank = <8>;
-               };
-
-               pinctrl {
-                       compatible = "stericsson,db8500-pinctrl";
-                       prcm = <&prcmu>;
-               };
-
-               usb_per5@a03e0000 {
-                       compatible = "stericsson,db8500-musb",
-                               "mentor,musb";
-                       reg = <0xa03e0000 0x10000>;
-                       interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
-                       interrupt-names = "mc";
-
-                       dr_mode = "otg";
-
-                       dmas = <&dma 38 0 0x2>, /* Logical - DevToMem */
-                              <&dma 38 0 0x0>, /* Logical - MemToDev */
-                              <&dma 37 0 0x2>, /* Logical - DevToMem */
-                              <&dma 37 0 0x0>, /* Logical - MemToDev */
-                              <&dma 36 0 0x2>, /* Logical - DevToMem */
-                              <&dma 36 0 0x0>, /* Logical - MemToDev */
-                              <&dma 19 0 0x2>, /* Logical - DevToMem */
-                              <&dma 19 0 0x0>, /* Logical - MemToDev */
-                              <&dma 18 0 0x2>, /* Logical - DevToMem */
-                              <&dma 18 0 0x0>, /* Logical - MemToDev */
-                              <&dma 17 0 0x2>, /* Logical - DevToMem */
-                              <&dma 17 0 0x0>, /* Logical - MemToDev */
-                              <&dma 16 0 0x2>, /* Logical - DevToMem */
-                              <&dma 16 0 0x0>, /* Logical - MemToDev */
-                              <&dma 39 0 0x2>, /* Logical - DevToMem */
-                              <&dma 39 0 0x0>; /* Logical - MemToDev */
-
-                       dma-names = "iep_1_9",  "oep_1_9",
-                                   "iep_2_10", "oep_2_10",
-                                   "iep_3_11", "oep_3_11",
-                                   "iep_4_12", "oep_4_12",
-                                   "iep_5_13", "oep_5_13",
-                                   "iep_6_14", "oep_6_14",
-                                   "iep_7_15", "oep_7_15",
-                                   "iep_8",    "oep_8";
-               };
-
-               dma: dma-controller@801C0000 {
-                       compatible = "stericsson,db8500-dma40", "stericsson,dma40";
-                       reg = <0x801C0000 0x1000 0x40010000 0x800>;
-                       reg-names = "base", "lcpa";
-                       interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>;
-
-                       #dma-cells = <3>;
-                       memcpy-channels = <56 57 58 59 60>;
-               };
-
-               prcmu: prcmu@80157000 {
-                       compatible = "stericsson,db8500-prcmu";
-                       reg = <0x80157000 0x2000>, <0x801b0000 0x8000>, <0x801b8000 0x1000>;
-                       reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm";
-                       interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>;
-                       #address-cells = <1>;
-                       #size-cells = <1>;
-                       interrupt-controller;
-                       #interrupt-cells = <2>;
-                       ranges;
-
-                       prcmu-timer-4@80157450 {
-                               compatible = "stericsson,db8500-prcmu-timer-4";
-                               reg = <0x80157450 0xC>;
-                       };
-
-                       thermal@801573c0 {
-                               compatible = "stericsson,db8500-thermal";
-                               reg = <0x801573c0 0x40>;
-                               interrupts = <21 IRQ_TYPE_LEVEL_HIGH>,
-                                            <22 IRQ_TYPE_LEVEL_HIGH>;
-                               interrupt-names = "IRQ_HOTMON_LOW", "IRQ_HOTMON_HIGH";
-                               status = "disabled";
-                        };
-
-                       db8500-prcmu-regulators {
-                               compatible = "stericsson,db8500-prcmu-regulator";
-
-                               // DB8500_REGULATOR_VAPE
-                               db8500_vape_reg: db8500_vape {
-                                       regulator-compatible = "db8500_vape";
-                                       regulator-always-on;
-                               };
-
-                               // DB8500_REGULATOR_VARM
-                               db8500_varm_reg: db8500_varm {
-                                       regulator-compatible = "db8500_varm";
-                               };
-
-                               // DB8500_REGULATOR_VMODEM
-                               db8500_vmodem_reg: db8500_vmodem {
-                                       regulator-compatible = "db8500_vmodem";
-                               };
-
-                               // DB8500_REGULATOR_VPLL
-                               db8500_vpll_reg: db8500_vpll {
-                                       regulator-compatible = "db8500_vpll";
-                               };
-
-                               // DB8500_REGULATOR_VSMPS1
-                               db8500_vsmps1_reg: db8500_vsmps1 {
-                                       regulator-compatible = "db8500_vsmps1";
-                               };
-
-                               // DB8500_REGULATOR_VSMPS2
-                               db8500_vsmps2_reg: db8500_vsmps2 {
-                                       regulator-compatible = "db8500_vsmps2";
-                               };
-
-                               // DB8500_REGULATOR_VSMPS3
-                               db8500_vsmps3_reg: db8500_vsmps3 {
-                                       regulator-compatible = "db8500_vsmps3";
-                               };
-
-                               // DB8500_REGULATOR_VRF1
-                               db8500_vrf1_reg: db8500_vrf1 {
-                                       regulator-compatible = "db8500_vrf1";
-                               };
-
-                               // DB8500_REGULATOR_SWITCH_SVAMMDSP
-                               db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
-                                       regulator-compatible = "db8500_sva_mmdsp";
-                               };
-
-                               // DB8500_REGULATOR_SWITCH_SVAMMDSPRET
-                               db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
-                                       regulator-compatible = "db8500_sva_mmdsp_ret";
-                               };
-
-                               // DB8500_REGULATOR_SWITCH_SVAPIPE
-                               db8500_sva_pipe_reg: db8500_sva_pipe {
-                                       regulator-compatible = "db8500_sva_pipe";
-                               };
-
-                               // DB8500_REGULATOR_SWITCH_SIAMMDSP
-                               db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
-                                       regulator-compatible = "db8500_sia_mmdsp";
-                               };
-
-                               // DB8500_REGULATOR_SWITCH_SIAMMDSPRET
-                               db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
-                               };
-
-                               // DB8500_REGULATOR_SWITCH_SIAPIPE
-                               db8500_sia_pipe_reg: db8500_sia_pipe {
-                                       regulator-compatible = "db8500_sia_pipe";
-                               };
-
-                               // DB8500_REGULATOR_SWITCH_SGA
-                               db8500_sga_reg: db8500_sga {
-                                       regulator-compatible = "db8500_sga";
-                                       vin-supply = <&db8500_vape_reg>;
-                               };
-
-                               // DB8500_REGULATOR_SWITCH_B2R2_MCDE
-                               db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
-                                       regulator-compatible = "db8500_b2r2_mcde";
-                                       vin-supply = <&db8500_vape_reg>;
-                               };
-
-                               // DB8500_REGULATOR_SWITCH_ESRAM12
-                               db8500_esram12_reg: db8500_esram12 {
-                                       regulator-compatible = "db8500_esram12";
-                               };
-
-                               // DB8500_REGULATOR_SWITCH_ESRAM12RET
-                               db8500_esram12_ret_reg: db8500_esram12_ret {
-                                       regulator-compatible = "db8500_esram12_ret";
-                               };
-
-                               // DB8500_REGULATOR_SWITCH_ESRAM34
-                               db8500_esram34_reg: db8500_esram34 {
-                                       regulator-compatible = "db8500_esram34";
-                               };
-
-                               // DB8500_REGULATOR_SWITCH_ESRAM34RET
-                               db8500_esram34_ret_reg: db8500_esram34_ret {
-                                       regulator-compatible = "db8500_esram34_ret";
-                               };
-                       };
-
-                       ab8500 {
-                               compatible = "stericsson,ab8500";
-                               interrupt-parent = <&intc>;
-                               interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>;
-                               interrupt-controller;
-                               #interrupt-cells = <2>;
-
-                               ab8500_gpio: ab8500-gpio {
-                                       gpio-controller;
-                                       #gpio-cells = <2>;
-                               };
-
-                               ab8500-rtc {
-                                       compatible = "stericsson,ab8500-rtc";
-                                       interrupts = <17 IRQ_TYPE_LEVEL_HIGH
-                                                     18 IRQ_TYPE_LEVEL_HIGH>;
-                                       interrupt-names = "60S", "ALARM";
-                               };
-
-                               ab8500-gpadc {
-                                       compatible = "stericsson,ab8500-gpadc";
-                                       interrupts = <32 IRQ_TYPE_LEVEL_HIGH
-                                                     39 IRQ_TYPE_LEVEL_HIGH>;
-                                       interrupt-names = "HW_CONV_END", "SW_CONV_END";
-                                       vddadc-supply = <&ab8500_ldo_tvout_reg>;
-                               };
-
-                               ab8500_battery: ab8500_battery {
-                                       stericsson,battery-type = "LIPO";
-                                       thermistor-on-batctrl;
-                               };
-
-                               ab8500_fg {
-                                       compatible = "stericsson,ab8500-fg";
-                                       battery    = <&ab8500_battery>;
-                               };
-
-                               ab8500_btemp {
-                                       compatible = "stericsson,ab8500-btemp";
-                                       battery    = <&ab8500_battery>;
-                               };
-
-                               ab8500_charger {
-                                       compatible      = "stericsson,ab8500-charger";
-                                       battery         = <&ab8500_battery>;
-                                       vddadc-supply   = <&ab8500_ldo_tvout_reg>;
-                               };
-
-                               ab8500_chargalg {
-                                       compatible      = "stericsson,ab8500-chargalg";
-                                       battery         = <&ab8500_battery>;
-                               };
-
-                               ab8500_usb {
-                                       compatible = "stericsson,ab8500-usb";
-                                       interrupts = < 90 IRQ_TYPE_LEVEL_HIGH
-                                                      96 IRQ_TYPE_LEVEL_HIGH
-                                                      14 IRQ_TYPE_LEVEL_HIGH
-                                                      15 IRQ_TYPE_LEVEL_HIGH
-                                                      79 IRQ_TYPE_LEVEL_HIGH
-                                                      74 IRQ_TYPE_LEVEL_HIGH
-                                                      75 IRQ_TYPE_LEVEL_HIGH>;
-                                       interrupt-names = "ID_WAKEUP_R",
-                                                         "ID_WAKEUP_F",
-                                                         "VBUS_DET_F",
-                                                         "VBUS_DET_R",
-                                                         "USB_LINK_STATUS",
-                                                         "USB_ADP_PROBE_PLUG",
-                                                         "USB_ADP_PROBE_UNPLUG";
-                                       vddulpivio18-supply = <&ab8500_ldo_intcore_reg>;
-                                       v-ape-supply = <&db8500_vape_reg>;
-                                       musb_1v8-supply = <&db8500_vsmps2_reg>;
-                               };
-
-                               ab8500-ponkey {
-                                       compatible = "stericsson,ab8500-poweron-key";
-                                       interrupts = <6 IRQ_TYPE_LEVEL_HIGH
-                                                     7 IRQ_TYPE_LEVEL_HIGH>;
-                                       interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
-                               };
-
-                               ab8500-sysctrl {
-                                       compatible = "stericsson,ab8500-sysctrl";
-                               };
-
-                               ab8500-pwm {
-                                       compatible = "stericsson,ab8500-pwm";
-                               };
-
-                               ab8500-debugfs {
-                                       compatible = "stericsson,ab8500-debug";
-                               };
-
-                               codec: ab8500-codec {
-                                       compatible = "stericsson,ab8500-codec";
-
-                                       V-AUD-supply = <&ab8500_ldo_audio_reg>;
-                                       V-AMIC1-supply = <&ab8500_ldo_anamic1_reg>;
-                                       V-AMIC2-supply = <&ab8500_ldo_anamic2_reg>;
-                                       V-DMIC-supply = <&ab8500_ldo_dmic_reg>;
-
-                                       stericsson,earpeice-cmv = <950>; /* Units in mV. */
-                               };
-
-                               ab8500-regulators {
-                                       compatible = "stericsson,ab8500-regulator";
-
-                                       // supplies to the display/camera
-                                       ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
-                                               regulator-compatible = "ab8500_ldo_aux1";
-                                               regulator-min-microvolt = <2500000>;
-                                               regulator-max-microvolt = <2900000>;
-                                               regulator-boot-on;
-                                               /* BUG: If turned off MMC will be affected. */
-                                               regulator-always-on;
-                                       };
-
-                                       // supplies to the on-board eMMC
-                                       ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
-                                               regulator-compatible = "ab8500_ldo_aux2";
-                                               regulator-min-microvolt = <1100000>;
-                                               regulator-max-microvolt = <3300000>;
-                                       };
-
-                                       // supply for VAUX3; SDcard slots
-                                       ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
-                                               regulator-compatible = "ab8500_ldo_aux3";
-                                               regulator-min-microvolt = <1100000>;
-                                               regulator-max-microvolt = <3300000>;
-                                       };
-
-                                       // supply for v-intcore12; VINTCORE12 LDO
-                                       ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
-                                               regulator-compatible = "ab8500_ldo_intcore";
-                                       };
-
-                                       // supply for tvout; gpadc; TVOUT LDO
-                                       ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
-                                               regulator-compatible = "ab8500_ldo_tvout";
-                                       };
-
-                                       // supply for ab8500-usb; USB LDO
-                                       ab8500_ldo_usb_reg: ab8500_ldo_usb {
-                                               regulator-compatible = "ab8500_ldo_usb";
-                                       };
-
-                                       // supply for ab8500-vaudio; VAUDIO LDO
-                                       ab8500_ldo_audio_reg: ab8500_ldo_audio {
-                                               regulator-compatible = "ab8500_ldo_audio";
-                                       };
-
-                                       // supply for v-anamic1 VAMIC1 LDO
-                                       ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
-                                               regulator-compatible = "ab8500_ldo_anamic1";
-                                       };
-
-                                       // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
-                                       ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
-                                               regulator-compatible = "ab8500_ldo_anamic2";
-                                       };
-
-                                       // supply for v-dmic; VDMIC LDO
-                                       ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
-                                               regulator-compatible = "ab8500_ldo_dmic";
-                                       };
-
-                                       // supply for U8500 CSI/DSI; VANA LDO
-                                       ab8500_ldo_ana_reg: ab8500_ldo_ana {
-                                               regulator-compatible = "ab8500_ldo_ana";
-                                       };
-                               };
-                       };
-               };
-
-               i2c@80004000 {
-                       compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
-                       reg = <0x80004000 0x1000>;
-                       interrupts = <0 21 IRQ_TYPE_LEVEL_HIGH>;
-                       arm,primecell-periphid = <0x180024>;
-
-                       #address-cells = <1>;
-                       #size-cells = <0>;
-                       v-i2c-supply = <&db8500_vape_reg>;
-
-                       clock-frequency = <400000>;
-               };
-
-               i2c@80122000 {
-                       compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
-                       reg = <0x80122000 0x1000>;
-                       interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>;
-                       arm,primecell-periphid = <0x180024>;
-
-                       #address-cells = <1>;
-                       #size-cells = <0>;
-                       v-i2c-supply = <&db8500_vape_reg>;
-
-                       clock-frequency = <400000>;
-               };
-
-               i2c@80128000 {
-                       compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
-                       reg = <0x80128000 0x1000>;
-                       interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>;
-                       arm,primecell-periphid = <0x180024>;
-
-                       #address-cells = <1>;
-                       #size-cells = <0>;
-                       v-i2c-supply = <&db8500_vape_reg>;
-
-                       clock-frequency = <400000>;
-               };
-
-               i2c@80110000 {
-                       compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
-                       reg = <0x80110000 0x1000>;
-                       interrupts = <0 12 IRQ_TYPE_LEVEL_HIGH>;
-                       arm,primecell-periphid = <0x180024>;
-
-                       #address-cells = <1>;
-                       #size-cells = <0>;
-                       v-i2c-supply = <&db8500_vape_reg>;
-
-                       clock-frequency = <400000>;
-               };
-
-               i2c@8012a000 {
-                       compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
-                       reg = <0x8012a000 0x1000>;
-                       interrupts = <0 51 IRQ_TYPE_LEVEL_HIGH>;
-                       arm,primecell-periphid = <0x180024>;
-
-                       #address-cells = <1>;
-                       #size-cells = <0>;
-                       v-i2c-supply = <&db8500_vape_reg>;
-
-                       clock-frequency = <400000>;
-               };
-
-               ssp@80002000 {
-                       compatible = "arm,pl022", "arm,primecell";
-                       reg = <0x80002000 0x1000>;
-                       interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>;
-                       #address-cells = <1>;
-                       #size-cells = <0>;
-                       status = "disabled";
-               };
-
-               uart@80120000 {
-                       compatible = "arm,pl011", "arm,primecell";
-                       reg = <0x80120000 0x1000>;
-                       interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
-
-                       dmas = <&dma 13 0 0x2>, /* Logical - DevToMem */
-                              <&dma 13 0 0x0>; /* Logical - MemToDev */
-                       dma-names = "rx", "tx";
-
-                       status = "disabled";
-               };
-
-               uart@80121000 {
-                       compatible = "arm,pl011", "arm,primecell";
-                       reg = <0x80121000 0x1000>;
-                       interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>;
-
-                       dmas = <&dma 12 0 0x2>, /* Logical - DevToMem */
-                              <&dma 12 0 0x0>; /* Logical - MemToDev */
-                       dma-names = "rx", "tx";
-
-                       status = "disabled";
-               };
-
-               uart@80007000 {
-                       compatible = "arm,pl011", "arm,primecell";
-                       reg = <0x80007000 0x1000>;
-                       interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;
-
-                       dmas = <&dma 11 0 0x2>, /* Logical - DevToMem */
-                              <&dma 11 0 0x0>; /* Logical - MemToDev */
-                       dma-names = "rx", "tx";
-
-                       status = "disabled";
-               };
-
-               sdi0_per1@80126000 {
-                       compatible = "arm,pl18x", "arm,primecell";
-                       reg = <0x80126000 0x1000>;
-                       interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>;
-
-                       dmas = <&dma 29 0 0x2>, /* Logical - DevToMem */
-                              <&dma 29 0 0x0>; /* Logical - MemToDev */
-                       dma-names = "rx", "tx";
-
-                       status = "disabled";
-               };
-
-               sdi1_per2@80118000 {
-                       compatible = "arm,pl18x", "arm,primecell";
-                       reg = <0x80118000 0x1000>;
-                       interrupts = <0 50 IRQ_TYPE_LEVEL_HIGH>;
-
-                       dmas = <&dma 32 0 0x2>, /* Logical - DevToMem */
-                              <&dma 32 0 0x0>; /* Logical - MemToDev */
-                       dma-names = "rx", "tx";
-
-                       status = "disabled";
-               };
-
-               sdi2_per3@80005000 {
-                       compatible = "arm,pl18x", "arm,primecell";
-                       reg = <0x80005000 0x1000>;
-                       interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
-
-                       dmas = <&dma 28 0 0x2>, /* Logical - DevToMem */
-                              <&dma 28 0 0x0>; /* Logical - MemToDev */
-                       dma-names = "rx", "tx";
-
-                       status = "disabled";
-               };
-
-               sdi3_per2@80119000 {
-                       compatible = "arm,pl18x", "arm,primecell";
-                       reg = <0x80119000 0x1000>;
-                       interrupts = <0 59 IRQ_TYPE_LEVEL_HIGH>;
-                       status = "disabled";
-               };
-
-               sdi4_per2@80114000 {
-                       compatible = "arm,pl18x", "arm,primecell";
-                       reg = <0x80114000 0x1000>;
-                       interrupts = <0 99 IRQ_TYPE_LEVEL_HIGH>;
-
-                       dmas = <&dma 42 0 0x2>, /* Logical - DevToMem */
-                              <&dma 42 0 0x0>; /* Logical - MemToDev */
-                       dma-names = "rx", "tx";
-
-                       status = "disabled";
-               };
-
-               sdi5_per3@80008000 {
-                       compatible = "arm,pl18x", "arm,primecell";
-                       reg = <0x80008000 0x1000>;
-                       interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>;
-                       status = "disabled";
-               };
-
-               msp0: msp@80123000 {
-                       compatible = "stericsson,ux500-msp-i2s";
-                       reg = <0x80123000 0x1000>;
-                       interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>;
-                       v-ape-supply = <&db8500_vape_reg>;
-                       status = "disabled";
-               };
-
-               msp1: msp@80124000 {
-                       compatible = "stericsson,ux500-msp-i2s";
-                       reg = <0x80124000 0x1000>;
-                       interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>;
-                       v-ape-supply = <&db8500_vape_reg>;
-                       status = "disabled";
-               };
-
-               // HDMI sound
-               msp2: msp@80117000 {
-                       compatible = "stericsson,ux500-msp-i2s";
-                       reg = <0x80117000 0x1000>;
-                       interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>;
-                       v-ape-supply = <&db8500_vape_reg>;
-                       status = "disabled";
-               };
-
-               msp3: msp@80125000 {
-                       compatible = "stericsson,ux500-msp-i2s";
-                       reg = <0x80125000 0x1000>;
-                       interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>;
-                       v-ape-supply = <&db8500_vape_reg>;
-                       status = "disabled";
-               };
-
-               external-bus@50000000 {
-                       compatible = "simple-bus";
-                       reg = <0x50000000 0x4000000>;
-                       #address-cells = <1>;
-                       #size-cells = <1>;
-                       ranges = <0 0x50000000 0x4000000>;
-                       status = "disabled";
-               };
-
-               cpufreq-cooling {
-                       compatible = "stericsson,db8500-cpufreq-cooling";
-                       status = "disabled";
-                };
-
-               vmmci: regulator-gpio {
-                       compatible = "regulator-gpio";
-
-                       regulator-min-microvolt = <1800000>;
-                       regulator-max-microvolt = <2900000>;
-                       regulator-name = "mmci-reg";
-                       regulator-type = "voltage";
-
-                       startup-delay-us = <100>;
-                       enable-active-high;
-
-                       states = <1800000 0x1
-                                 2900000 0x0>;
-
-                       status = "disabled";
-               };
-
-               cryp@a03cb000 {
-                       compatible = "stericsson,ux500-cryp";
-                       reg = <0xa03cb000 0x1000>;
-                       interrupts = <0 15 IRQ_TYPE_LEVEL_HIGH>;
-
-                       v-ape-supply = <&db8500_vape_reg>;
-               };
-
-               hash@a03c2000 {
-                       compatible = "stericsson,ux500-hash";
-                       reg = <0xa03c2000 0x1000>;
-
-                       v-ape-supply = <&db8500_vape_reg>;
-               };
-       };
-};
diff --git a/arch/arm/boot/dts/emev2-kzm9d-reference.dts b/arch/arm/boot/dts/emev2-kzm9d-reference.dts
new file mode 100644 (file)
index 0000000..bed676b
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * Device Tree Source for the KZM9D board
+ *
+ * Copyright (C) 2013 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.
+ */
+/dts-v1/;
+
+/include/ "emev2.dtsi"
+
+/ {
+       model = "EMEV2 KZM9D Board";
+       compatible = "renesas,kzm9d-reference", "renesas,emev2";
+
+       memory {
+               device_type = "memory";
+               reg = <0x40000000 0x8000000>;
+       };
+
+       chosen {
+               bootargs = "console=ttyS1,115200n81 ignore_loglevel root=/dev/nfs ip=dhcp nfsroot=,rsize=4096,wsize=4096";
+       };
+
+       reg_1p8v: regulator@0 {
+               compatible = "regulator-fixed";
+               regulator-name = "fixed-1.8V";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+               regulator-always-on;
+               regulator-boot-on;
+       };
+
+       reg_3p3v: regulator@1 {
+               compatible = "regulator-fixed";
+               regulator-name = "fixed-3.3V";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-always-on;
+               regulator-boot-on;
+       };
+
+       lan9220@20000000 {
+               compatible = "smsc,lan9220", "smsc,lan9115";
+               reg = <0x20000000 0x10000>;
+               phy-mode = "mii";
+               interrupt-parent = <&gpio0>;
+               interrupts = <1 1>;     /* active high */
+               reg-io-width = <4>;
+               smsc,irq-active-high;
+               smsc,irq-push-pull;
+               vddvario-supply = <&reg_1p8v>;
+               vdd33a-supply = <&reg_3p3v>;
+       };
+};
index b9b3241f173b5c9568c3d65c91cf95ad278330ff..dda13bc02f9f81406aa7bd8c732a9c2db62cf359 100644 (file)
@@ -21,6 +21,6 @@
        };
 
        chosen {
-               bootargs = "console=tty0 console=ttyS1,115200n81 earlyprintk=serial8250-em.1,115200n81 mem=128M@0x40000000 ignore_loglevel root=/dev/nfs ip=dhcp nfsroot=,rsize=4096,wsize=4096";
+               bootargs = "console=ttyS1,115200n81 ignore_loglevel root=/dev/nfs ip=dhcp nfsroot=,rsize=4096,wsize=4096";
        };
 };
index c8a8c08b48ddc8608f4686150b6e1280a5f33dd3..99ad2b2e8e140f084596aa52df688260fc07db56 100644 (file)
        compatible = "renesas,emev2";
        interrupt-parent = <&gic>;
 
+       aliases {
+               gpio0 = &gpio0;
+               gpio1 = &gpio1;
+               gpio2 = &gpio2;
+               gpio3 = &gpio3;
+               gpio4 = &gpio4;
+       };
+
        cpus {
                #address-cells = <1>;
                #size-cells = <0>;
                reg = <0xe1050000 0x38>;
                interrupts = <0 11 0>;
        };
+
+       gpio0: gpio@e0050000 {
+               compatible = "renesas,em-gio";
+               reg = <0xe0050000 0x2c>, <0xe0050040 0x20>;
+               interrupts = <0 67 0>, <0 68 0>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               ngpios = <32>;
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+       gpio1: gpio@e0050080 {
+               compatible = "renesas,em-gio";
+               reg = <0xe0050080 0x2c>, <0xe00500c0 0x20>;
+               interrupts = <0 69 0>, <0 70 0>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               ngpios = <32>;
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+       gpio2: gpio@e0050100 {
+               compatible = "renesas,em-gio";
+               reg = <0xe0050100 0x2c>, <0xe0050140 0x20>;
+               interrupts = <0 71 0>, <0 72 0>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               ngpios = <32>;
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+       gpio3: gpio@e0050180 {
+               compatible = "renesas,em-gio";
+               reg = <0xe0050180 0x2c>, <0xe00501c0 0x20>;
+               interrupts = <0 73 0>, <0 74 0>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               ngpios = <32>;
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+       gpio4: gpio@e0050200 {
+               compatible = "renesas,em-gio";
+               reg = <0xe0050200 0x2c>, <0xe0050240 0x20>;
+               interrupts = <0 75 0>, <0 76 0>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               ngpios = <31>;
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
 };
index 3f94fe8e3706b2fdff261445c0fccdf245ba5f97..93c2501391591ee32130b18ed2d371bffdcff038 100644 (file)
                i2c5 = &i2c_5;
                i2c6 = &i2c_6;
                i2c7 = &i2c_7;
+               csis0 = &csis_0;
+               csis1 = &csis_1;
+               fimc0 = &fimc_0;
+               fimc1 = &fimc_1;
+               fimc2 = &fimc_2;
+               fimc3 = &fimc_3;
        };
 
        chipid@10000000 {
                reg = <0x10010000 0x400>;
        };
 
+       camera {
+               compatible = "samsung,fimc", "simple-bus";
+               status = "disabled";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               clock_cam: clock-controller {
+                        #clock-cells = <1>;
+               };
+
+               fimc_0: fimc@11800000 {
+                       compatible = "samsung,exynos4210-fimc";
+                       reg = <0x11800000 0x1000>;
+                       interrupts = <0 84 0>;
+                       clocks = <&clock 256>, <&clock 128>;
+                       clock-names = "fimc", "sclk_fimc";
+                       samsung,power-domain = <&pd_cam>;
+                       samsung,sysreg = <&sys_reg>;
+                       status = "disabled";
+               };
+
+               fimc_1: fimc@11810000 {
+                       compatible = "samsung,exynos4210-fimc";
+                       reg = <0x11810000 0x1000>;
+                       interrupts = <0 85 0>;
+                       clocks = <&clock 257>, <&clock 129>;
+                       clock-names = "fimc", "sclk_fimc";
+                       samsung,power-domain = <&pd_cam>;
+                       samsung,sysreg = <&sys_reg>;
+                       status = "disabled";
+               };
+
+               fimc_2: fimc@11820000 {
+                       compatible = "samsung,exynos4210-fimc";
+                       reg = <0x11820000 0x1000>;
+                       interrupts = <0 86 0>;
+                       clocks = <&clock 258>, <&clock 130>;
+                       clock-names = "fimc", "sclk_fimc";
+                       samsung,power-domain = <&pd_cam>;
+                       samsung,sysreg = <&sys_reg>;
+                       status = "disabled";
+               };
+
+               fimc_3: fimc@11830000 {
+                       compatible = "samsung,exynos4210-fimc";
+                       reg = <0x11830000 0x1000>;
+                       interrupts = <0 87 0>;
+                       clocks = <&clock 259>, <&clock 131>;
+                       clock-names = "fimc", "sclk_fimc";
+                       samsung,power-domain = <&pd_cam>;
+                       samsung,sysreg = <&sys_reg>;
+                       status = "disabled";
+               };
+
+               csis_0: csis@11880000 {
+                       compatible = "samsung,exynos4210-csis";
+                       reg = <0x11880000 0x4000>;
+                       interrupts = <0 78 0>;
+                       clocks = <&clock 260>, <&clock 134>;
+                       clock-names = "csis", "sclk_csis";
+                       bus-width = <4>;
+                       samsung,power-domain = <&pd_cam>;
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+
+               csis_1: csis@11890000 {
+                       compatible = "samsung,exynos4210-csis";
+                       reg = <0x11890000 0x4000>;
+                       interrupts = <0 80 0>;
+                       clocks = <&clock 261>, <&clock 135>;
+                       clock-names = "csis", "sclk_csis";
+                       bus-width = <2>;
+                       samsung,power-domain = <&pd_cam>;
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+       };
+
        watchdog@10060000 {
                compatible = "samsung,s3c2410-wdt";
                reg = <0x10060000 0x100>;
                status = "disabled";
        };
 
+       ehci@12580000 {
+               compatible = "samsung,exynos4210-ehci";
+               reg = <0x12580000 0x100>;
+               interrupts = <0 70 0>;
+               clocks = <&clock 304>;
+               clock-names = "usbhost";
+               status = "disabled";
+       };
+
+       ohci@12590000 {
+               compatible = "samsung,exynos4210-ohci";
+               reg = <0x12590000 0x100>;
+               interrupts = <0 70 0>;
+               clocks = <&clock 304>;
+               clock-names = "usbhost";
+               status = "disabled";
+       };
+
        mfc: codec@13400000 {
                compatible = "samsung,mfc-v5";
                reg = <0x13400000 0x10000>;
                interrupts = <0 94 0>;
                samsung,power-domain = <&pd_mfc>;
-               clocks = <&clock 170>, <&clock 273>;
-               clock-names = "sclk_mfc", "mfc";
+               clocks = <&clock 273>;
+               clock-names = "mfc";
                status = "disabled";
        };
 
                compatible = "samsung,exynos4210-spi";
                reg = <0x13920000 0x100>;
                interrupts = <0 66 0>;
-               tx-dma-channel = <&pdma0 7>; /* preliminary */
-               rx-dma-channel = <&pdma0 6>; /* preliminary */
+               dmas = <&pdma0 7>, <&pdma0 6>;
+               dma-names = "tx", "rx";
                #address-cells = <1>;
                #size-cells = <0>;
                clocks = <&clock 327>, <&clock 159>;
                compatible = "samsung,exynos4210-spi";
                reg = <0x13930000 0x100>;
                interrupts = <0 67 0>;
-               tx-dma-channel = <&pdma1 7>; /* preliminary */
-               rx-dma-channel = <&pdma1 6>; /* preliminary */
+               dmas = <&pdma1 7>, <&pdma1 6>;
+               dma-names = "tx", "rx";
                #address-cells = <1>;
                #size-cells = <0>;
                clocks = <&clock 328>, <&clock 160>;
                compatible = "samsung,exynos4210-spi";
                reg = <0x13940000 0x100>;
                interrupts = <0 68 0>;
-               tx-dma-channel = <&pdma0 9>; /* preliminary */
-               rx-dma-channel = <&pdma0 8>; /* preliminary */
+               dmas = <&pdma0 9>, <&pdma0 8>;
+               dma-names = "tx", "rx";
                #address-cells = <1>;
                #size-cells = <0>;
                clocks = <&clock 329>, <&clock 161>;
index 553bceae8967cd8bcb211693b1656f6ebbc5f3ca..a7c2128916743b1d0d0dcbd2f373ae4d8ac3b742 100644 (file)
                        samsung,pin-pud = <0>;
                        samsung,pin-drv = <0>;
                };
+
+               cam_port_a_io: cam-port-a-io {
+                       samsung,pins = "gpj0-0", "gpj0-1", "gpj0-2", "gpj0-3",
+                                       "gpj0-4", "gpj0-5", "gpj0-6", "gpj0-7",
+                                       "gpj1-0", "gpj1-1", "gpj1-2", "gpj1-4";
+                       samsung,pin-function = <2>;
+                       samsung,pin-pud = <0>;
+                       samsung,pin-drv = <0>;
+               };
+
+               cam_port_a_clk_active: cam-port-a-clk-active {
+                       samsung,pins = "gpj1-3";
+                       samsung,pin-function = <2>;
+                       samsung,pin-pud = <0>;
+                       samsung,pin-drv = <3>;
+               };
+
+               cam_port_a_clk_idle: cam-port-a-clk-idle {
+                       samsung,pins = "gpj1-3";
+                       samsung,pin-function = <0>;
+                       samsung,pin-pud = <1>;
+                       samsung,pin-drv = <0>;
+               };
        };
 
        pinctrl@03860000 {
index 94eebffe304484e2918ad96fd4bfc1bdf3a3bd61..1c164f234bcca89892c7a05fa3d8012a86cffd22 100644 (file)
                bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p5 rootwait earlyprintk panic=5";
        };
 
-       vemmc_reg: voltage-regulator@0 {
-               compatible = "regulator-fixed";
-               regulator-name = "VMEM_VDD_2.8V";
-               regulator-min-microvolt = <2800000>;
-               regulator-max-microvolt = <2800000>;
-               gpio = <&gpk0 2 0>;
-               enable-active-high;
+       regulators {
+               compatible = "simple-bus";
+
+               vemmc_reg: regulator-0 {
+                       compatible = "regulator-fixed";
+                       regulator-name = "VMEM_VDD_2.8V";
+                       regulator-min-microvolt = <2800000>;
+                       regulator-max-microvolt = <2800000>;
+                       gpio = <&gpk0 2 0>;
+                       enable-active-high;
+               };
+
+               tsp_reg: regulator-1 {
+                       compatible = "regulator-fixed";
+                       regulator-name = "TSP_FIXED_VOLTAGES";
+                       regulator-min-microvolt = <2800000>;
+                       regulator-max-microvolt = <2800000>;
+                       gpio = <&gpl0 3 0>;
+                       enable-active-high;
+               };
+
+               cam_af_28v_reg: regulator-2 {
+                       compatible = "regulator-fixed";
+                       regulator-name = "8M_AF_2.8V_EN";
+                       regulator-min-microvolt = <2800000>;
+                       regulator-max-microvolt = <2800000>;
+                       gpio = <&gpk1 1 0>;
+                       enable-active-high;
+               };
+
+               cam_io_en_reg: regulator-3 {
+                       compatible = "regulator-fixed";
+                       regulator-name = "CAM_IO_EN";
+                       regulator-min-microvolt = <2800000>;
+                       regulator-max-microvolt = <2800000>;
+                       gpio = <&gpe2 1 0>;
+                       enable-active-high;
+               };
+
+               cam_io_12v_reg: regulator-4 {
+                       compatible = "regulator-fixed";
+                       regulator-name = "8M_1.2V_EN";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       gpio = <&gpe2 5 0>;
+                       enable-active-high;
+               };
+
+               vt_core_15v_reg: regulator-5 {
+                       compatible = "regulator-fixed";
+                       regulator-name = "VT_CORE_1.5V";
+                       regulator-min-microvolt = <1500000>;
+                       regulator-max-microvolt = <1500000>;
+                       gpio = <&gpe2 2 0>;
+                       enable-active-high;
+               };
        };
 
        sdhci_emmc: sdhci@12510000 {
                };
        };
 
-       tsp_reg: voltage-regulator {
-               compatible = "regulator-fixed";
-               regulator-name = "TSP_FIXED_VOLTAGES";
-               regulator-min-microvolt = <2800000>;
-               regulator-max-microvolt = <2800000>;
-               gpio = <&gpl0 3 0>;
-               enable-active-high;
-       };
-
        i2c@13890000 {
                samsung,i2c-sda-delay = <100>;
                samsung,i2c-slave-addr = <0x10>;
                                     regulator-always-on;
                                };
 
+                               vtcam_reg: LDO12 {
+                                    regulator-name = "VT_CAM_1.8V";
+                                    regulator-min-microvolt = <1800000>;
+                                    regulator-max-microvolt = <1800000>;
+                               };
+
                                vcclcd_reg: LDO13 {
                                     regulator-name = "VCC_3.3V_LCD";
                                     regulator-min-microvolt = <3300000>;
                        clock-frequency = <24000000>;
                };
        };
+
+       camera {
+               pinctrl-names = "default";
+               pinctrl-0 = <>;
+               status = "okay";
+
+               fimc_0: fimc@11800000 {
+                       status = "okay";
+               };
+
+               fimc_1: fimc@11810000 {
+                       status = "okay";
+               };
+
+               fimc_2: fimc@11820000 {
+                       status = "okay";
+               };
+
+               fimc_3: fimc@11830000 {
+                       status = "okay";
+               };
+       };
 };
index 53e25273ca748c039a62e6bcad3f3904b7860161..057d6829d31998632a350ad3fd22a4a7bc639a18 100644 (file)
                clock-names = "sclk_fimg2d", "fimg2d";
                status = "disabled";
        };
+
+       camera {
+               clocks = <&clock 132>, <&clock 133>, <&clock 351>, <&clock 352>;
+               clock-names = "sclk_cam0", "sclk_cam1", "pxl_async0", "pxl_async1";
+
+               fimc_0: fimc@11800000 {
+                       samsung,pix-limits = <4224 8192 1920 4224>;
+                       samsung,mainscaler-ext;
+                       samsung,cam-if;
+               };
+
+               fimc_1: fimc@11810000 {
+                       samsung,pix-limits = <4224 8192 1920 4224>;
+                       samsung,mainscaler-ext;
+                       samsung,cam-if;
+               };
+
+               fimc_2: fimc@11820000 {
+                       samsung,pix-limits = <4224 8192 1920 4224>;
+                       samsung,mainscaler-ext;
+                       samsung,lcd-wb;
+               };
+
+               fimc_3: fimc@11830000 {
+                       samsung,pix-limits = <1920 8192 1366 1920>;
+                       samsung,rotators = <0>;
+                       samsung,mainscaler-ext;
+                       samsung,lcd-wb;
+               };
+       };
 };
index 7993641cb32a4f8c170793b1964df75d798aa9ed..8768b03702e5a14c3ebf742677a03e0b76082a42 100644 (file)
                bootargs ="console=ttySAC2,115200";
        };
 
+       firmware@0203F000 {
+               compatible = "samsung,secure-firmware";
+               reg = <0x0203F000 0x1000>;
+       };
+
        mmc_reg: voltage-regulator {
                compatible = "regulator-fixed";
                regulator-name = "VMEM_VDD_2.8V";
diff --git a/arch/arm/boot/dts/exynos4412-trats2.dts b/arch/arm/boot/dts/exynos4412-trats2.dts
new file mode 100644 (file)
index 0000000..fb7b9ae
--- /dev/null
@@ -0,0 +1,579 @@
+/*
+ * Samsung's Exynos4412 based Trats 2 board device tree source
+ *
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
+ *             http://www.samsung.com
+ *
+ * Device tree source file for Samsung's Trats 2 board which is based on
+ * Samsung's Exynos4412 SoC.
+ *
+ * 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.
+*/
+
+/dts-v1/;
+#include "exynos4412.dtsi"
+
+/ {
+       model = "Samsung Trats 2 based on Exynos4412";
+       compatible = "samsung,trats2", "samsung,exynos4412";
+
+       aliases {
+               i2c8 = &i2c_ak8975;
+       };
+
+       memory {
+               reg =  <0x40000000 0x40000000>;
+       };
+
+       chosen {
+               bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p5 rootwait earlyprintk panic=5";
+       };
+
+       firmware@0204F000 {
+               compatible = "samsung,secure-firmware";
+               reg = <0x0204F000 0x1000>;
+       };
+
+       fixed-rate-clocks {
+               xxti {
+                       compatible = "samsung,clock-xxti", "fixed-clock";
+                       clock-frequency = <0>;
+               };
+
+               xusbxti {
+                       compatible = "samsung,clock-xusbxti", "fixed-clock";
+                       clock-frequency = <24000000>;
+               };
+       };
+
+       regulators {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               vemmc_reg: regulator-0 {
+                       compatible = "regulator-fixed";
+                       regulator-name = "VMEM_VDD_2.8V";
+                       regulator-min-microvolt = <2800000>;
+                       regulator-max-microvolt = <2800000>;
+                       gpio = <&gpk0 2 0>;
+                       enable-active-high;
+               };
+
+               cam_io_reg: voltage-regulator-1 {
+                       compatible = "regulator-fixed";
+                       regulator-name = "CAM_SENSOR_A";
+                       regulator-min-microvolt = <2800000>;
+                       regulator-max-microvolt = <2800000>;
+                       gpio = <&gpm0 2 0>;
+                       enable-active-high;
+               };
+
+               /* More to come */
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+
+               key-down {
+                       interrupt-parent = <&gpj1>;
+                       interrupts = <2 0>;
+                       gpios = <&gpj1 2 1>;
+                       linux,code = <114>;
+                       label = "volume down";
+                       debounce-interval = <10>;
+               };
+
+               key-up {
+                       interrupt-parent = <&gpj1>;
+                       interrupts = <1 0>;
+                       gpios = <&gpj1 1 1>;
+                       linux,code = <115>;
+                       label = "volume up";
+                       debounce-interval = <10>;
+               };
+
+               key-power {
+                       interrupt-parent = <&gpx2>;
+                       interrupts = <7 0>;
+                       gpios = <&gpx2 7 1>;
+                       linux,code = <116>;
+                       label = "power";
+                       debounce-interval = <10>;
+                       gpio-key,wakeup;
+               };
+       };
+
+       i2c@13890000 {
+               samsung,i2c-sda-delay = <100>;
+               samsung,i2c-slave-addr = <0x10>;
+               samsung,i2c-max-bus-freq = <400000>;
+               pinctrl-0 = <&i2c3_bus>;
+               pinctrl-names = "default";
+               status = "okay";
+
+               mms114-touchscreen@48 {
+                       compatible = "melfas,mms114";
+                       reg = <0x48>;
+                       interrupt-parent = <&gpm2>;
+                       interrupts = <3 2>;
+                       x-size = <720>;
+                       y-size = <1280>;
+                       avdd-supply = <&ldo23_reg>;
+                       vdd-supply = <&ldo24_reg>;
+               };
+       };
+
+       i2c@138D0000 {
+               samsung,i2c-sda-delay = <100>;
+               samsung,i2c-slave-addr = <0x10>;
+               samsung,i2c-max-bus-freq = <100000>;
+               pinctrl-0 = <&i2c7_bus>;
+               pinctrl-names = "default";
+               status = "okay";
+
+               max77686_pmic@09 {
+                       compatible = "maxim,max77686";
+                       interrupt-parent = <&gpx0>;
+                       interrupts = <7 0>;
+                       reg = <0x09>;
+
+                       voltage-regulators {
+                               ldo1_reg: ldo1 {
+                                       regulator-compatible = "LDO1";
+                                       regulator-name = "VALIVE_1.0V_AP";
+                                       regulator-min-microvolt = <1000000>;
+                                       regulator-max-microvolt = <1000000>;
+                                       regulator-always-on;
+                                       regulator-mem-on;
+                               };
+
+                               ldo2_reg: ldo2 {
+                                       regulator-compatible = "LDO2";
+                                       regulator-name = "VM1M2_1.2V_AP";
+                                       regulator-min-microvolt = <1200000>;
+                                       regulator-max-microvolt = <1200000>;
+                                       regulator-always-on;
+                                       regulator-mem-on;
+                               };
+
+                               ldo3_reg: ldo3 {
+                                       regulator-compatible = "LDO3";
+                                       regulator-name = "VCC_1.8V_AP";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-always-on;
+                                       regulator-mem-on;
+                               };
+
+                               ldo4_reg: ldo4 {
+                                       regulator-compatible = "LDO4";
+                                       regulator-name = "VCC_2.8V_AP";
+                                       regulator-min-microvolt = <2800000>;
+                                       regulator-max-microvolt = <2800000>;
+                                       regulator-always-on;
+                                       regulator-mem-on;
+                               };
+
+                               ldo5_reg: ldo5 {
+                                       regulator-compatible = "LDO5";
+                                       regulator-name = "VCC_1.8V_IO";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-always-on;
+                                       regulator-mem-on;
+                               };
+
+                               ldo6_reg: ldo6 {
+                                       regulator-compatible = "LDO6";
+                                       regulator-name = "VMPLL_1.0V_AP";
+                                       regulator-min-microvolt = <1000000>;
+                                       regulator-max-microvolt = <1000000>;
+                                       regulator-always-on;
+                                       regulator-mem-on;
+                               };
+
+                               ldo7_reg: ldo7 {
+                                       regulator-compatible = "LDO7";
+                                       regulator-name = "VPLL_1.0V_AP";
+                                       regulator-min-microvolt = <1000000>;
+                                       regulator-max-microvolt = <1000000>;
+                                       regulator-always-on;
+                                       regulator-mem-on;
+                               };
+
+                               ldo8_reg: ldo8 {
+                                       regulator-compatible = "LDO8";
+                                       regulator-name = "VMIPI_1.0V";
+                                       regulator-min-microvolt = <1000000>;
+                                       regulator-max-microvolt = <1000000>;
+                                       regulator-mem-off;
+                               };
+
+                               ldo9_reg: ldo9 {
+                                       regulator-compatible = "LDO9";
+                                       regulator-name = "CAM_ISP_MIPI_1.2V";
+                                       regulator-min-microvolt = <1200000>;
+                                       regulator-max-microvolt = <1200000>;
+                                       regulator-mem-idle;
+                               };
+
+                               ldo10_reg: ldo10 {
+                                       regulator-compatible = "LDO10";
+                                       regulator-name = "VMIPI_1.8V";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-mem-off;
+                               };
+
+                               ldo11_reg: ldo11 {
+                                       regulator-compatible = "LDO11";
+                                       regulator-name = "VABB1_1.95V";
+                                       regulator-min-microvolt = <1950000>;
+                                       regulator-max-microvolt = <1950000>;
+                                       regulator-always-on;
+                                       regulator-mem-off;
+                               };
+
+                               ldo12_reg: ldo12 {
+                                       regulator-compatible = "LDO12";
+                                       regulator-name = "VUOTG_3.0V";
+                                       regulator-min-microvolt = <3000000>;
+                                       regulator-max-microvolt = <3000000>;
+                                       regulator-mem-off;
+                               };
+
+                               ldo13_reg: ldo13 {
+                                       regulator-compatible = "LDO13";
+                                       regulator-name = "NFC_AVDD_1.8V";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-mem-idle;
+                               };
+
+                               ldo14_reg: ldo14 {
+                                       regulator-compatible = "LDO14";
+                                       regulator-name = "VABB2_1.95V";
+                                       regulator-min-microvolt = <1950000>;
+                                       regulator-max-microvolt = <1950000>;
+                                       regulator-always-on;
+                                       regulator-mem-off;
+                               };
+
+                               ldo15_reg: ldo15 {
+                                       regulator-compatible = "LDO15";
+                                       regulator-name = "VHSIC_1.0V";
+                                       regulator-min-microvolt = <1000000>;
+                                       regulator-max-microvolt = <1000000>;
+                                       regulator-mem-off;
+                               };
+
+                               ldo16_reg: ldo16 {
+                                       regulator-compatible = "LDO16";
+                                       regulator-name = "VHSIC_1.8V";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-mem-off;
+                               };
+
+                               ldo17_reg: ldo17 {
+                                       regulator-compatible = "LDO17";
+                                       regulator-name = "CAM_SENSOR_CORE_1.2V";
+                                       regulator-min-microvolt = <1200000>;
+                                       regulator-max-microvolt = <1200000>;
+                                       regulator-mem-idle;
+                               };
+
+                               ldo18_reg: ldo18 {
+                                       regulator-compatible = "LDO18";
+                                       regulator-name = "CAM_ISP_SEN_IO_1.8V";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-mem-idle;
+                               };
+
+                               ldo19_reg: ldo19 {
+                                       regulator-compatible = "LDO19";
+                                       regulator-name = "VT_CAM_1.8V";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-mem-idle;
+                               };
+
+                               ldo20_reg: ldo20 {
+                                       regulator-compatible = "LDO20";
+                                       regulator-name = "VDDQ_PRE_1.8V";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-mem-idle;
+                               };
+
+                               ldo21_reg: ldo21 {
+                                       regulator-compatible = "LDO21";
+                                       regulator-name = "VTF_2.8V";
+                                       regulator-min-microvolt = <2800000>;
+                                       regulator-max-microvolt = <2800000>;
+                                       regulator-mem-idle;
+                               };
+
+                               ldo22_reg: ldo22 {
+                                       regulator-compatible = "LDO22";
+                                       regulator-name = "VMEM_VDD_2.8V";
+                                       regulator-min-microvolt = <2800000>;
+                                       regulator-max-microvolt = <2800000>;
+                                       regulator-always-on;
+                                       regulator-mem-off;
+                               };
+
+                               ldo23_reg: ldo23 {
+                                       regulator-compatible = "LDO23";
+                                       regulator-name = "TSP_AVDD_3.3V";
+                                       regulator-min-microvolt = <3300000>;
+                                       regulator-max-microvolt = <3300000>;
+                                       regulator-mem-idle;
+                               };
+
+                               ldo24_reg: ldo24 {
+                                       regulator-compatible = "LDO24";
+                                       regulator-name = "TSP_VDD_1.8V";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-mem-idle;
+                               };
+
+                               ldo25_reg: ldo25 {
+                                       regulator-compatible = "LDO25";
+                                       regulator-name = "LCD_VCC_3.3V";
+                                       regulator-min-microvolt = <2800000>;
+                                       regulator-max-microvolt = <2800000>;
+                                       regulator-mem-idle;
+                               };
+
+                               ldo26_reg: ldo26 {
+                                       regulator-compatible = "LDO26";
+                                       regulator-name = "MOTOR_VCC_3.0V";
+                                       regulator-min-microvolt = <3000000>;
+                                       regulator-max-microvolt = <3000000>;
+                                       regulator-mem-idle;
+                               };
+
+                               buck1_reg: buck1 {
+                                       regulator-compatible = "BUCK1";
+                                       regulator-name = "vdd_mif";
+                                       regulator-min-microvolt = <850000>;
+                                       regulator-max-microvolt = <1100000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                                       regulator-mem-off;
+                               };
+
+                               buck2_reg: buck2 {
+                                       regulator-compatible = "BUCK2";
+                                       regulator-name = "vdd_arm";
+                                       regulator-min-microvolt = <850000>;
+                                       regulator-max-microvolt = <1500000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                                       regulator-mem-off;
+                               };
+
+                               buck3_reg: buck3 {
+                                       regulator-compatible = "BUCK3";
+                                       regulator-name = "vdd_int";
+                                       regulator-min-microvolt = <850000>;
+                                       regulator-max-microvolt = <1150000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                                       regulator-mem-off;
+                               };
+
+                               buck4_reg: buck4 {
+                                       regulator-compatible = "BUCK4";
+                                       regulator-name = "vdd_g3d";
+                                       regulator-min-microvolt = <850000>;
+                                       regulator-max-microvolt = <1150000>;
+                                       regulator-boot-on;
+                                       regulator-mem-off;
+                               };
+
+                               buck5_reg: buck5 {
+                                       regulator-compatible = "BUCK5";
+                                       regulator-name = "VMEM_1.2V_AP";
+                                       regulator-min-microvolt = <1200000>;
+                                       regulator-max-microvolt = <1200000>;
+                                       regulator-always-on;
+                               };
+
+                               buck6_reg: buck6 {
+                                       regulator-compatible = "BUCK6";
+                                       regulator-name = "VCC_SUB_1.35V";
+                                       regulator-min-microvolt = <1350000>;
+                                       regulator-max-microvolt = <1350000>;
+                                       regulator-always-on;
+                               };
+
+                               buck7_reg: buck7 {
+                                       regulator-compatible = "BUCK7";
+                                       regulator-name = "VCC_SUB_2.0V";
+                                       regulator-min-microvolt = <2000000>;
+                                       regulator-max-microvolt = <2000000>;
+                                       regulator-always-on;
+                               };
+
+                               buck8_reg: buck8 {
+                                       regulator-compatible = "BUCK8";
+                                       regulator-name = "VMEM_VDDF_3.0V";
+                                       regulator-min-microvolt = <2850000>;
+                                       regulator-max-microvolt = <2850000>;
+                                       regulator-always-on;
+                                       regulator-mem-off;
+                               };
+
+                               buck9_reg: buck9 {
+                                       regulator-compatible = "BUCK9";
+                                       regulator-name = "CAM_ISP_CORE_1.2V";
+                                       regulator-min-microvolt = <1000000>;
+                                       regulator-max-microvolt = <1200000>;
+                                       regulator-mem-off;
+                               };
+                       };
+               };
+       };
+
+       sdhci@12510000 {
+               bus-width = <8>;
+               non-removable;
+               pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
+               pinctrl-names = "default";
+               vmmc-supply = <&vemmc_reg>;
+               status = "okay";
+       };
+
+       serial@13800000 {
+               status = "okay";
+       };
+
+       serial@13810000 {
+               status = "okay";
+       };
+
+       serial@13820000 {
+               status = "okay";
+       };
+
+       serial@13830000 {
+               status = "okay";
+       };
+
+       i2c_ak8975: i2c-gpio-0 {
+               compatible = "i2c-gpio";
+               gpios = <&gpy2 4 0>, <&gpy2 5 0>;
+               i2c-gpio,delay-us = <2>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               status = "okay";
+
+               ak8975@0c {
+                       compatible = "ak,ak8975";
+                       reg = <0x0c>;
+                       gpios = <&gpj0 7 0>;
+               };
+       };
+
+       spi_1: spi@13930000 {
+               pinctrl-names = "default";
+               pinctrl-0 = <&spi1_bus>;
+               status = "okay";
+
+               s5c73m3_spi: s5c73m3 {
+                       compatible = "samsung,s5c73m3";
+                       spi-max-frequency = <50000000>;
+                       reg = <0>;
+                       controller-data {
+                               cs-gpio = <&gpb 5 0>;
+                               samsung,spi-feedback-delay = <2>;
+                       };
+               };
+       };
+
+       camera {
+               pinctrl-0 = <&cam_port_b_clk_active>;
+               pinctrl-names = "default";
+               status = "okay";
+
+               fimc_0: fimc@11800000 {
+                       status = "okay";
+               };
+
+               fimc_1: fimc@11810000 {
+                       status = "okay";
+               };
+
+               fimc_2: fimc@11820000 {
+                       status = "okay";
+               };
+
+               fimc_3: fimc@11830000 {
+                       status = "okay";
+               };
+
+               csis_1: csis@11890000 {
+                       vddcore-supply = <&ldo8_reg>;
+                       vddio-supply = <&ldo10_reg>;
+                       clock-frequency = <160000000>;
+                       status = "okay";
+
+                       /* Camera D (4) MIPI CSI-2 (CSIS1) */
+                       port@4 {
+                               reg = <4>;
+                               csis1_ep: endpoint {
+                                       remote-endpoint = <&is_s5k6a3_ep>;
+                                       data-lanes = <1>;
+                                       samsung,csis-hs-settle = <18>;
+                                       samsung,csis-wclk;
+                               };
+                       };
+               };
+
+               fimc_lite_0: fimc-lite@12390000 {
+                       status = "okay";
+               };
+
+               fimc_lite_1: fimc-lite@123A0000 {
+                       status = "okay";
+               };
+
+               fimc-is@12000000 {
+                       pinctrl-0 = <&fimc_is_uart>;
+                       pinctrl-names = "default";
+                       status = "okay";
+
+                       i2c1_isp: i2c-isp@12140000 {
+                               pinctrl-0 = <&fimc_is_i2c1>;
+                               pinctrl-names = "default";
+
+                               s5k6a3@10 {
+                                       compatible = "samsung,s5k6a3";
+                                       reg = <0x10>;
+                                       svdda-supply = <&cam_io_reg>;
+                                       svddio-supply = <&ldo19_reg>;
+                                       clock-frequency = <24000000>;
+                                       /* CAM_B_CLKOUT */
+                                       clocks = <&clock_cam 1>;
+                                       clock-names = "mclk";
+                                       samsung,camclk-out = <1>;
+                                       gpios = <&gpm1 6 0>;
+
+                                       port {
+                                               is_s5k6a3_ep: endpoint {
+                                                       remote-endpoint = <&csis1_ep>;
+                                                       data-lanes = <1>;
+                                               };
+                                       };
+                               };
+                       };
+               };
+       };
+};
index 704290f7c5c099243957ccfd8cccbd25448b88b1..99b26df8dbc7e381effb4f17d86984ba633ce783 100644 (file)
                        samsung,pin-drv = <0>;
                };
 
-               cam_port_a: cam-port-a {
+               cam_port_a_io: cam-port-a-io {
                        samsung,pins = "gpj0-0", "gpj0-1", "gpj0-2", "gpj0-3",
                                        "gpj0-4", "gpj0-5", "gpj0-6", "gpj0-7",
-                                       "gpj1-0", "gpj1-1", "gpj1-2", "gpj1-3",
-                                       "gpj1-4";
+                                       "gpj1-0", "gpj1-1", "gpj1-2", "gpj1-4";
                        samsung,pin-function = <2>;
-                       samsung,pin-pud = <3>;
+                       samsung,pin-pud = <0>;
+                       samsung,pin-drv = <0>;
+               };
+
+               cam_port_a_clk_active: cam-port-a-clk-active {
+                       samsung,pins = "gpj1-3";
+                       samsung,pin-function = <2>;
+                       samsung,pin-pud = <0>;
+                       samsung,pin-drv = <3>;
+               };
+
+               cam_port_a_clk_idle: cam-port-a-clk-idle {
+                       samsung,pins = "gpj1-3";
+                       samsung,pin-function = <0>;
+                       samsung,pin-pud = <1>;
                        samsung,pin-drv = <0>;
                };
        };
                        samsung,pin-drv = <3>;
                };
 
-               cam_port_b: cam-port-b {
+               cam_port_b_io: cam-port-b-io {
                        samsung,pins = "gpm0-0", "gpm0-1", "gpm0-2", "gpm0-3",
                                        "gpm0-4", "gpm0-5", "gpm0-6", "gpm0-7",
-                                       "gpm1-0", "gpm1-1", "gpm2-0", "gpm2-1",
-                                       "gpm2-2";
+                                       "gpm1-0", "gpm1-1", "gpm2-0", "gpm2-1";
                        samsung,pin-function = <3>;
                        samsung,pin-pud = <3>;
                        samsung,pin-drv = <0>;
                };
 
+               cam_port_b_clk_active: cam-port-b-clk-active {
+                       samsung,pins = "gpm2-2";
+                       samsung,pin-function = <3>;
+                       samsung,pin-pud = <0>;
+                       samsung,pin-drv = <3>;
+               };
+
+               cam_port_b_clk_idle: cam-port-b-clk-idle {
+                       samsung,pins = "gpm2-2";
+                       samsung,pin-function = <0>;
+                       samsung,pin-pud = <1>;
+                       samsung,pin-drv = <0>;
+               };
+
                eint0: ext-int0 {
                        samsung,pins = "gpx0-0";
                        samsung,pin-function = <0xf>;
                        samsung,pin-pud = <0>;
                        samsung,pin-drv = <0>;
                };
+
+               fimc_is_i2c0: fimc-is-i2c0 {
+                       samsung,pins = "gpm4-0", "gpm4-1";
+                       samsung,pin-function = <2>;
+                       samsung,pin-pud = <0>;
+                       samsung,pin-drv = <0>;
+               };
+
+               fimc_is_i2c1: fimc-is-i2c1 {
+                       samsung,pins = "gpm4-2", "gpm4-3";
+                       samsung,pin-function = <2>;
+                       samsung,pin-pud = <0>;
+                       samsung,pin-drv = <0>;
+               };
+
+               fimc_is_uart: fimc-is-uart {
+                       samsung,pins = "gpm3-5", "gpm3-7";
+                       samsung,pin-function = <3>;
+                       samsung,pin-pud = <0>;
+                       samsung,pin-drv = <0>;
+               };
        };
 
        pinctrl@03860000 {
index 3aa2f060ba618770e13949e14ee3aed31eecb3ce..ad531fe6ab9528fdfcca50635bc4c833651db15b 100644 (file)
                pinctrl1 = &pinctrl_1;
                pinctrl2 = &pinctrl_2;
                pinctrl3 = &pinctrl_3;
+               fimc-lite0 = &fimc_lite_0;
+               fimc-lite1 = &fimc_lite_1;
+       };
+
+       pd_isp: isp-power-domain@10023CA0 {
+               compatible = "samsung,exynos4210-pd";
+               reg = <0x10023CA0 0x20>;
        };
 
        clock: clock-controller@10030000 {
                clock-names = "sclk_fimg2d", "fimg2d";
                status = "disabled";
        };
+
+       camera {
+               clocks = <&clock 132>, <&clock 133>, <&clock 351>, <&clock 352>;
+               clock-names = "sclk_cam0", "sclk_cam1", "pxl_async0", "pxl_async1";
+
+               fimc_0: fimc@11800000 {
+                       compatible = "samsung,exynos4212-fimc";
+                       samsung,pix-limits = <4224 8192 1920 4224>;
+                       samsung,mainscaler-ext;
+                       samsung,isp-wb;
+                       samsung,cam-if;
+               };
+
+               fimc_1: fimc@11810000 {
+                       compatible = "samsung,exynos4212-fimc";
+                       samsung,pix-limits = <4224 8192 1920 4224>;
+                       samsung,mainscaler-ext;
+                       samsung,isp-wb;
+                       samsung,cam-if;
+               };
+
+               fimc_2: fimc@11820000 {
+                       compatible = "samsung,exynos4212-fimc";
+                       samsung,pix-limits = <4224 8192 1920 4224>;
+                       samsung,mainscaler-ext;
+                       samsung,isp-wb;
+                       samsung,lcd-wb;
+                       samsung,cam-if;
+               };
+
+               fimc_3: fimc@11830000 {
+                       compatible = "samsung,exynos4212-fimc";
+                       samsung,pix-limits = <1920 8192 1366 1920>;
+                       samsung,rotators = <0>;
+                       samsung,mainscaler-ext;
+                       samsung,isp-wb;
+                       samsung,lcd-wb;
+               };
+
+               fimc_lite_0: fimc-lite@12390000 {
+                       compatible = "samsung,exynos4212-fimc-lite";
+                       reg = <0x12390000 0x1000>;
+                       interrupts = <0 105 0>;
+                       samsung,power-domain = <&pd_isp>;
+                       clocks = <&clock 353>;
+                       clock-names = "flite";
+                       status = "disabled";
+               };
+
+               fimc_lite_1: fimc-lite@123A0000 {
+                       compatible = "samsung,exynos4212-fimc-lite";
+                       reg = <0x123A0000 0x1000>;
+                       interrupts = <0 106 0>;
+                       samsung,power-domain = <&pd_isp>;
+                       clocks = <&clock 354>;
+                       clock-names = "flite";
+                       status = "disabled";
+               };
+
+               fimc_is: fimc-is@12000000 {
+                       compatible = "samsung,exynos4212-fimc-is", "simple-bus";
+                       reg = <0x12000000 0x260000>;
+                       interrupts = <0 90 0>, <0 95 0>;
+                       samsung,power-domain = <&pd_isp>;
+                       clocks = <&clock 353>, <&clock 354>, <&clock 355>,
+                               <&clock 356>, <&clock 17>, <&clock 357>,
+                               <&clock 358>, <&clock 359>, <&clock 360>,
+                               <&clock 450>,<&clock 451>, <&clock 452>,
+                               <&clock 453>, <&clock 176>, <&clock 13>,
+                               <&clock 454>, <&clock 395>, <&clock 455>;
+                       clock-names = "lite0", "lite1", "ppmuispx",
+                                     "ppmuispmx", "mpll", "isp",
+                                     "drc", "fd", "mcuisp",
+                                     "ispdiv0", "ispdiv1", "mcuispdiv0",
+                                     "mcuispdiv1", "uart", "aclk200",
+                                     "div_aclk200", "aclk400mcuisp",
+                                     "div_aclk400mcuisp";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+                       status = "disabled";
+
+                       pmu {
+                               reg = <0x10020000 0x3000>;
+                       };
+
+                       i2c1_isp: i2c-isp@12140000 {
+                               compatible = "samsung,exynos4212-i2c-isp";
+                               reg = <0x12140000 0x100>;
+                               clocks = <&clock 370>;
+                               clock-names = "i2c_isp";
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
+               };
+       };
 };
index f65e124c04a6901699823d72b7f372a178377f92..6afa57d2feccb15a35a0155e5d5a47dcb6e336f3 100644 (file)
                interrupts = <0 42 0>;
                status = "disabled";
        };
+
+       fimd@14400000 {
+               compatible = "samsung,exynos5250-fimd";
+               interrupt-parent = <&combiner>;
+               reg = <0x14400000 0x40000>;
+               interrupt-names = "fifo", "vsync", "lcd_sys";
+               interrupts = <18 4>, <18 5>, <18 6>;
+               status = "disabled";
+       };
+
+       dp-controller@145B0000 {
+               compatible = "samsung,exynos5-dp";
+               reg = <0x145B0000 0x1000>;
+               interrupts = <10 3>;
+               interrupt-parent = <&combiner>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               status = "disabled";
+       };
 };
index abc7272c7afd3be2a5b7875a3dcb180dd0c478d8..452d0b04d273274e6380e1712089e16e42f824ce 100644 (file)
@@ -11,6 +11,7 @@
 
 /dts-v1/;
 #include "exynos5250.dtsi"
+#include <dt-bindings/interrupt-controller/irq.h>
 
 / {
        model = "Insignal Arndale evaluation board based on EXYNOS5250";
                s5m8767_pmic@66 {
                        compatible = "samsung,s5m8767-pmic";
                        reg = <0x66>;
+                       interrupt-parent = <&gpx3>;
+                       interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
+
+                       vinb1-supply = <&main_dc_reg>;
+                       vinb2-supply = <&main_dc_reg>;
+                       vinb3-supply = <&main_dc_reg>;
+                       vinb4-supply = <&main_dc_reg>;
+                       vinb5-supply = <&main_dc_reg>;
+                       vinb6-supply = <&main_dc_reg>;
+                       vinb7-supply = <&main_dc_reg>;
+                       vinb8-supply = <&main_dc_reg>;
+                       vinb9-supply = <&main_dc_reg>;
+
+                       vinl1-supply = <&buck7_reg>;
+                       vinl2-supply = <&buck7_reg>;
+                       vinl3-supply = <&buck7_reg>;
+                       vinl4-supply = <&main_dc_reg>;
+                       vinl5-supply = <&main_dc_reg>;
+                       vinl6-supply = <&main_dc_reg>;
+                       vinl7-supply = <&main_dc_reg>;
+                       vinl8-supply = <&buck8_reg>;
+                       vinl9-supply = <&buck8_reg>;
 
                        s5m8767,pmic-buck2-dvs-voltage = <1300000>;
                        s5m8767,pmic-buck3-dvs-voltage = <1100000>;
                                        op_mode = <1>;
                                };
 
+                               buck7_reg: BUCK7 {
+                                       regulator-name = "PVDD_BUCK7";
+                                       regulator-always-on;
+                               };
+
+                               buck8_reg: BUCK8 {
+                                       regulator-name = "PVDD_BUCK8";
+                                       regulator-always-on;
+                               };
+
                                buck9_reg: BUCK9 {
                                        regulator-name = "VDD_33_OFF_EXT1";
                                        regulator-min-microvolt = <750000>;
        };
 
        i2c@12C90000 {
-               status = "disabled";
+               wm1811a@1a {
+                       compatible = "wlf,wm1811";
+                       reg = <0x1a>;
+
+                       AVDD2-supply = <&main_dc_reg>;
+                       CPVDD-supply = <&main_dc_reg>;
+                       DBVDD1-supply = <&main_dc_reg>;
+                       DBVDD2-supply = <&main_dc_reg>;
+                       DBVDD3-supply = <&main_dc_reg>;
+                       LDO1VDD-supply = <&main_dc_reg>;
+                       SPKVDD1-supply = <&main_dc_reg>;
+                       SPKVDD2-supply = <&main_dc_reg>;
+
+                       wlf,ldo1ena = <&gpb0 0 0>;
+                       wlf,ldo2ena = <&gpb0 1 0>;
+               };
        };
 
        i2c@12CA0000 {
                vdd-supply = <&ldo8_reg>;
        };
 
-       mmc_reg: voltage-regulator {
-               compatible = "regulator-fixed";
-               regulator-name = "VDD_33ON_2.8V";
-               regulator-min-microvolt = <2800000>;
-               regulator-max-microvolt = <2800000>;
-               gpio = <&gpx1 1 1>;
-               enable-active-high;
-       };
+       regulators {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <0>;
 
-       reg_hdmi_en: fixedregulator@0 {
-               compatible = "regulator-fixed";
-               regulator-name = "hdmi-en";
+               main_dc_reg: fixedregulator@1 {
+                       compatible = "regulator-fixed";
+                       regulator-name = "MAIN_DC";
+               };
+
+               mmc_reg: voltage-regulator {
+                       compatible = "regulator-fixed";
+                       regulator-name = "VDD_33ON_2.8V";
+                       regulator-min-microvolt = <2800000>;
+                       regulator-max-microvolt = <2800000>;
+                       gpio = <&gpx1 1 1>;
+                       enable-active-high;
+               };
+
+               reg_hdmi_en: fixedregulator@0 {
+                       compatible = "regulator-fixed";
+                       regulator-name = "hdmi-en";
+               };
        };
 
        fixed-rate-clocks {
                };
        };
 
-       dp-controller {
+       dp-controller@145B0000 {
                samsung,color-space = <0>;
                samsung,dynamic-range = <0>;
                samsung,ycbcr-coeff = <0>;
                samsung,color-depth = <1>;
                samsung,link-rate = <0x0a>;
                samsung,lane-count = <4>;
+               status = "okay";
        };
 
        fimd: fimd@14400000 {
+               status = "okay";
                display-timings {
                        native-mode = <&timing0>;
                        timing0: timing@0 {
        rtc {
                status = "okay";
        };
+
+       usb_hub_bus {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               // SMSC USB3503 connected in hardware only mode as a PHY
+               usb_hub: usb_hub {
+                       compatible = "smsc,usb3503a";
+
+                       reset-gpios = <&gpx3 5 1>;
+                       connect-gpios = <&gpd1 7 1>;
+               };
+       };
+
+       usb@12110000 {
+               usb-phy = <&usb2_phy>;
+       };
 };
index 49f18c24a576f79996245698bbec5c4850159fa8..2538b329f2cea5367f1517c37673cc77d3e13d3d 100644 (file)
                samsung,vbus-gpio = <&gpx2 6 0>;
        };
 
-       dp-controller {
+       dp-controller@145B0000 {
                samsung,color-space = <0>;
                samsung,dynamic-range = <0>;
                samsung,ycbcr-coeff = <0>;
 
                pinctrl-names = "default";
                pinctrl-0 = <&dp_hpd>;
+               status = "okay";
        };
 
-       display-timings {
-               native-mode = <&timing0>;
-               timing0: timing@0 {
-                       /* 1280x800 */
-                       clock-frequency = <50000>;
-                       hactive = <1280>;
-                       vactive = <800>;
-                       hfront-porch = <4>;
-                       hback-porch = <4>;
-                       hsync-len = <4>;
-                       vback-porch = <4>;
-                       vfront-porch = <4>;
-                       vsync-len = <4>;
+       fimd@14400000 {
+               status = "okay";
+               display-timings {
+                       native-mode = <&timing0>;
+                       timing0: timing@0 {
+                               /* 1280x800 */
+                               clock-frequency = <50000>;
+                               hactive = <1280>;
+                               vactive = <800>;
+                               hfront-porch = <4>;
+                               hback-porch = <4>;
+                               hsync-len = <4>;
+                               vback-porch = <4>;
+                               vfront-porch = <4>;
+                               vsync-len = <4>;
+                       };
                };
        };
 
index f2dfa6b1f1a103cc6aabf3d0a6a3cc5fc89f4d27..f7e2d3493f82d556fd66b88fd6bc6a3549300b5e 100644 (file)
                clock-names = "watchdog";
        };
 
+       g2d@10850000 {
+               compatible = "samsung,exynos5250-g2d";
+               reg = <0x10850000 0x1000>;
+               interrupts = <0 91 0>;
+               clocks = <&clock 345>;
+               clock-names = "fimg2d";
+       };
+
        codec@11000000 {
                compatible = "samsung,mfc-v6";
                reg = <0x11000000 0x10000>;
                interrupts = <0 96 0>;
                samsung,power-domain = <&pd_mfc>;
+               clocks = <&clock 266>;
+               clock-names = "mfc";
        };
 
        rtc {
                interrupts = <0 94 0>;
        };
 
-       dp-controller {
-               compatible = "samsung,exynos5-dp";
-               reg = <0x145b0000 0x1000>;
-               interrupts = <10 3>;
-               interrupt-parent = <&combiner>;
+       dp_phy: video-phy@10040720 {
+               compatible = "samsung,exynos5250-dp-video-phy";
+               reg = <0x10040720 4>;
+               #phy-cells = <0>;
+       };
+
+       dp-controller@145B0000 {
                clocks = <&clock 342>;
                clock-names = "dp";
-               #address-cells = <1>;
-               #size-cells = <0>;
-
-               dptx-phy {
-                       reg = <0x10040720>;
-                       samsung,enable-mask = <1>;
-               };
+               phys = <&dp_phy>;
+               phy-names = "dp";
        };
 
-       fimd {
-               compatible = "samsung,exynos5250-fimd";
-               interrupt-parent = <&combiner>;
-               reg = <0x14400000 0x40000>;
-               interrupt-names = "fifo", "vsync", "lcd_sys";
-               interrupts = <18 4>, <18 5>, <18 6>;
+       fimd@14400000 {
                clocks = <&clock 133>, <&clock 339>;
                clock-names = "sclk_fimd", "fimd";
        };
index 5848c425ae4d40fcb1c9edd46dfef3827df2f193..e695aba5f73c4d75527c5d0fb33c7a671bb58006 100644 (file)
                        interrupt-controller;
                        #interrupt-cells = <2>;
                };
+
+               dp_hpd: dp_hpd {
+                       samsung,pins = "gpx0-7";
+                       samsung,pin-function = <3>;
+                       samsung,pin-pud = <0>;
+                       samaung,pin-drv = <0>;
+               };
        };
 
        pinctrl@13410000 {
index 08607df6a180904d47b864619a06e48f088bfb8e..bafba25ba7c29f44adba081b8bea245aa3d4b11a 100644 (file)
                        clock-frequency = <24000000>;
                };
        };
+
+       dp-controller@145B0000 {
+               pinctrl-names = "default";
+               pinctrl-0 = <&dp_hpd>;
+               samsung,color-space = <0>;
+               samsung,dynamic-range = <0>;
+               samsung,ycbcr-coeff = <0>;
+               samsung,color-depth = <1>;
+               samsung,link-rate = <0x0a>;
+               samsung,lane-count = <4>;
+               status = "okay";
+       };
+
+       fimd@14400000 {
+               status = "okay";
+               display-timings {
+                       native-mode = <&timing0>;
+                       timing0: timing@0 {
+                               clock-frequency = <50000>;
+                               hactive = <2560>;
+                               vactive = <1600>;
+                               hfront-porch = <48>;
+                               hback-porch = <80>;
+                               hsync-len = <32>;
+                               vback-porch = <16>;
+                               vfront-porch = <8>;
+                               vsync-len = <6>;
+                       };
+               };
+       };
+
 };
index 9e90d1ec0c28f96bfd4d1b986bbe5624a1b94c4f..5353e32897a444a4f5d13a0bc7174c49fdcf4fca 100644 (file)
  */
 
 #include "exynos5.dtsi"
-/include/ "exynos5420-pinctrl.dtsi"
+#include "exynos5420-pinctrl.dtsi"
+
+#include <dt-bindings/clk/exynos-audss-clk.h>
+
 / {
        compatible = "samsung,exynos5420";
 
                #clock-cells = <1>;
        };
 
+       clock_audss: audss-clock-controller@3810000 {
+               compatible = "samsung,exynos5420-audss-clock";
+               reg = <0x03810000 0x0C>;
+               #clock-cells = <1>;
+               clocks = <&clock 148>;
+               clock-names = "sclk_audio";
+       };
+
+       codec@11000000 {
+               compatible = "samsung,mfc-v7";
+               reg = <0x11000000 0x10000>;
+               interrupts = <0 96 0>;
+               clocks = <&clock 401>;
+               clock-names = "mfc";
+       };
+
        mct@101C0000 {
                compatible = "samsung,exynos4210-mct";
                reg = <0x101C0000 0x800>;
                };
        };
 
+       gsc_pd: power-domain@10044000 {
+               compatible = "samsung,exynos4210-pd";
+               reg = <0x10044000 0x20>;
+       };
+
+       isp_pd: power-domain@10044020 {
+               compatible = "samsung,exynos4210-pd";
+               reg = <0x10044020 0x20>;
+       };
+
+       mfc_pd: power-domain@10044060 {
+               compatible = "samsung,exynos4210-pd";
+               reg = <0x10044060 0x20>;
+       };
+
+       disp_pd: power-domain@100440C0 {
+               compatible = "samsung,exynos4210-pd";
+               reg = <0x100440C0 0x20>;
+       };
+
+       mau_pd: power-domain@100440E0 {
+               compatible = "samsung,exynos4210-pd";
+               reg = <0x100440E0 0x20>;
+       };
+
+       g2d_pd: power-domain@10044100 {
+               compatible = "samsung,exynos4210-pd";
+               reg = <0x10044100 0x20>;
+       };
+
+       msc_pd: power-domain@10044120 {
+               compatible = "samsung,exynos4210-pd";
+               reg = <0x10044120 0x20>;
+       };
+
        pinctrl_0: pinctrl@13400000 {
                compatible = "samsung,exynos5420-pinctrl";
                reg = <0x13400000 0x1000>;
                clocks = <&clock 260>, <&clock 131>;
                clock-names = "uart", "clk_uart_baud0";
        };
+
+       dp_phy: video-phy@10040728 {
+               compatible = "samsung,exynos5250-dp-video-phy";
+               reg = <0x10040728 4>;
+               #phy-cells = <0>;
+       };
+
+       dp-controller@145B0000 {
+               clocks = <&clock 412>;
+               clock-names = "dp";
+               phys = <&dp_phy>;
+               phy-names = "dp";
+       };
+
+       fimd@14400000 {
+               samsung,power-domain = <&disp_pd>;
+               clocks = <&clock 147>, <&clock 421>;
+               clock-names = "sclk_fimd", "fimd";
+       };
 };
index 1b81f36896bcd29538683d5e6a382a2879830fb7..5d6cf4965d6eb3c7db9b2b4f8d4724e2824d2b0d 100644 (file)
@@ -18,6 +18,9 @@
 
        aliases {
                spi0 = &spi_0;
+               tmuctrl0 = &tmuctrl_0;
+               tmuctrl1 = &tmuctrl_1;
+               tmuctrl2 = &tmuctrl_2;
        };
 
        clock: clock-controller@160000 {
                clock-names = "rtc";
        };
 
+       tmuctrl_0: tmuctrl@160118 {
+               compatible = "samsung,exynos5440-tmu";
+               reg = <0x160118 0x230>, <0x160368 0x10>;
+               interrupts = <0 58 0>;
+               clocks = <&clock 21>;
+               clock-names = "tmu_apbif";
+       };
+
+       tmuctrl_1: tmuctrl@16011C {
+               compatible = "samsung,exynos5440-tmu";
+               reg = <0x16011C 0x230>, <0x160368 0x10>;
+               interrupts = <0 58 0>;
+               clocks = <&clock 21>;
+               clock-names = "tmu_apbif";
+       };
+
+       tmuctrl_2: tmuctrl@160120 {
+               compatible = "samsung,exynos5440-tmu";
+               reg = <0x160120 0x230>, <0x160368 0x10>;
+               interrupts = <0 58 0>;
+               clocks = <&clock 21>;
+               clock-names = "tmu_apbif";
+       };
+
        sata@210000 {
                compatible = "snps,exynos5440-ahci";
                reg = <0x210000 0x10000>;
diff --git a/arch/arm/boot/dts/href.dtsi b/arch/arm/boot/dts/href.dtsi
deleted file mode 100644 (file)
index 9db41b9..0000000
+++ /dev/null
@@ -1,301 +0,0 @@
-/*
- * Copyright 2012 ST-Ericsson AB
- *
- * 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 <dt-bindings/interrupt-controller/irq.h>
-#include "dbx5x0.dtsi"
-
-/ {
-       memory {
-               reg = <0x00000000 0x20000000>;
-       };
-
-       gpio_keys {
-               compatible = "gpio-keys";
-               #address-cells = <1>;
-               #size-cells = <0>;
-
-               button@1 {
-                       linux,code = <11>;
-                       label = "SFH7741 Proximity Sensor";
-               };
-       };
-
-       soc {
-               uart@80120000 {
-                       status = "okay";
-               };
-
-               uart@80121000 {
-                       status = "okay";
-               };
-
-               uart@80007000 {
-                       status = "okay";
-               };
-
-               i2c@80004000 {
-                       tc3589x@42 {
-                               compatible = "tc3589x";
-                               reg = <0x42>;
-                               interrupt-parent = <&gpio6>;
-                               interrupts = <25 IRQ_TYPE_EDGE_RISING>;
-
-                               interrupt-controller;
-                               #interrupt-cells = <2>;
-
-                               tc3589x_gpio: tc3589x_gpio {
-                                       compatible = "tc3589x-gpio";
-                                       interrupts = <0 IRQ_TYPE_EDGE_RISING>;
-
-                                       interrupt-controller;
-                                       #interrupt-cells = <2>;
-                                       gpio-controller;
-                                       #gpio-cells = <2>;
-                               };
-                       };
-               };
-
-               i2c@80128000 {
-                       lp5521@33 {
-                               compatible = "national,lp5521";
-                               reg = <0x33>;
-                               label = "lp5521_pri";
-                               clock-mode = /bits/ 8 <2>;
-                               chan0 {
-                                       led-cur = /bits/ 8 <0x2f>;
-                                       max-cur = /bits/ 8 <0x5f>;
-                               };
-                               chan1 {
-                                       led-cur = /bits/ 8 <0x2f>;
-                                       max-cur = /bits/ 8 <0x5f>;
-                               };
-                               chan2 {
-                                       led-cur = /bits/ 8 <0x2f>;
-                                       max-cur = /bits/ 8 <0x5f>;
-                               };
-                       };
-                       lp5521@34 {
-                               compatible = "national,lp5521";
-                               reg = <0x34>;
-                               label = "lp5521_sec";
-                               clock-mode = /bits/ 8 <2>;
-                               chan0 {
-                                       led-cur = /bits/ 8 <0x2f>;
-                                       max-cur = /bits/ 8 <0x5f>;
-                               };
-                               chan1 {
-                                       led-cur = /bits/ 8 <0x2f>;
-                                       max-cur = /bits/ 8 <0x5f>;
-                               };
-                               chan2 {
-                                       led-cur = /bits/ 8 <0x2f>;
-                                       max-cur = /bits/ 8 <0x5f>;
-                               };
-                       };
-                       bh1780@29 {
-                               compatible = "rohm,bh1780gli";
-                               reg = <0x33>;
-                       };
-               };
-
-               // External Micro SD slot
-               sdi0_per1@80126000 {
-                       arm,primecell-periphid = <0x10480180>;
-                       max-frequency = <100000000>;
-                       bus-width = <4>;
-                       mmc-cap-sd-highspeed;
-                       mmc-cap-mmc-highspeed;
-                       vmmc-supply = <&ab8500_ldo_aux3_reg>;
-                       vqmmc-supply = <&vmmci>;
-
-                       cd-gpios  = <&tc3589x_gpio 3 0x4>;
-
-                       status = "okay";
-               };
-
-               // WLAN SDIO channel
-               sdi1_per2@80118000 {
-                       arm,primecell-periphid = <0x10480180>;
-                       max-frequency = <100000000>;
-                       bus-width = <4>;
-
-                       status = "okay";
-               };
-
-               // PoP:ed eMMC
-               sdi2_per3@80005000 {
-                       arm,primecell-periphid = <0x10480180>;
-                       max-frequency = <100000000>;
-                       bus-width = <8>;
-                       mmc-cap-mmc-highspeed;
-
-                       status = "okay";
-               };
-
-               // On-board eMMC
-               sdi4_per2@80114000 {
-                       arm,primecell-periphid = <0x10480180>;
-                       max-frequency = <100000000>;
-                       bus-width = <8>;
-                       mmc-cap-mmc-highspeed;
-                       vmmc-supply = <&ab8500_ldo_aux2_reg>;
-
-                       status = "okay";
-               };
-
-               sound {
-                       compatible = "stericsson,snd-soc-mop500";
-
-                       stericsson,cpu-dai = <&msp1 &msp3>;
-                       stericsson,audio-codec = <&codec>;
-               };
-
-               msp1: msp@80124000 {
-                       status = "okay";
-               };
-
-               msp3: msp@80125000 {
-                       status = "okay";
-               };
-
-               prcmu@80157000 {
-                       db8500-prcmu-regulators {
-                               db8500_vape_reg: db8500_vape {
-                                       regulator-name = "db8500-vape";
-                               };
-
-                               db8500_varm_reg: db8500_varm {
-                                       regulator-name = "db8500-varm";
-                               };
-
-                               db8500_vmodem_reg: db8500_vmodem {
-                                       regulator-name = "db8500-vmodem";
-                               };
-
-                               db8500_vpll_reg: db8500_vpll {
-                                       regulator-name = "db8500-vpll";
-                               };
-
-                               db8500_vsmps1_reg: db8500_vsmps1 {
-                                       regulator-name = "db8500-vsmps1";
-                               };
-
-                               db8500_vsmps2_reg: db8500_vsmps2 {
-                                       regulator-name = "db8500-vsmps2";
-                               };
-
-                               db8500_vsmps3_reg: db8500_vsmps3 {
-                                       regulator-name = "db8500-vsmps3";
-                               };
-
-                               db8500_vrf1_reg: db8500_vrf1 {
-                                       regulator-name = "db8500-vrf1";
-                               };
-
-                               db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
-                                       regulator-name = "db8500-sva-mmdsp";
-                               };
-
-                               db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
-                                       regulator-name = "db8500-sva-mmdsp-ret";
-                               };
-
-                               db8500_sva_pipe_reg: db8500_sva_pipe {
-                                       regulator-name = "db8500_sva_pipe";
-                               };
-
-                               db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
-                                       regulator-name = "db8500_sia_mmdsp";
-                               };
-
-                               db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
-                                       regulator-name = "db8500-sia-mmdsp-ret";
-                               };
-
-                               db8500_sia_pipe_reg: db8500_sia_pipe {
-                                       regulator-name = "db8500-sia-pipe";
-                               };
-
-                               db8500_sga_reg: db8500_sga {
-                                       regulator-name = "db8500-sga";
-                               };
-
-                               db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
-                                       regulator-name = "db8500-b2r2-mcde";
-                               };
-
-                               db8500_esram12_reg: db8500_esram12 {
-                                       regulator-name = "db8500-esram12";
-                               };
-
-                               db8500_esram12_ret_reg: db8500_esram12_ret {
-                                       regulator-name = "db8500-esram12-ret";
-                               };
-
-                               db8500_esram34_reg: db8500_esram34 {
-                                       regulator-name = "db8500-esram34";
-                               };
-
-                               db8500_esram34_ret_reg: db8500_esram34_ret {
-                                       regulator-name = "db8500-esram34-ret";
-                               };
-                       };
-
-                       ab8500 {
-                               ab8500-regulators {
-                                       ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
-                                               regulator-name = "V-DISPLAY";
-                                       };
-
-                                       ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
-                                               regulator-name = "V-eMMC1";
-                                       };
-
-                                       ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
-                                               regulator-name = "V-MMC-SD";
-                                       };
-
-                                       ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
-                                               regulator-name = "V-INTCORE";
-                                       };
-
-                                       ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
-                                               regulator-name = "V-TVOUT";
-                                       };
-
-                                       ab8500_ldo_usb_reg: ab8500_ldo_usb {
-                                               regulator-name = "dummy";
-                                       };
-
-                                       ab8500_ldo_audio_reg: ab8500_ldo_audio {
-                                               regulator-name = "V-AUD";
-                                       };
-
-                                       ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
-                                               regulator-name = "V-AMIC1";
-                                       };
-
-                                       ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
-                                               regulator-name = "V-AMIC2";
-                                       };
-
-                                       ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
-                                               regulator-name = "V-DMIC";
-                                       };
-
-                                       ab8500_ldo_ana_reg: ab8500_ldo_ana {
-                                               regulator-name = "V-CSI/DSI";
-                                       };
-                               };
-                       };
-               };
-       };
-};
diff --git a/arch/arm/boot/dts/hrefprev60.dts b/arch/arm/boot/dts/hrefprev60.dts
deleted file mode 100644 (file)
index c6bb07d..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright 2012 ST-Ericsson AB
- *
- * 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 "dbx5x0.dtsi"
-#include "href.dtsi"
-#include "stuib.dtsi"
-
-/ {
-       model = "ST-Ericsson HREF (pre-v60) platform with Device Tree";
-       compatible = "st-ericsson,mop500", "st-ericsson,u8500";
-
-       gpio_keys {
-               button@1 {
-                       gpios = <&tc3589x_gpio 7 0x4>;
-               };
-       };
-
-       soc {
-               prcmu@80157000 {
-                       ab8500@5 {
-                               ab8500-gpio {
-                                       compatible = "stericsson,ab8500-gpio";
-                               };
-                       };
-               };
-
-               i2c@80004000 {
-                       tps61052@33 {
-                               compatible = "tps61052";
-                               reg = <0x33>;
-                       };
-               };
-
-               i2c@80110000 {
-                       bu21013_tp@5c {
-                               reset-gpio = <&tc3589x_gpio 13 0x4>;
-                       };
-               };
-
-               vmmci: regulator-gpio {
-                       gpios = <&tc3589x_gpio 18 0x4>;
-                       enable-gpio = <&tc3589x_gpio 17 0x4>;
-
-                       status = "okay";
-               };
-       };
-};
diff --git a/arch/arm/boot/dts/hrefv60plus.dts b/arch/arm/boot/dts/hrefv60plus.dts
deleted file mode 100644 (file)
index 3d580d6..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * Copyright 2012 ST-Ericsson AB
- *
- * 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 "dbx5x0.dtsi"
-#include "href.dtsi"
-#include "stuib.dtsi"
-
-/ {
-       model = "ST-Ericsson HREF (v60+) platform with Device Tree";
-       compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
-
-       gpio_keys {
-               button@1 {
-                       gpios = <&gpio6 25 0x4>;
-               };
-       };
-
-       soc {
-               i2c@80110000 {
-                       bu21013_tp@0x5c {
-                               reset-gpio = <&gpio4 15 0x4>;
-                       };
-               };
-
-               // External Micro SD slot
-               sdi0_per1@80126000 {
-                       arm,primecell-periphid = <0x10480180>;
-                       max-frequency = <100000000>;
-                       bus-width = <4>;
-                       mmc-cap-sd-highspeed;
-                       mmc-cap-mmc-highspeed;
-                       vmmc-supply = <&ab8500_ldo_aux3_reg>;
-
-                       cd-gpios  = <&tc3589x_gpio 3 0x4>;
-
-                       status = "okay";
-               };
-
-               // WLAN SDIO channel
-               sdi1_per2@80118000 {
-                       arm,primecell-periphid = <0x10480180>;
-                       max-frequency = <100000000>;
-                       bus-width = <4>;
-
-                       status = "okay";
-               };
-
-               // PoP:ed eMMC
-               sdi2_per3@80005000 {
-                       arm,primecell-periphid = <0x10480180>;
-                       max-frequency = <100000000>;
-                       bus-width = <8>;
-                       mmc-cap-mmc-highspeed;
-
-                       status = "okay";
-               };
-
-               // On-board eMMC
-               sdi4_per2@80114000 {
-                       arm,primecell-periphid = <0x10480180>;
-                       max-frequency = <100000000>;
-                       bus-width = <8>;
-                       mmc-cap-mmc-highspeed;
-                       vmmc-supply = <&ab8500_ldo_aux2_reg>;
-
-                       status = "okay";
-               };
-
-               prcmu@80157000 {
-                       db8500-prcmu-regulators {
-                               db8500_vape_reg: db8500_vape {
-                                       regulator-name = "db8500-vape";
-                               };
-
-                               db8500_varm_reg: db8500_varm {
-                                       regulator-name = "db8500-varm";
-                               };
-
-                               db8500_vmodem_reg: db8500_vmodem {
-                                       regulator-name = "db8500-vmodem";
-                               };
-
-                               db8500_vpll_reg: db8500_vpll {
-                                       regulator-name = "db8500-vpll";
-                               };
-
-                               db8500_vsmps1_reg: db8500_vsmps1 {
-                                       regulator-name = "db8500-vsmps1";
-                               };
-
-                               db8500_vsmps2_reg: db8500_vsmps2 {
-                                       regulator-name = "db8500-vsmps2";
-                               };
-
-                               db8500_vsmps3_reg: db8500_vsmps3 {
-                                       regulator-name = "db8500-vsmps3";
-                               };
-
-                               db8500_vrf1_reg: db8500_vrf1 {
-                                       regulator-name = "db8500-vrf1";
-                               };
-
-                               db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
-                                       regulator-name = "db8500-sva-mmdsp";
-                               };
-
-                               db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
-                                       regulator-name = "db8500-sva-mmdsp-ret";
-                               };
-
-                               db8500_sva_pipe_reg: db8500_sva_pipe {
-                                       regulator-name = "db8500_sva_pipe";
-                               };
-
-                               db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
-                                       regulator-name = "db8500_sia_mmdsp";
-                               };
-
-                               db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
-                                       regulator-name = "db8500-sia-mmdsp-ret";
-                               };
-
-                               db8500_sia_pipe_reg: db8500_sia_pipe {
-                                       regulator-name = "db8500-sia-pipe";
-                               };
-
-                               db8500_sga_reg: db8500_sga {
-                                       regulator-name = "db8500-sga";
-                               };
-
-                               db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
-                                       regulator-name = "db8500-b2r2-mcde";
-                               };
-
-                               db8500_esram12_reg: db8500_esram12 {
-                                       regulator-name = "db8500-esram12";
-                               };
-
-                               db8500_esram12_ret_reg: db8500_esram12_ret {
-                                       regulator-name = "db8500-esram12-ret";
-                               };
-
-                               db8500_esram34_reg: db8500_esram34 {
-                                       regulator-name = "db8500-esram34";
-                               };
-
-                               db8500_esram34_ret_reg: db8500_esram34_ret {
-                                       regulator-name = "db8500-esram34-ret";
-                               };
-                       };
-
-                       ab8500 {
-                               ab8500-regulators {
-                                       ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
-                                               regulator-name = "V-DISPLAY";
-                                       };
-
-                                       ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
-                                               regulator-name = "V-eMMC1";
-                                       };
-
-                                       ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
-                                               regulator-name = "V-MMC-SD";
-                                       };
-
-                                       ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
-                                               regulator-name = "V-INTCORE";
-                                       };
-
-                                       ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
-                                               regulator-name = "V-TVOUT";
-                                       };
-
-                                       ab8500_ldo_usb_reg: ab8500_ldo_usb {
-                                               regulator-name = "dummy";
-                                       };
-
-                                       ab8500_ldo_audio_reg: ab8500_ldo_audio {
-                                               regulator-name = "V-AUD";
-                                       };
-
-                                       ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
-                                               regulator-name = "V-AMIC1";
-                                       };
-
-                                       ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
-                                               regulator-name = "V-AMIC2";
-                                       };
-
-                                       ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
-                                               regulator-name = "V-DMIC";
-                                       };
-
-                                       ab8500_ldo_ana_reg: ab8500_ldo_ana {
-                                               regulator-name = "V-CSI/DSI";
-                                       };
-                               };
-                       };
-               };
-       };
-};
index da0588a041317f91c20a384c8cce6794b0d1d4df..185c7c01102ad755541e420faa77ee708fdab498 100644 (file)
                };
 
                apbx@80040000 {
+                       lradc@80050000 {
+                               status = "okay";
+                               fsl,lradc-touchscreen-wires = <4>;
+                       };
+
                        pwm: pwm@80064000 {
                                pinctrl-names = "default";
                                pinctrl-0 = <&pwm2_pins_a>;
                                pinctrl-0 = <&duart_pins_a>;
                                status = "okay";
                        };
+
+                       usbphy0: usbphy@8007c000 {
+                               status = "okay";
+                       };
+               };
+       };
+
+       ahb@80080000 {
+               usb0: usb@80080000 {
+                       status = "okay";
                };
        };
 
index d107c4af321ff374807ba7a1486d54816be708a0..fc766ae12e24526fcbb5e0e79508acd3a0721f51 100644 (file)
                };
 
                apbx@80040000 {
+                       lradc@80050000 {
+                               status = "okay";
+                       };
+
                        duart: serial@80070000 {
                                pinctrl-names = "default";
                                pinctrl-0 = <&duart_pins_a>;
index 587ceef81e45a5eeb6cb6da0ff5f643f29892669..28b5ce289662b8c74955ecb38e023a6b773cb7b0 100644 (file)
@@ -20,6 +20,8 @@
                gpio2 = &gpio2;
                serial0 = &auart0;
                serial1 = &auart1;
+               spi0 = &ssp0;
+               spi1 = &ssp1;
        };
 
        cpus {
                                #size-cells = <1>;
                                reg = <0x8000c000 0x2000>, <0x8000a000 0x2000>;
                                reg-names = "gpmi-nand", "bch";
-                               interrupts = <13>, <56>;
-                               interrupt-names = "gpmi-dma", "bch";
+                               interrupts = <56>;
+                               interrupt-names = "bch";
                                clocks = <&clks 34>;
                                clock-names = "gpmi_io";
                                dmas = <&dma_apbh 4>;
                                dma-names = "rx-tx";
-                               fsl,gpmi-dma-channel = <4>;
                                status = "disabled";
                        };
 
                        ssp0: ssp@80010000 {
                                reg = <0x80010000 0x2000>;
-                               interrupts = <15 14>;
+                               interrupts = <15>;
                                clocks = <&clks 33>;
                                dmas = <&dma_apbh 1>;
                                dma-names = "rx-tx";
-                               fsl,ssp-dma-channel = <1>;
                                status = "disabled";
                        };
 
 
                        ssp1: ssp@80034000 {
                                reg = <0x80034000 0x2000>;
-                               interrupts = <2 20>;
+                               interrupts = <2>;
                                clocks = <&clks 33>;
                                dmas = <&dma_apbh 2>;
                                dma-names = "rx-tx";
-                               fsl,ssp-dma-channel = <2>;
                                status = "disabled";
                        };
 
                        auart0: serial@8006c000 {
                                compatible = "fsl,imx23-auart";
                                reg = <0x8006c000 0x2000>;
-                               interrupts = <24 25 23>;
+                               interrupts = <24>;
                                clocks = <&clks 32>;
                                dmas = <&dma_apbx 6>, <&dma_apbx 7>;
                                dma-names = "rx", "tx";
                        auart1: serial@8006e000 {
                                compatible = "fsl,imx23-auart";
                                reg = <0x8006e000 0x2000>;
-                               interrupts = <59 60 58>;
+                               interrupts = <59>;
                                clocks = <&clks 32>;
                                dmas = <&dma_apbx 8>, <&dma_apbx 9>;
                                dma-names = "rx", "tx";
index 94c4476972c3fe3b53e3a619981acce652cda8e5..1ec8c94bbac97f82f48fad9a868b70a66a438030 100644 (file)
        apb@80000000 {
                apbh@80000000 {
                        pinctrl@80018000 {
-                               pinctrl-names = "default";
-                               pinctrl-0 = <&hog_pins_cfa10036>;
-
-                               hog_pins_cfa10036: hog-10036@0 {
+                               ssd1306_cfa10036: ssd1306-10036@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
                                                0x2073 /* MX28_PAD_SSP0_D7__GPIO_2_7 */
@@ -83,6 +80,8 @@
 
                                ssd1306: oled@3c {
                                        compatible = "solomon,ssd1306fb-i2c";
+                                       pinctrl-names = "default";
+                                       pinctrl-0 = <&ssd1306_cfa10036>;
                                        reg = <0x3c>;
                                        reset-gpios = <&gpio2 7 0>;
                                        solomon,height = <32>;
index c2ef3a3d655e5f65341abef241cb844d5c6be861..182b99fe35f39b77b0c43cb396593624a043f7ba 100644 (file)
        apb@80000000 {
                apbh@80000000 {
                        pinctrl@80018000 {
-                               pinctrl-names = "default", "default";
-                               pinctrl-1 = <&hog_pins_cfa10037>;
-
-                               hog_pins_cfa10037: hog-10037@0 {
+                               usb_pins_cfa10037: usb-10037@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
                                                0x0073 /* MX28_PAD_GPMI_D7__GPIO_0_7 */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <0>;
+                               };
+
+                               mac0_pins_cfa10037: mac0-10037@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
                                                0x2153 /* MX28_PAD_SSP2_D5__GPIO_2_21 */
                                        >;
                                        fsl,drive-strength = <0>;
@@ -56,7 +62,8 @@
                mac0: ethernet@800f0000 {
                        phy-mode = "rmii";
                        pinctrl-names = "default";
-                       pinctrl-0 = <&mac0_pins_a>;
+                       pinctrl-0 = <&mac0_pins_a
+                               &mac0_pins_cfa10037>;
                        phy-reset-gpios = <&gpio2 21 0>;
                        phy-reset-duration = <100>;
                        status = "okay";
@@ -68,6 +75,8 @@
 
                reg_usb1_vbus: usb1_vbus {
                        compatible = "regulator-fixed";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&usb_pins_cfa10037>;
                        regulator-name = "usb1_vbus";
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
index 04b2f769ffbd9c030bbd175376fe03fb2545b7dd..06e4cfaf7dd2678b71ba7d523891c2008e31eff5 100644 (file)
        apb@80000000 {
                apbh@80000000 {
                        pinctrl@80018000 {
-                               pinctrl-names = "default", "default";
-                               pinctrl-1 = <&hog_pins_cfa10049
-                                       &hog_pins_cfa10049_pullup>;
-
-                               hog_pins_cfa10049: hog-10049@0 {
+                               usb_pins_cfa10049: usb-10049@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
                                                0x0073 /* MX28_PAD_GPMI_D7__GPIO_0_7 */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <0>;
+                               };
+
+                               i2cmux_pins_cfa10049: i2cmux-10049@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
                                                0x1163 /* MX28_PAD_LCD_D22__GPIO_1_22 */
                                                0x1173 /* MX28_PAD_LCD_D22__GPIO_1_23 */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <0>;
+                               };
+
+                               mac0_pins_cfa10049: mac0-10049@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
                                                0x2153 /* MX28_PAD_SSP2_D5__GPIO_2_21 */
-                                               0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
                                        >;
                                        fsl,drive-strength = <0>;
                                        fsl,voltage = <1>;
                                        fsl,pull-up = <0>;
                                };
 
-                               hog_pins_cfa10049_pullup: hog-10049-pullup@0 {
+                               pca_pins_cfa10049: pca-10049@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
                                                0x2133 /* MX28_PAD_SSP2_D3__GPIO_2_19 */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <1>;
+                               };
+
+                               rotary_pins_cfa10049: rotary-10049@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
                                                0x3183 /* MX28_PAD_I2C0_SCL__GPIO_3_24 */
                                                0x3193 /* MX28_PAD_I2C0_SDA__GPIO_3_25 */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <1>;
+                               };
+
+                               rotary_btn_pins_cfa10049: rotary-btn-10049@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
                                                0x31a3 /* MX28_PAD_SAIF_SDATA0__GPIO_3_26 */
-                                               0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
                                        >;
                                        fsl,drive-strength = <0>;
                                        fsl,voltage = <1>;
@@ -60,6 +90,7 @@
                                                0x2103 /* MX28_PAD_SSP2_SCK__GPIO_2_16 */
                                                0x2113 /* MX28_PAD_SSP2_CMD__GPIO_2_17 */
                                                0x2123 /* MX28_PAD_SSP2_D0__GPIO_2_18 */
+                                               0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
                                        >;
                                        fsl,drive-strength = <1>;
                                        fsl,voltage = <1>;
                                        fsl,pull-up = <0>;
                                };
 
+                               lcdif_pins_cfa10049_pullup: lcdif-10049-pullup@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
+                                               0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <1>;
+                               };
+
                                w1_gpio_pins: w1-gpio@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
                        lcdif@80030000 {
                                pinctrl-names = "default";
                                pinctrl-0 = <&lcdif_18bit_pins_cfa10049
-                                            &lcdif_pins_cfa10049>;
+                                            &lcdif_pins_cfa10049
+                                            &lcdif_pins_cfa10049_pullup>;
                                display = <&display>;
                                status = "okay";
 
                                compatible = "i2c-mux-gpio";
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&i2cmux_pins_cfa10049>;
                                mux-gpios = <&gpio1 22 0 &gpio1 23 0>;
                                i2c-parent = <&i2c1>;
 
 
                                        pca9555: pca9555@20 {
                                                compatible = "nxp,pca9555";
+                                               pinctrl-names = "default";
+                                               pinctrl-0 = <&pca_pins_cfa10049>;
                                                interrupt-parent = <&gpio2>;
                                                interrupts = <19 0x2>;
                                                gpio-controller;
 
                reg_usb1_vbus: usb1_vbus {
                        compatible = "regulator-fixed";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&usb_pins_cfa10049>;
                        regulator-name = "usb1_vbus";
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
                mac0: ethernet@800f0000 {
                        phy-mode = "rmii";
                        pinctrl-names = "default";
-                       pinctrl-0 = <&mac0_pins_a>;
+                       pinctrl-0 = <&mac0_pins_a
+                               &mac0_pins_cfa10049>;
                        phy-reset-gpios = <&gpio2 21 0>;
                        phy-reset-duration = <100>;
                        status = "okay";
 
        gpio_keys {
                compatible = "gpio-keys";
+               pinctrl-names = "default";
+               pinctrl-0 = <&rotary_btn_pins_cfa10049>;
                #address-cells = <1>;
                #size-cells = <0>;
 
 
        rotary {
                compatible = "rotary-encoder";
+               pinctrl-names = "default";
+               pinctrl-0 = <&rotary_pins_cfa10049>;
                gpios = <&gpio3 24 1>, <&gpio3 25 1>;
                linux,axis = <1>; /* REL_Y */
                rotary-encoder,relative-axis;
index 158111244122a3503cdab45348aea0fde84e1d2f..171bcbe1ec4b3ed995f7895a5b6a51868460b48c 100644 (file)
        apb@80000000 {
                apbh@80000000 {
                        pinctrl@80018000 {
-                               pinctrl-names = "default", "default";
-                               pinctrl-1 = <&hog_pins_cfa10055
-                                       &hog_pins_cfa10055_pullup>;
-
-                               hog_pins_cfa10055: hog-10055@0 {
-                                       reg = <0>;
-                                       fsl,pinmux-ids = <
-                                               0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
-                                       >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
-                               };
-
-                               hog_pins_cfa10055_pullup: hog-10055-pullup@0 {
-                                       reg = <0>;
-                                       fsl,pinmux-ids = <
-                                               0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
-                                       >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <1>;
-                               };
-
                                spi2_pins_cfa10055: spi2-cfa10055@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
                                                0x2103 /* MX28_PAD_SSP2_SCK__GPIO_2_16 */
                                                0x2113 /* MX28_PAD_SSP2_CMD__GPIO_2_17 */
                                                0x2123 /* MX28_PAD_SSP2_D0__GPIO_2_18 */
+                                               0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
                                        >;
                                        fsl,drive-strength = <1>;
                                        fsl,voltage = <1>;
                                        fsl,voltage = <1>;
                                        fsl,pull-up = <0>;
                                };
+
+                               lcdif_pins_cfa10055_pullup: lcdif-10055-pullup@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
+                                               0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <1>;
+                               };
                        };
 
                        lcdif@80030000 {
                                pinctrl-names = "default";
                                pinctrl-0 = <&lcdif_18bit_pins_cfa10055
-                                            &lcdif_pins_cfa10055>;
+                                            &lcdif_pins_cfa10055
+                                            &lcdif_pins_cfa10055_pullup>;
                                display = <&display>;
                                status = "okay";
 
diff --git a/arch/arm/boot/dts/imx28-cfa10056.dts b/arch/arm/boot/dts/imx28-cfa10056.dts
new file mode 100644 (file)
index 0000000..b45dd0e
--- /dev/null
@@ -0,0 +1,119 @@
+/*
+ * Copyright 2013 Free Electrons
+ *
+ * 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
+ */
+
+/*
+ * The CFA-10055 is an expansion board for the CFA-10036 module and
+ * CFA-10037, thus we need to include the CFA-10037 DTS.
+ */
+/include/ "imx28-cfa10037.dts"
+
+/ {
+       model = "Crystalfontz CFA-10056 Board";
+       compatible = "crystalfontz,cfa10056", "crystalfontz,cfa10037", "crystalfontz,cfa10036", "fsl,imx28";
+
+       apb@80000000 {
+               apbh@80000000 {
+                       pinctrl@80018000 {
+                               spi2_pins_cfa10056: spi2-cfa10056@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
+                                               0x2103 /* MX28_PAD_SSP2_SCK__GPIO_2_16 */
+                                               0x2113 /* MX28_PAD_SSP2_CMD__GPIO_2_17 */
+                                               0x2123 /* MX28_PAD_SSP2_D0__GPIO_2_18 */
+                                               0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
+                                       >;
+                                       fsl,drive-strength = <1>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <1>;
+                               };
+
+                               lcdif_pins_cfa10056: lcdif-10056@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
+                                               0x1181 /* MX28_PAD_LCD_RD_E__LCD_VSYNC */
+                                               0x1191 /* MX28_PAD_LCD_WR_RWN__LCD_HSYNC */
+                                               0x11a1 /* MX28_PAD_LCD_RS__LCD_DOTCLK */
+                                               0x11b1 /* MX28_PAD_LCD_CS__LCD_ENABLE */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <0>;
+                               };
+
+                               lcdif_pins_cfa10056_pullup: lcdif-10056-pullup@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
+                                               0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <1>;
+                               };
+                       };
+
+                       lcdif@80030000 {
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&lcdif_24bit_pins_a
+                                               &lcdif_pins_cfa10056
+                                               &lcdif_pins_cfa10056_pullup >;
+                               display = <&display>;
+                               status = "okay";
+
+                               display: display {
+                                       bits-per-pixel = <32>;
+                                       bus-width = <24>;
+
+                                       display-timings {
+                                               native-mode = <&timing0>;
+                                               timing0: timing0 {
+                                                       clock-frequency = <32000000>;
+                                                       hactive = <480>;
+                                                       vactive = <800>;
+                                                       hback-porch = <2>;
+                                                       hfront-porch = <2>;
+                                                       vback-porch = <2>;
+                                                       vfront-porch = <2>;
+                                                       hsync-len = <5>;
+                                                       vsync-len = <5>;
+                                                       hsync-active = <0>;
+                                                       vsync-active = <0>;
+                                                       de-active = <1>;
+                                                       pixelclk-active = <1>;
+                                               };
+                                       };
+                               };
+                       };
+               };
+       };
+
+       spi2 {
+               compatible = "spi-gpio";
+               pinctrl-names = "default";
+               pinctrl-0 = <&spi2_pins_cfa10056>;
+               status = "okay";
+               gpio-sck = <&gpio2 16 0>;
+               gpio-mosi = <&gpio2 17 0>;
+               gpio-miso = <&gpio2 18 0>;
+               cs-gpios = <&gpio3 5 0>;
+               num-chipselects = <1>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               hx8369: hx8369@0 {
+                       compatible = "himax,hx8369a", "himax,hx8369";
+                       reg = <0>;
+                       spi-max-frequency = <100000>;
+                       spi-cpol;
+                       spi-cpha;
+                       gpios-reset = <&gpio3 30 0>;
+               };
+       };
+};
index 2da713cdb42aa3de69fdac76bbd522a4a458857f..0333c0532f28f3ff5e4e011036214b31393c29df 100644 (file)
        apb@80000000 {
                apbh@80000000 {
                        pinctrl@80018000 {
-                               pinctrl-names = "default", "default";
-                               pinctrl-1 = <&hog_pins_cfa10057
-                                       &hog_pins_cfa10057_pullup>;
-
-                               hog_pins_cfa10057: hog-10057@0 {
+                               usb_pins_cfa10057: usb-10057@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
                                                0x0073 /* MX28_PAD_GPMI_D7__GPIO_0_7 */
-                                               0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
                                        >;
                                        fsl,drive-strength = <0>;
                                        fsl,voltage = <1>;
                                        fsl,pull-up = <0>;
                                };
 
-                               hog_pins_cfa10057_pullup: hog-10057-pullup@0 {
-                                       reg = <0>;
-                                       fsl,pinmux-ids = <
-                                               0x2133 /* MX28_PAD_SSP2_D3__GPIO_2_19 */
-                                               0x3183 /* MX28_PAD_I2C0_SCL__GPIO_3_24 */
-                                               0x3193 /* MX28_PAD_I2C0_SDA__GPIO_3_25 */
-                                               0x31a3 /* MX28_PAD_SAIF_SDATA0__GPIO_3_26 */
-                                               0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
-                                       >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <1>;
-                               };
-
                                lcdif_18bit_pins_cfa10057: lcdif-18bit@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
 
                reg_usb1_vbus: usb1_vbus {
                        compatible = "regulator-fixed";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&usb_pins_cfa10057>;
                        regulator-name = "usb1_vbus";
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
diff --git a/arch/arm/boot/dts/imx28-cfa10058.dts b/arch/arm/boot/dts/imx28-cfa10058.dts
new file mode 100644 (file)
index 0000000..64c64c5
--- /dev/null
@@ -0,0 +1,141 @@
+/*
+ * Copyright 2013 Crystalfontz America, Inc.
+ * Copyright 2013 Free Electrons
+ *
+ * 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
+ */
+
+/*
+ * The CFA-10058 is an expansion board for the CFA-10036 module, thus we
+ * need to include the CFA-10036 DTS.
+ */
+/include/ "imx28-cfa10036.dts"
+
+/ {
+       model = "Crystalfontz CFA-10058 Board";
+       compatible = "crystalfontz,cfa10058", "crystalfontz,cfa10036", "fsl,imx28";
+
+       apb@80000000 {
+               apbh@80000000 {
+                       pinctrl@80018000 {
+                               usb_pins_cfa10058: usb-10058@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
+                                               0x0073 /* MX28_PAD_GPMI_D7__GPIO_0_7 */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <0>;
+                               };
+
+                               lcdif_pins_cfa10058: lcdif-10058@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
+                                               0x1181 /* MX28_PAD_LCD_RD_E__LCD_VSYNC */
+                                               0x1191 /* MX28_PAD_LCD_WR_RWN__LCD_HSYNC */
+                                               0x11a1 /* MX28_PAD_LCD_RS__LCD_DOTCLK */
+                                               0x11b1 /* MX28_PAD_LCD_CS__LCD_ENABLE */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <0>;
+                               };
+                       };
+
+                       lcdif@80030000 {
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&lcdif_24bit_pins_a
+                                                &lcdif_pins_cfa10058>;
+                               display = <&display>;
+                               status = "okay";
+
+                               display: display {
+                                       bits-per-pixel = <32>;
+                                       bus-width = <24>;
+
+                                       display-timings {
+                                               native-mode = <&timing0>;
+                                               timing0: timing0 {
+                                                       clock-frequency = <30000000>;
+                                                       hactive = <800>;
+                                                       vactive = <480>;
+                                                       hback-porch = <40>;
+                                                       hfront-porch = <40>;
+                                                       vback-porch = <13>;
+                                                       vfront-porch = <29>;
+                                                       hsync-len = <8>;
+                                                       vsync-len = <8>;
+                                                       hsync-active = <0>;
+                                                       vsync-active = <0>;
+                                                       de-active = <1>;
+                                                       pixelclk-active = <1>;
+                                               };
+                                       };
+                               };
+                       };
+               };
+
+               apbx@80040000 {
+                       lradc@80050000 {
+                               fsl,lradc-touchscreen-wires = <4>;
+                               status = "okay";
+                       };
+
+                       pwm: pwm@80064000 {
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&pwm3_pins_b>;
+                               status = "okay";
+                       };
+
+                       usbphy1: usbphy@8007e000 {
+                               status = "okay";
+                       };
+               };
+       };
+
+       ahb@80080000 {
+               usb1: usb@80090000 {
+                       vbus-supply = <&reg_usb1_vbus>;
+                       pinctrl-0 = <&usbphy1_pins_a>;
+                       pinctrl-names = "default";
+                       status = "okay";
+               };
+       };
+
+       regulators {
+               compatible = "simple-bus";
+
+               reg_usb1_vbus: usb1_vbus {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&usb_pins_cfa10058>;
+                       compatible = "regulator-fixed";
+                       regulator-name = "usb1_vbus";
+                       regulator-min-microvolt = <5000000>;
+                       regulator-max-microvolt = <5000000>;
+                       gpio = <&gpio0 7 1>;
+               };
+       };
+
+       ahb@80080000 {
+               mac0: ethernet@800f0000 {
+                       phy-mode = "rmii";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&mac0_pins_a>;
+                       phy-reset-gpios = <&gpio2 21 0>;
+                       phy-reset-duration = <100>;
+                       status = "okay";
+               };
+       };
+
+       backlight {
+               compatible = "pwm-backlight";
+               pwms = <&pwm 3 5000000>;
+               brightness-levels = <0 4 8 16 32 64 128 255>;
+               default-brightness-level = <6>;
+       };
+};
index 44d9da57736e637ef4fcc4a113fcef651a07d58d..0d322a2bebaf5fe31e088d8b98c73f08ed4b9d7d 100644 (file)
                                pinctrl-0 = <&auart2_2pins_b>;
                                status = "okay";
                        };
+
+                       pwm: pwm@80064000 {
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&pwm4_pins_a>;
+                               status = "okay";
+                       };
                };
        };
 
                };
        };
 
+       backlight {
+               compatible = "pwm-backlight";
+               pwms = <&pwm 4 5000000>;
+               brightness-levels = <0 4 8 16 32 64 128 255>;
+               default-brightness-level = <6>;
+       };
+
        regulators {
                compatible = "simple-bus";
 
index 9524a05712810bba53382f2b066943cc03c7a675..7363fded95ee9411d21faf35c4a242ccd5aeb592 100644 (file)
@@ -15,6 +15,8 @@
        interrupt-parent = <&icoll>;
 
        aliases {
+               ethernet0 = &mac0;
+               ethernet1 = &mac1;
                gpio0 = &gpio0;
                gpio1 = &gpio1;
                gpio2 = &gpio2;
@@ -27,8 +29,8 @@
                serial2 = &auart2;
                serial3 = &auart3;
                serial4 = &auart4;
-               ethernet0 = &mac0;
-               ethernet1 = &mac1;
+               spi0 = &ssp1;
+               spi1 = &ssp2;
        };
 
        cpus {
@@ -62,9 +64,9 @@
                                reg = <0x80000000 0x2000>;
                        };
 
-                       hsadc@80002000 {
+                       hsadc: hsadc@80002000 {
                                reg = <0x80002000 0x2000>;
-                               interrupts = <13 87>;
+                               interrupts = <13>;
                                dmas = <&dma_apbh 12>;
                                dma-names = "rx";
                                status = "disabled";
                                clocks = <&clks 25>;
                        };
 
-                       perfmon@80006000 {
+                       perfmon: perfmon@80006000 {
                                reg = <0x80006000 0x800>;
                                interrupts = <27>;
                                status = "disabled";
                        };
 
-                       gpmi-nand@8000c000 {
+                       gpmi: gpmi-nand@8000c000 {
                                compatible = "fsl,imx28-gpmi-nand";
                                #address-cells = <1>;
                                #size-cells = <1>;
                                reg = <0x8000c000 0x2000>, <0x8000a000 0x2000>;
                                reg-names = "gpmi-nand", "bch";
-                               interrupts = <88>, <41>;
-                               interrupt-names = "gpmi-dma", "bch";
+                               interrupts = <41>;
+                               interrupt-names = "bch";
                                clocks = <&clks 50>;
                                clock-names = "gpmi_io";
                                dmas = <&dma_apbh 4>;
                                dma-names = "rx-tx";
-                               fsl,gpmi-dma-channel = <4>;
                                status = "disabled";
                        };
 
                                #address-cells = <1>;
                                #size-cells = <0>;
                                reg = <0x80010000 0x2000>;
-                               interrupts = <96 82>;
+                               interrupts = <96>;
                                clocks = <&clks 46>;
                                dmas = <&dma_apbh 0>;
                                dma-names = "rx-tx";
-                               fsl,ssp-dma-channel = <0>;
                                status = "disabled";
                        };
 
                                #address-cells = <1>;
                                #size-cells = <0>;
                                reg = <0x80012000 0x2000>;
-                               interrupts = <97 83>;
+                               interrupts = <97>;
                                clocks = <&clks 47>;
                                dmas = <&dma_apbh 1>;
                                dma-names = "rx-tx";
-                               fsl,ssp-dma-channel = <1>;
                                status = "disabled";
                        };
 
                                #address-cells = <1>;
                                #size-cells = <0>;
                                reg = <0x80014000 0x2000>;
-                               interrupts = <98 84>;
+                               interrupts = <98>;
                                clocks = <&clks 48>;
                                dmas = <&dma_apbh 2>;
                                dma-names = "rx-tx";
-                               fsl,ssp-dma-channel = <2>;
                                status = "disabled";
                        };
 
                                #address-cells = <1>;
                                #size-cells = <0>;
                                reg = <0x80016000 0x2000>;
-                               interrupts = <99 85>;
+                               interrupts = <99>;
                                clocks = <&clks 49>;
                                dmas = <&dma_apbh 3>;
                                dma-names = "rx-tx";
-                               fsl,ssp-dma-channel = <3>;
                                status = "disabled";
                        };
 
-                       pinctrl@80018000 {
+                       pinctrl: pinctrl@80018000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx28-pinctrl", "simple-bus";
                                        fsl,pull-up = <1>;
                                };
 
+                               saif0_pins_b: saif0@1 {
+                                       reg = <1>;
+                                       fsl,pinmux-ids = <
+                                               0x3150 /* MX28_PAD_SAIF0_LRCLK__SAIF0_LRCLK */
+                                               0x3160 /* MX28_PAD_SAIF0_BITCLK__SAIF0_BITCLK */
+                                               0x3170 /* MX28_PAD_SAIF0_SDATA0__SAIF0_SDATA0 */
+                                       >;
+                                       fsl,drive-strength = <2>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <1>;
+                               };
+
                                saif1_pins_a: saif1@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
                                        fsl,pull-up = <0>;
                                };
 
+                               lcdif_sync_pins_a: lcdif-sync@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
+                                               0x11a1 /* MX28_PAD_LCD_RS__LCD_DOTCLK */
+                                               0x11b1 /* MX28_PAD_LCD_CS__LCD_ENABLE */
+                                               0x1181 /* MX28_PAD_LCD_RD_E__LCD_VSYNC */
+                                               0x1191 /* MX28_PAD_LCD_WR_RWN__LCD_HSYNC */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <0>;
+                               };
+
                                can0_pins_a: can0@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
                                        fsl,pull-up = <1>;
                                };
 
+                               spi3_pins_a: spi3@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
+                                               0x3082 /* MX28_PAD_AUART2_RX__SSP3_D4 */
+                                               0x3092 /* MX28_PAD_AUART2_TX__SSP3_D5 */
+                                               0x2180 /* MX28_PAD_SSP3_SCK__SSP3_SCK */
+                                               0x2190 /* MX28_PAD_SSP3_MOSI__SSP3_CMD */
+                                               0x21A0 /* MX28_PAD_SSP3_MISO__SSP3_D0 */
+                                               0x21B0 /* MX28_PAD_SSP3_SS0__SSP3_D3 */
+                                       >;
+                                       fsl,drive-strength = <1>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <0>;
+                               };
+
                                usbphy0_pins_a: usbphy0@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
                                };
                        };
 
-                       digctl@8001c000 {
+                       digctl: digctl@8001c000 {
                                compatible = "fsl,imx28-digctl", "fsl,imx23-digctl";
                                reg = <0x8001c000 0x2000>;
                                interrupts = <89>;
                                status = "disabled";
                        };
 
-                       etm@80022000 {
+                       etm: etm@80022000 {
                                reg = <0x80022000 0x2000>;
                                status = "disabled";
                        };
                                clocks = <&clks 26>;
                        };
 
-                       dcp@80028000 {
+                       dcp: dcp@80028000 {
                                reg = <0x80028000 0x2000>;
                                interrupts = <52 53 54>;
                                compatible = "fsl-dcp";
                        };
 
-                       pxp@8002a000 {
+                       pxp: pxp@8002a000 {
                                reg = <0x8002a000 0x2000>;
                                interrupts = <39>;
                                status = "disabled";
                        };
 
-                       ocotp@8002c000 {
+                       ocotp: ocotp@8002c000 {
                                compatible = "fsl,ocotp";
                                reg = <0x8002c000 0x2000>;
                                status = "disabled";
                                status = "disabled";
                        };
 
-                       lcdif@80030000 {
+                       lcdif: lcdif@80030000 {
                                compatible = "fsl,imx28-lcdif";
                                reg = <0x80030000 0x2000>;
-                               interrupts = <38 86>;
+                               interrupts = <38>;
                                clocks = <&clks 55>;
                                dmas = <&dma_apbh 13>;
                                dma-names = "rx";
                                status = "disabled";
                        };
 
-                       simdbg@8003c000 {
+                       simdbg: simdbg@8003c000 {
                                reg = <0x8003c000 0x200>;
                                status = "disabled";
                        };
 
-                       simgpmisel@8003c200 {
+                       simgpmisel: simgpmisel@8003c200 {
                                reg = <0x8003c200 0x100>;
                                status = "disabled";
                        };
 
-                       simsspsel@8003c300 {
+                       simsspsel: simsspsel@8003c300 {
                                reg = <0x8003c300 0x100>;
                                status = "disabled";
                        };
 
-                       simmemsel@8003c400 {
+                       simmemsel: simmemsel@8003c400 {
                                reg = <0x8003c400 0x100>;
                                status = "disabled";
                        };
 
-                       gpiomon@8003c500 {
+                       gpiomon: gpiomon@8003c500 {
                                reg = <0x8003c500 0x100>;
                                status = "disabled";
                        };
 
-                       simenet@8003c700 {
+                       simenet: simenet@8003c700 {
                                reg = <0x8003c700 0x100>;
                                status = "disabled";
                        };
 
-                       armjtag@8003c800 {
+                       armjtag: armjtag@8003c800 {
                                reg = <0x8003c800 0x100>;
                                status = "disabled";
                        };
-                };
+               };
 
                apbx@80040000 {
                        compatible = "simple-bus";
                        saif0: saif@80042000 {
                                compatible = "fsl,imx28-saif";
                                reg = <0x80042000 0x2000>;
-                               interrupts = <59 80>;
+                               interrupts = <59>;
                                #clock-cells = <0>;
                                clocks = <&clks 53>;
                                dmas = <&dma_apbx 4>;
                                dma-names = "rx-tx";
-                               fsl,saif-dma-channel = <4>;
                                status = "disabled";
                        };
 
-                       power@80044000 {
+                       power: power@80044000 {
                                reg = <0x80044000 0x2000>;
                                status = "disabled";
                        };
                        saif1: saif@80046000 {
                                compatible = "fsl,imx28-saif";
                                reg = <0x80046000 0x2000>;
-                               interrupts = <58 81>;
+                               interrupts = <58>;
                                clocks = <&clks 54>;
                                dmas = <&dma_apbx 5>;
                                dma-names = "rx-tx";
-                               fsl,saif-dma-channel = <5>;
                                status = "disabled";
                        };
 
-                       lradc@80050000 {
+                       lradc: lradc@80050000 {
                                compatible = "fsl,imx28-lradc";
                                reg = <0x80050000 0x2000>;
                                interrupts = <10 14 15 16 17 18 19
                                status = "disabled";
                        };
 
-                       spdif@80054000 {
+                       spdif: spdif@80054000 {
                                reg = <0x80054000 0x2000>;
-                               interrupts = <45 66>;
+                               interrupts = <45>;
                                dmas = <&dma_apbx 2>;
                                dma-names = "tx";
                                status = "disabled";
                        };
 
-                       rtc@80056000 {
+                       mxs_rtc: rtc@80056000 {
                                compatible = "fsl,imx28-rtc", "fsl,stmp3xxx-rtc";
                                reg = <0x80056000 0x2000>;
                                interrupts = <29>;
                                #size-cells = <0>;
                                compatible = "fsl,imx28-i2c";
                                reg = <0x80058000 0x2000>;
-                               interrupts = <111 68>;
+                               interrupts = <111>;
                                clock-frequency = <100000>;
                                dmas = <&dma_apbx 6>;
                                dma-names = "rx-tx";
-                               fsl,i2c-dma-channel = <6>;
                                status = "disabled";
                        };
 
                                #size-cells = <0>;
                                compatible = "fsl,imx28-i2c";
                                reg = <0x8005a000 0x2000>;
-                               interrupts = <110 69>;
+                               interrupts = <110>;
                                clock-frequency = <100000>;
                                dmas = <&dma_apbx 7>;
                                dma-names = "rx-tx";
-                               fsl,i2c-dma-channel = <7>;
                                status = "disabled";
                        };
 
                                status = "disabled";
                        };
 
-                       timrot@80068000 {
+                       timer: timrot@80068000 {
                                compatible = "fsl,imx28-timrot", "fsl,timrot";
                                reg = <0x80068000 0x2000>;
                                interrupts = <48 49 50 51>;
                        auart0: serial@8006a000 {
                                compatible = "fsl,imx28-auart", "fsl,imx23-auart";
                                reg = <0x8006a000 0x2000>;
-                               interrupts = <112 70 71>;
+                               interrupts = <112>;
                                dmas = <&dma_apbx 8>, <&dma_apbx 9>;
                                dma-names = "rx", "tx";
-                               fsl,auart-dma-channel = <8 9>;
                                clocks = <&clks 45>;
                                status = "disabled";
                        };
                        auart1: serial@8006c000 {
                                compatible = "fsl,imx28-auart", "fsl,imx23-auart";
                                reg = <0x8006c000 0x2000>;
-                               interrupts = <113 72 73>;
+                               interrupts = <113>;
                                dmas = <&dma_apbx 10>, <&dma_apbx 11>;
                                dma-names = "rx", "tx";
                                clocks = <&clks 45>;
                        auart2: serial@8006e000 {
                                compatible = "fsl,imx28-auart", "fsl,imx23-auart";
                                reg = <0x8006e000 0x2000>;
-                               interrupts = <114 74 75>;
+                               interrupts = <114>;
                                dmas = <&dma_apbx 12>, <&dma_apbx 13>;
                                dma-names = "rx", "tx";
                                clocks = <&clks 45>;
                        auart3: serial@80070000 {
                                compatible = "fsl,imx28-auart", "fsl,imx23-auart";
                                reg = <0x80070000 0x2000>;
-                               interrupts = <115 76 77>;
+                               interrupts = <115>;
                                dmas = <&dma_apbx 14>, <&dma_apbx 15>;
                                dma-names = "rx", "tx";
                                clocks = <&clks 45>;
                        auart4: serial@80072000 {
                                compatible = "fsl,imx28-auart", "fsl,imx23-auart";
                                reg = <0x80072000 0x2000>;
-                               interrupts = <116 78 79>;
+                               interrupts = <116>;
                                dmas = <&dma_apbx 0>, <&dma_apbx 1>;
                                dma-names = "rx", "tx";
                                clocks = <&clks 45>;
                        status = "disabled";
                };
 
-               dflpt@800c0000 {
+               dflpt: dflpt@800c0000 {
                        reg = <0x800c0000 0x10000>;
                        status = "disabled";
                };
                        status = "disabled";
                };
 
-               switch@800f8000 {
+               etn_switch: switch@800f8000 {
                        reg = <0x800f8000 0x8000>;
                        status = "disabled";
                };
-
        };
 };
index f9d92da86783d75d00788b3104abd995c6022bce..83bb0eff697b8648b347c4fb936101c03dc6d4d5 100644 (file)
                        marvell,intc-priority;
                        marvell,intc-nr-irqs = <56>;
                };
+
+               gpio: gpio@40e00000 {
+                       compatible = "intel,pxa3xx-gpio";
+                       reg = <0x40e00000 0x10000>;
+                       interrupt-names = "gpio0", "gpio1", "gpio_mux";
+                       interrupts = <8 9 10>;
+                       gpio-controller;
+                       #gpio-cells = <0x2>;
+                       interrupt-controller;
+                       #interrupt-cells = <0x2>;
+               };
        };
 };
index f603c6946c29bf64b6b51e7f9ecd4c03a814a7ec..e657a9db166612541d9900da8af96ba73a7201a3 100644 (file)
                };
        };
 };
+
+&i2c5 {
+       vdd_dvfs: max8973@1b {
+               compatible = "maxim,max8973";
+               reg = <0x1b>;
+
+               regulator-min-microvolt = <935000>;
+               regulator-max-microvolt = <1200000>;
+               regulator-boot-on;
+               regulator-always-on;
+       };
+};
+
+&cpu0 {
+       cpu0-supply = <&vdd_dvfs>;
+       operating-points = <
+               /* kHz  uV */
+               1950000 1115000
+               1462500  995000
+       >;
+       voltage-tolerance = <1>; /* 1% */
+};
index 4ff2019c0e3032e286197346f34aa0fab3ca3bfc..6c26caa880f2917344ada23a6a8e8e106412a0f9 100644 (file)
                interrupt-parent = <&gic>;
                interrupts = <0 69 4>;
        };
+
+       i2c0: i2c@e6500000 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               compatible = "renesas,rmobile-iic";
+               reg = <0 0xe6500000 0 0x428>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 174 0x4>;
+       };
+
+       i2c1: i2c@e6510000 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               compatible = "renesas,rmobile-iic";
+               reg = <0 0xe6510000 0 0x428>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 175 0x4>;
+       };
+
+       i2c2: i2c@e6520000 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               compatible = "renesas,rmobile-iic";
+               reg = <0 0xe6520000 0 0x428>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 176 0x4>;
+       };
+
+       i2c3: i2c@e6530000 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               compatible = "renesas,rmobile-iic";
+               reg = <0 0xe6530000 0 0x428>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 177 0x4>;
+       };
+
+       i2c4: i2c@e6540000 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               compatible = "renesas,rmobile-iic";
+               reg = <0 0xe6540000 0 0x428>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 178 0x4>;
+       };
+
+       i2c5: i2c@e60b0000 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               compatible = "renesas,rmobile-iic";
+               reg = <0 0xe60b0000 0 0x428>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 179 0x4>;
+       };
+
+       i2c6: i2c@e6550000 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               compatible = "renesas,rmobile-iic";
+               reg = <0 0xe6550000 0 0x428>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 184 0x4>;
+       };
+
+       i2c7: i2c@e6560000 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               compatible = "renesas,rmobile-iic";
+               reg = <0 0xe6560000 0 0x428>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 185 0x4>;
+       };
+
+       i2c8: i2c@e6570000 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               compatible = "renesas,rmobile-iic";
+               reg = <0 0xe6570000 0 0x428>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 173 0x4>;
+       };
+
+       mmcif0: mmcif@ee200000 {
+               compatible = "renesas,sh-mmcif";
+               reg = <0 0xee200000 0 0x80>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 169 0x4>;
+               reg-io-width = <4>;
+               status = "disabled";
+       };
+
+       mmcif1: mmcif@ee220000 {
+               compatible = "renesas,sh-mmcif";
+               reg = <0 0xee220000 0 0x80>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 170 0x4>;
+               reg-io-width = <4>;
+               status = "disabled";
+       };
+
+       pfc: pfc@e6050000 {
+               compatible = "renesas,pfc-r8a73a4";
+               reg = <0 0xe6050000 0 0x9000>;
+               gpio-controller;
+               #gpio-cells = <2>;
+       };
+
+       sdhi0: sdhi@ee100000 {
+               compatible = "renesas,r8a73a4-sdhi";
+               reg = <0 0xee100000 0 0x100>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 165 4>;
+               cap-sd-highspeed;
+               status = "disabled";
+       };
+
+       sdhi1: sdhi@ee120000 {
+               compatible = "renesas,r8a73a4-sdhi";
+               reg = <0 0xee120000 0 0x100>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 166 4>;
+               cap-sd-highspeed;
+               status = "disabled";
+       };
+
+       sdhi2: sdhi@ee140000 {
+               compatible = "renesas,r8a73a4-sdhi";
+               reg = <0 0xee140000 0 0x100>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 167 4>;
+               cap-sd-highspeed;
+               status = "disabled";
+       };
 };
index 09ea22c26359ab00130898b79e696a2b252b9aae..366f72989dc369b886468d7f25eea7f2f87200c5 100644 (file)
@@ -10,6 +10,7 @@
 
 /dts-v1/;
 /include/ "r8a7740.dtsi"
+#include <dt-bindings/gpio/gpio.h>
 
 / {
        model = "armadillo 800 eva reference";
                regulator-boot-on;
        };
 
+       leds {
+               compatible = "gpio-leds";
+               led1 {
+                       gpios = <&pfc 102 GPIO_ACTIVE_HIGH>;
+               };
+               led2 {
+                       gpios = <&pfc 111 GPIO_ACTIVE_HIGH>;
+               };
+               led3 {
+                       gpios = <&pfc 110 GPIO_ACTIVE_HIGH>;
+               };
+               led4 {
+                       gpios = <&pfc 177 GPIO_ACTIVE_HIGH>;
+               };
+       };
 };
 
 &i2c0 {
                reg = <0x55>;
                interrupt-parent = <&irqpin1>;
                interrupts = <2 0>; /* IRQ10: hwirq 2 on irqpin1 */
+               pinctrl-0 = <&st1232_pins>;
+               pinctrl-names = "default";
+               gpios = <&pfc 166 GPIO_ACTIVE_LOW>;
+       };
+};
+
+&pfc {
+       pinctrl-0 = <&scifa1_pins>;
+       pinctrl-names = "default";
+
+       scifa1_pins: scifa1 {
+               renesas,groups = "scifa1_data";
+               renesas,function = "scifa1";
+       };
+
+       st1232_pins: st1232 {
+               renesas,groups = "intc_irq10";
+               renesas,function = "intc";
        };
 };
index 24e93064382116b3c8dc7b8e5b11df4b1c5c9133..e18a195b55f3c7fb7220a9ccdc8dd60b415474ed 100644 (file)
                              0 72 0x4
                              0 73 0x4>;
        };
+
+       pfc: pfc@e6050000 {
+               compatible = "renesas,pfc-r8a7740";
+               reg = <0xe6050000 0x8000>,
+                     <0xe605800c 0x20>;
+               gpio-controller;
+               #gpio-cells = <2>;
+       };
 };
index 474373559bdcdb3b321cd5cce7efda18b7bd1adc..45ac404ab6d8b79b246f6f5724f3609b48bf58cb 100644 (file)
                reg = <0xfe438000 0x1000>,
                      <0xfe430000 0x100>;
        };
+
+       gpio0: gpio@ffc40000 {
+               compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar";
+               reg = <0xffc40000 0x2c>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 103 0x4>;
+               #gpio-cells = <2>;
+               gpio-controller;
+               gpio-ranges = <&pfc 0 0 32>;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+       };
+
+       gpio1: gpio@ffc41000 {
+               compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar";
+               reg = <0xffc41000 0x2c>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 103 0x4>;
+               #gpio-cells = <2>;
+               gpio-controller;
+               gpio-ranges = <&pfc 0 32 32>;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+       };
+
+       gpio2: gpio@ffc42000 {
+               compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar";
+               reg = <0xffc42000 0x2c>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 103 0x4>;
+               #gpio-cells = <2>;
+               gpio-controller;
+               gpio-ranges = <&pfc 0 64 32>;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+       };
+
+       gpio3: gpio@ffc43000 {
+               compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar";
+               reg = <0xffc43000 0x2c>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 103 0x4>;
+               #gpio-cells = <2>;
+               gpio-controller;
+               gpio-ranges = <&pfc 0 96 32>;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+       };
+
+       gpio4: gpio@ffc44000 {
+               compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar";
+               reg = <0xffc44000 0x2c>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 103 0x4>;
+               #gpio-cells = <2>;
+               gpio-controller;
+               gpio-ranges = <&pfc 0 128 27>;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+       };
+
+       pfc: pfc@fffc0000 {
+               compatible = "renesas,pfc-r8a7778";
+               reg = <0xfffc000 0x118>;
+               #gpio-range-cells = <3>;
+       };
 };
index 72be4c87cfb5d06d7943ea64220b97fce59c076b..b64705be258dd850b2240c469bcc3b85c6264624 100644 (file)
@@ -11,6 +11,7 @@
 
 /dts-v1/;
 /include/ "r8a7779.dtsi"
+#include <dt-bindings/gpio/gpio.h>
 
 / {
        model = "marzen";
@@ -37,6 +38,9 @@
        lan0@18000000 {
                compatible = "smsc,lan9220", "smsc,lan9115";
                reg = <0x18000000 0x100>;
+               pinctrl-0 = <&lan0_pins>;
+               pinctrl-names = "default";
+
                phy-mode = "mii";
                interrupt-parent = <&gic>;
                interrupts = <0 28 0x4>;
                vddvario-supply = <&fixedregulator3v3>;
                vdd33a-supply = <&fixedregulator3v3>;
        };
+
+       leds {
+               compatible = "gpio-leds";
+               led2 {
+                       gpios = <&gpio4 29 GPIO_ACTIVE_HIGH>;
+               };
+               led3 {
+                       gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>;
+               };
+               led4 {
+                       gpios = <&gpio4 31 GPIO_ACTIVE_HIGH>;
+               };
+       };
+};
+
+&pfc {
+       pinctrl-0 = <&scif2_pins &scif4_pins &sdhi0_pins>;
+       pinctrl-names = "default";
+
+       lan0_pins: lan0 {
+               intc {
+                       renesas,groups = "intc_irq1_b";
+                       renesas,function = "intc";
+               };
+               lbsc {
+                       renesas,groups = "lbsc_ex_cs0";
+                       renesas,function = "lbsc";
+               };
+       };
+
+       scif2_pins: scif2 {
+               renesas,groups = "scif2_data_c";
+               renesas,function = "scif2";
+       };
+
+       scif4_pins: scif4 {
+               renesas,groups = "scif4_data";
+               renesas,function = "scif4";
+       };
+
+       sdhi0_pins: sdhi0 {
+               renesas,groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_cd",
+                                "sdhi0_wp";
+               renesas,function = "sdhi0";
+       };
 };
index 7f146c6bf7569dcf01d8c3a1933ba60eb736f579..e9fbe3d572d79ae7a347942c8e233f93b84bb334 100644 (file)
                       <0xf0000100 0x100>;
         };
 
+       gpio0: gpio@ffc40000 {
+               compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
+               reg = <0xffc40000 0x2c>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 141 0x4>;
+               #gpio-cells = <2>;
+               gpio-controller;
+               gpio-ranges = <&pfc 0 0 32>;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+       };
+
+       gpio1: gpio@ffc41000 {
+               compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
+               reg = <0xffc41000 0x2c>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 142 0x4>;
+               #gpio-cells = <2>;
+               gpio-controller;
+               gpio-ranges = <&pfc 0 32 32>;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+       };
+
+       gpio2: gpio@ffc42000 {
+               compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
+               reg = <0xffc42000 0x2c>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 143 0x4>;
+               #gpio-cells = <2>;
+               gpio-controller;
+               gpio-ranges = <&pfc 0 64 32>;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+       };
+
+       gpio3: gpio@ffc43000 {
+               compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
+               reg = <0xffc43000 0x2c>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 144 0x4>;
+               #gpio-cells = <2>;
+               gpio-controller;
+               gpio-ranges = <&pfc 0 96 32>;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+       };
+
+       gpio4: gpio@ffc44000 {
+               compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
+               reg = <0xffc44000 0x2c>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 145 0x4>;
+               #gpio-cells = <2>;
+               gpio-controller;
+               gpio-ranges = <&pfc 0 128 32>;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+       };
+
+       gpio5: gpio@ffc45000 {
+               compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
+               reg = <0xffc45000 0x2c>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 146 0x4>;
+               #gpio-cells = <2>;
+               gpio-controller;
+               gpio-ranges = <&pfc 0 160 32>;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+       };
+
+       gpio6: gpio@ffc46000 {
+               compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
+               reg = <0xffc46000 0x2c>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 147 0x4>;
+               #gpio-cells = <2>;
+               gpio-controller;
+               gpio-ranges = <&pfc 0 192 9>;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+       };
+
        irqpin0: irqpin@fe780010 {
                compatible = "renesas,intc-irqpin";
                #interrupt-cells = <2>;
                interrupts = <0 81 0x4>;
        };
 
+       pfc: pfc@fffc0000 {
+               compatible = "renesas,pfc-r8a7779";
+               reg = <0xfffc0000 0x23c>;
+               #gpio-range-cells = <3>;
+       };
+
        thermal@ffc48000 {
                compatible = "renesas,rcar-thermal";
                reg = <0xffc48000 0x38>;
index 339d9b11721c0a235aee6dc297de37f96a9c981c..3b879e7c697c336748d5f35adf6744c6d7e14458 100644 (file)
                interrupts = <1 9 0xf04>;
        };
 
+       gpio0: gpio@ffc40000 {
+               compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
+               reg = <0 0xffc40000 0 0x2c>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 4 0x4>;
+               #gpio-cells = <2>;
+               gpio-controller;
+               gpio-ranges = <&pfc 0 0 32>;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+       };
+
+       gpio1: gpio@ffc41000 {
+               compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
+               reg = <0 0xffc41000 0 0x2c>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 5 0x4>;
+               #gpio-cells = <2>;
+               gpio-controller;
+               gpio-ranges = <&pfc 0 32 32>;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+       };
+
+       gpio2: gpio@ffc42000 {
+               compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
+               reg = <0 0xffc42000 0 0x2c>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 6 0x4>;
+               #gpio-cells = <2>;
+               gpio-controller;
+               gpio-ranges = <&pfc 0 64 32>;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+       };
+
+       gpio3: gpio@ffc43000 {
+               compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
+               reg = <0 0xffc43000 0 0x2c>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 7 0x4>;
+               #gpio-cells = <2>;
+               gpio-controller;
+               gpio-ranges = <&pfc 0 96 32>;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+       };
+
+       gpio4: gpio@ffc44000 {
+               compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
+               reg = <0 0xffc44000 0 0x2c>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 8 0x4>;
+               #gpio-cells = <2>;
+               gpio-controller;
+               gpio-ranges = <&pfc 0 128 32>;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+       };
+
+       gpio5: gpio@ffc45000 {
+               compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
+               reg = <0 0xffc45000 0 0x2c>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 9 0x4>;
+               #gpio-cells = <2>;
+               gpio-controller;
+               gpio-ranges = <&pfc 0 160 32>;
+               #interrupt-cells = <2>;
+               interrupt-controller;
+       };
+
        timer {
                compatible = "arm,armv7-timer";
                interrupts = <1 13 0xf08>,
                interrupt-parent = <&gic>;
                interrupts = <0 0 4>, <0 1 4>, <0 2 4>, <0 3 4>;
        };
+
+       mmcif0: mmcif@ee200000 {
+               compatible = "renesas,sh-mmcif";
+               reg = <0 0xee200000 0 0x80>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 169 0x4>;
+               reg-io-width = <4>;
+               status = "disabled";
+       };
+
+       mmcif1: mmcif@ee220000 {
+               compatible = "renesas,sh-mmcif";
+               reg = <0 0xee220000 0 0x80>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 170 0x4>;
+               reg-io-width = <4>;
+               status = "disabled";
+       };
+
+       pfc: pfc@e6060000 {
+               compatible = "renesas,pfc-r8a7790";
+               reg = <0 0xe6060000 0 0x250>;
+               #gpio-range-cells = <3>;
+       };
+
+       sdhi0: sdhi@ee100000 {
+               compatible = "renesas,r8a7790-sdhi";
+               reg = <0 0xee100000 0 0x100>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 165 4>;
+               cap-sd-highspeed;
+               status = "disabled";
+       };
+
+       sdhi1: sdhi@ee120000 {
+               compatible = "renesas,r8a7790-sdhi";
+               reg = <0 0xee120000 0 0x100>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 166 4>;
+               cap-sd-highspeed;
+               status = "disabled";
+       };
+
+       sdhi2: sdhi@ee140000 {
+               compatible = "renesas,r8a7790-sdhi";
+               reg = <0 0xee140000 0 0x100>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 167 4>;
+               cap-sd-highspeed;
+               status = "disabled";
+       };
+
+       sdhi3: sdhi@ee160000 {
+               compatible = "renesas,r8a7790-sdhi";
+               reg = <0 0xee160000 0 0x100>;
+               interrupt-parent = <&gic>;
+               interrupts = <0 168 4>;
+               cap-sd-highspeed;
+               status = "disabled";
+       };
 };
index a1d5e25a66986492e3d44f5348102c64a6b3658a..ff63fbbd18ab5cccf346a9e47590b9baa3e7bfe9 100644 (file)
                };
        };
 
+       pmu {
+               compatible = "arm,cortex-a5-pmu";
+               interrupts = <46 IRQ_TYPE_LEVEL_HIGH 0>;
+       };
+
        memory {
                reg = <0x20000000 0x8000000>;
        };
index 7bf020ecadf590d3dd6986830bce1f758dbc910e..249f65be2a5070ca38e2112537160d20265dc47a 100644 (file)
                        reg = <0x0>;
                };
        };
+
+       pfc: pfc@e6050000 {
+               compatible = "renesas,pfc-sh7372";
+               reg = <0xe6050000 0x8000>,
+                     <0xe605801c 0x1c>;
+               gpio-controller;
+               #gpio-cells = <2>;
+       };
 };
index b6f759e830ed3fb35dfc4284f838d776aa6c760f..b99e890def54d7e462da5a3065d0aa565295a910 100644 (file)
@@ -13,6 +13,7 @@
 
 /dts-v1/;
 /include/ "sh73a0.dtsi"
+#include <dt-bindings/gpio/gpio.h>
 
 / {
        model = "KZM-A9-GT";
                regulator-boot-on;
        };
 
+       vmmc_sdhi0: regulator@2 {
+               compatible = "regulator-fixed";
+               regulator-name = "SDHI0 Vcc";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&pfc 15 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
+       vmmc_sdhi2: regulator@3 {
+               compatible = "regulator-fixed";
+               regulator-name = "SDHI2 Vcc";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&pfc 14 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
        lan9220@10000000 {
                compatible = "smsc,lan9220", "smsc,lan9115";
                reg = <0x10000000 0x100>;
                vddvario-supply = <&reg_1p8v>;
                vdd33a-supply = <&reg_3p3v>;
        };
+
+       leds {
+               compatible = "gpio-leds";
+               led1 {
+                       gpios = <&pfc 20 GPIO_ACTIVE_LOW>;
+               };
+               led2 {
+                       gpios = <&pfc 21 GPIO_ACTIVE_LOW>;
+               };
+               led3 {
+                       gpios = <&pfc 22 GPIO_ACTIVE_LOW>;
+               };
+               led4 {
+                       gpios = <&pfc 23 GPIO_ACTIVE_LOW>;
+               };
+       };
 };
 
 &i2c0 {
        };
 };
 
+&i2c3 {
+       pinctrl-0 = <&i2c3_pins>;
+       pinctrl-names = "default";
+};
+
 &mmcif {
+       pinctrl-0 = <&mmcif_pins>;
+       pinctrl-names = "default";
+
        bus-width = <8>;
        vmmc-supply = <&reg_1p8v>;
        status = "okay";
 };
 
+&pfc {
+       pinctrl-0 = <&scifa4_pins>;
+       pinctrl-names = "default";
+
+       i2c3_pins: i2c3 {
+               renesas,groups = "i2c3_1";
+               renesas,function = "i2c3";
+       };
+
+       mmcif_pins: mmcif {
+               mux {
+                       renesas,groups = "mmc0_data8_0", "mmc0_ctrl_0";
+                       renesas,function = "mmc0";
+               };
+               cfg {
+                       renesas,groups = "mmc0_data8_0";
+                       renesas,pins = "PORT279";
+                       bias-pull-up;
+               };
+       };
+
+       scifa4_pins: scifa4 {
+               renesas,groups = "scifa4_data", "scifa4_ctrl";
+               renesas,function = "scifa4";
+       };
+
+       sdhi0_pins: sdhi0 {
+               renesas,groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_cd", "sdhi0_wp";
+               renesas,function = "sdhi0";
+       };
+
+       sdhi2_pins: sdhi2 {
+               renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
+               renesas,function = "sdhi2";
+       };
+};
+
 &sdhi0 {
-       vmmc-supply = <&reg_3p3v>;
+       pinctrl-0 = <&sdhi0_pins>;
+       pinctrl-names = "default";
+
+       vmmc-supply = <&vmmc_sdhi0>;
        bus-width = <4>;
        status = "okay";
 };
 
 &sdhi2 {
-       vmmc-supply = <&reg_3p3v>;
+       pinctrl-0 = <&sdhi2_pins>;
+       pinctrl-names = "default";
+
+       vmmc-supply = <&vmmc_sdhi2>;
        bus-width = <4>;
        broken-cd;
        status = "okay";
index b9775025600364384556b5206db1128f8ecc2398..86e79feb7560f95648cad06deafb9e51f5373c26 100644 (file)
                cap-sd-highspeed;
                status = "disabled";
        };
+
+       pfc: pfc@e6050000 {
+               compatible = "renesas,pfc-sh73a0";
+               reg = <0xe6050000 0x8000>,
+                     <0xe605801c 0x1c>;
+               gpio-controller;
+               #gpio-cells = <2>;
+       };
 };
diff --git a/arch/arm/boot/dts/snowball.dts b/arch/arm/boot/dts/snowball.dts
deleted file mode 100644 (file)
index 49824be..0000000
+++ /dev/null
@@ -1,361 +0,0 @@
-/*
- * Copyright 2011 ST-Ericsson AB
- *
- * 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 "dbx5x0.dtsi"
-
-/ {
-       model = "Calao Systems Snowball platform with device tree";
-       compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500";
-
-       memory {
-               reg = <0x00000000 0x20000000>;
-       };
-
-       en_3v3_reg: en_3v3 {
-               compatible = "regulator-fixed";
-               regulator-name = "en-3v3-fixed-supply";
-               regulator-min-microvolt = <3300000>;
-               regulator-max-microvolt = <3300000>;
-               /* AB8500 GPIOs start from 1 - offset 25 is GPIO26. */
-               gpio = <&ab8500_gpio 25 0x4>;
-               startup-delay-us = <5000>;
-               enable-active-high;
-       };
-
-       gpio_keys {
-               compatible = "gpio-keys";
-               #address-cells = <1>;
-               #size-cells = <0>;
-
-               button@1 {
-                       debounce_interval = <50>;
-                       wakeup = <1>;
-                       linux,code = <2>;
-                       label = "userpb";
-                       gpios = <&gpio1 0 0x4>;
-               };
-               button@2 {
-                       debounce_interval = <50>;
-                       wakeup = <1>;
-                       linux,code = <3>;
-                       label = "extkb1";
-                       gpios = <&gpio4 23 0x4>;
-               };
-               button@3 {
-                       debounce_interval = <50>;
-                       wakeup = <1>;
-                       linux,code = <4>;
-                       label = "extkb2";
-                       gpios = <&gpio4 24 0x4>;
-               };
-               button@4 {
-                       debounce_interval = <50>;
-                       wakeup = <1>;
-                       linux,code = <5>;
-                       label = "extkb3";
-                       gpios = <&gpio5 1 0x4>;
-               };
-               button@5 {
-                       debounce_interval = <50>;
-                       wakeup = <1>;
-                       linux,code = <6>;
-                       label = "extkb4";
-                       gpios = <&gpio5 2 0x4>;
-               };
-       };
-
-       leds {
-               compatible = "gpio-leds";
-               used-led {
-                       label = "user_led";
-                       gpios = <&gpio4 14 0x4>;
-                       default-state = "on";
-                       linux,default-trigger = "heartbeat";
-               };
-       };
-
-       soc {
-
-               sound {
-                       compatible = "stericsson,snd-soc-mop500";
-
-                       stericsson,cpu-dai = <&msp1 &msp3>;
-                       stericsson,audio-codec = <&codec>;
-               };
-
-               msp1: msp@80124000 {
-                       status = "okay";
-               };
-
-               msp3: msp@80125000 {
-                       status = "okay";
-               };
-
-               external-bus@50000000 {
-                       status = "okay";
-
-                       ethernet@0 {
-                               compatible = "smsc,lan9115";
-                               reg = <0 0x10000>;
-                               interrupts = <12 IRQ_TYPE_EDGE_RISING>;
-                               interrupt-parent = <&gpio4>;
-                               vdd33a-supply = <&en_3v3_reg>;
-                               vddvario-supply = <&db8500_vape_reg>;
-
-
-                               reg-shift = <1>;
-                               reg-io-width = <2>;
-                               smsc,force-internal-phy;
-                               smsc,irq-active-high;
-                               smsc,irq-push-pull;
-                       };
-               };
-
-               vmmci: regulator-gpio {
-                       gpios = <&gpio6 25 0x4>;
-                       enable-gpio = <&gpio7 4 0x4>;
-
-                       status = "okay";
-               };
-
-               // External Micro SD slot
-               sdi0_per1@80126000 {
-                       arm,primecell-periphid = <0x10480180>;
-                       max-frequency = <100000000>;
-                       bus-width = <4>;
-                       mmc-cap-mmc-highspeed;
-                       vmmc-supply = <&ab8500_ldo_aux3_reg>;
-                       vqmmc-supply = <&vmmci>;
-
-                       cd-gpios  = <&gpio6 26 0x4>; // 218
-                       cd-inverted;
-
-                       status = "okay";
-               };
-
-               // On-board eMMC
-               sdi4_per2@80114000 {
-                       arm,primecell-periphid = <0x10480180>;
-                       max-frequency = <100000000>;
-                       bus-width = <8>;
-                       mmc-cap-mmc-highspeed;
-                       vmmc-supply = <&ab8500_ldo_aux2_reg>;
-
-                       status = "okay";
-               };
-
-               uart@80120000 {
-                       status = "okay";
-               };
-
-               uart@80121000 {
-                       status = "okay";
-               };
-
-               uart@80007000 {
-                       status = "okay";
-               };
-
-               i2c@80004000 {
-                       tc3589x@42 {
-                               //compatible = "tc3589x";
-                               reg = <0x42>;
-                               gpios = <&gpio6 25 0x4>;
-                               interrupt-parent = <&gpio6>;
-                       };
-                       tps61052@33 {
-                               //compatible = "tps61052";
-                               reg = <0x33>;
-                       };
-               };
-
-               i2c@80128000 {
-                       lp5521@33 {
-                               // compatible = "lp5521";
-                               reg = <0x33>;
-                       };
-                       lp5521@34 {
-                               // compatible = "lp5521";
-                               reg = <0x34>;
-                       };
-                       bh1780@29 {
-                               // compatible = "rohm,bh1780gli";
-                               reg = <0x33>;
-                       };
-               };
-
-               cpufreq-cooling {
-                       status = "okay";
-               };
-
-               prcmu@80157000 {
-                       db8500-prcmu-regulators {
-                               db8500_vape_reg: db8500_vape {
-                                       regulator-name = "db8500-vape";
-                               };
-
-                               db8500_varm_reg: db8500_varm {
-                                       regulator-name = "db8500-varm";
-                               };
-
-                               db8500_vmodem_reg: db8500_vmodem {
-                                       regulator-name = "db8500-vmodem";
-                               };
-
-                               db8500_vpll_reg: db8500_vpll {
-                                       regulator-name = "db8500-vpll";
-                               };
-
-                               db8500_vsmps1_reg: db8500_vsmps1 {
-                                       regulator-name = "db8500-vsmps1";
-                               };
-
-                               db8500_vsmps2_reg: db8500_vsmps2 {
-                                       regulator-name = "db8500-vsmps2";
-                               };
-
-                               db8500_vsmps3_reg: db8500_vsmps3 {
-                                       regulator-name = "db8500-vsmps3";
-                               };
-
-                               db8500_vrf1_reg: db8500_vrf1 {
-                                       regulator-name = "db8500-vrf1";
-                               };
-
-                               db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
-                                       regulator-name = "db8500-sva-mmdsp";
-                               };
-
-                               db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
-                                       regulator-name = "db8500-sva-mmdsp-ret";
-                               };
-
-                               db8500_sva_pipe_reg: db8500_sva_pipe {
-                                       regulator-name = "db8500_sva_pipe";
-                               };
-
-                               db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
-                                       regulator-name = "db8500_sia_mmdsp";
-                               };
-
-                               db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
-                                       regulator-name = "db8500-sia-mmdsp-ret";
-                               };
-
-                               db8500_sia_pipe_reg: db8500_sia_pipe {
-                                       regulator-name = "db8500-sia-pipe";
-                               };
-
-                               db8500_sga_reg: db8500_sga {
-                                       regulator-name = "db8500-sga";
-                               };
-
-                               db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
-                                       regulator-name = "db8500-b2r2-mcde";
-                               };
-
-                               db8500_esram12_reg: db8500_esram12 {
-                                       regulator-name = "db8500-esram12";
-                               };
-
-                               db8500_esram12_ret_reg: db8500_esram12_ret {
-                                       regulator-name = "db8500-esram12-ret";
-                               };
-
-                               db8500_esram34_reg: db8500_esram34 {
-                                       regulator-name = "db8500-esram34";
-                               };
-
-                               db8500_esram34_ret_reg: db8500_esram34_ret {
-                                       regulator-name = "db8500-esram34-ret";
-                               };
-                       };
-
-                       thermal@801573c0 {
-                               num-trips = <4>;
-
-                               trip0-temp = <70000>;
-                               trip0-type = "active";
-                               trip0-cdev-num = <1>;
-                               trip0-cdev-name0 = "thermal-cpufreq-0";
-
-                               trip1-temp = <75000>;
-                               trip1-type = "active";
-                               trip1-cdev-num = <1>;
-                               trip1-cdev-name0 = "thermal-cpufreq-0";
-
-                               trip2-temp = <80000>;
-                               trip2-type = "active";
-                               trip2-cdev-num = <1>;
-                               trip2-cdev-name0 = "thermal-cpufreq-0";
-
-                               trip3-temp = <85000>;
-                               trip3-type = "critical";
-                               trip3-cdev-num = <0>;
-
-                               status = "okay";
-                       };
-
-                       ab8500 {
-                               ab8500-gpio {
-                                       compatible = "stericsson,ab8500-gpio";
-                               };
-
-                               ab8500-regulators {
-                                       ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
-                                               regulator-name = "V-DISPLAY";
-                                       };
-
-                                       ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
-                                               regulator-name = "V-eMMC1";
-                                       };
-
-                                       ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
-                                               regulator-name = "V-MMC-SD";
-                                       };
-
-                                       ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
-                                               regulator-name = "V-INTCORE";
-                                       };
-
-                                       ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
-                                               regulator-name = "V-TVOUT";
-                                       };
-
-                                       ab8500_ldo_usb_reg: ab8500_ldo_usb {
-                                               regulator-name = "dummy";
-                                       };
-
-                                       ab8500_ldo_audio_reg: ab8500_ldo_audio {
-                                               regulator-name = "V-AUD";
-                                       };
-
-                                       ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
-                                               regulator-name = "V-AMIC1";
-                                       };
-
-                                       ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
-                                               regulator-name = "V-AMIC2";
-                                       };
-
-                                       ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
-                                               regulator-name = "V-DMIC";
-                                       };
-
-                                       ab8500_ldo_ana_reg: ab8500_ldo_ana {
-                                               regulator-name = "V-CSI/DSI";
-                                       };
-                               };
-                       };
-               };
-       };
-};
index bee62a2cf6d653f9f151651ca8379d86d5a91f43..e273fa993b8c82aa696273be311a145d38d21e5d 100644 (file)
                };
 
                timer0: timer0@ffc08000 {
-                       compatible = "snps,dw-apb-timer-sp";
+                       compatible = "snps,dw-apb-timer";
                        interrupts = <0 167 4>;
                        reg = <0xffc08000 0x1000>;
                };
 
                timer1: timer1@ffc09000 {
-                       compatible = "snps,dw-apb-timer-sp";
+                       compatible = "snps,dw-apb-timer";
                        interrupts = <0 168 4>;
                        reg = <0xffc09000 0x1000>;
                };
 
                timer2: timer2@ffd00000 {
-                       compatible = "snps,dw-apb-timer-osc";
+                       compatible = "snps,dw-apb-timer";
                        interrupts = <0 169 4>;
                        reg = <0xffd00000 0x1000>;
                };
 
                timer3: timer3@ffd01000 {
-                       compatible = "snps,dw-apb-timer-osc";
+                       compatible = "snps,dw-apb-timer";
                        interrupts = <0 170 4>;
                        reg = <0xffd01000 0x1000>;
                };
diff --git a/arch/arm/boot/dts/ste-ccu8540-pinctrl.dtsi b/arch/arm/boot/dts/ste-ccu8540-pinctrl.dtsi
new file mode 100644 (file)
index 0000000..e079996
--- /dev/null
@@ -0,0 +1,196 @@
+/*
+ * Copyright 2012 ST-Ericsson
+ *
+ * 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 "ste-nomadik-pinctrl.dtsi"
+
+/ {
+       soc {
+               pinctrl {
+                       uart0 {
+                               uart0_default_mux: uart0_mux {
+                                       default_mux {
+                                               ste,function = "u0";
+                                               ste,pins = "u0_a_1";
+                                       };
+                               };
+
+                               uart0_default_mode: uart0_default {
+                                       default_cfg1 {
+                                               ste,pins = "GPIO0", "GPIO2";
+                                               ste,config = <&in_pu>;
+                                       };
+
+                                       default_cfg2 {
+                                               ste,pins = "GPIO1", "GPIO3";
+                                               ste,config = <&out_hi>;
+                                       };
+                               };
+
+                               uart0_sleep_mode: uart0_sleep {
+                                       sleep_cfg1 {
+                                               ste,pins = "GPIO0", "GPIO2";
+                                               ste,config = <&slpm_in_pu>;
+                                       };
+
+                                       sleep_cfg2 {
+                                               ste,pins = "GPIO1", "GPIO3";
+                                               ste,config = <&slpm_out_hi>;
+                                       };
+                               };
+                       };
+
+                       uart2 {
+                               uart2_default_mode: uart2_default {
+                                       default_mux {
+                                               ste,function = "u2";
+                                               ste,pins = "u2txrx_a_1";
+                                       };
+
+                                       default_cfg1 {
+                                               ste,pins = "GPIO120";
+                                               ste,config = <&in_pu>;
+                                       };
+
+                                       default_cfg2 {
+                                               ste,pins = "GPIO121";
+                                               ste,config = <&out_hi>;
+                                       };
+                               };
+
+                               uart2_sleep_mode: uart2_sleep {
+                                       sleep_cfg1 {
+                                               ste,pins = "GPIO120";
+                                               ste,config = <&slpm_in_pu>;
+                                       };
+
+                                       sleep_cfg2 {
+                                               ste,pins = "GPIO121";
+                                               ste,config = <&slpm_out_hi>;
+                                       };
+                               };
+                       };
+
+                       i2c0 {
+                               i2c0_default_mux: i2c_mux {
+                                       default_mux {
+                                               ste,function = "i2c0";
+                                               ste,pins = "i2c0_a_1";
+                                       };
+                               };
+
+                               i2c0_default_mode: i2c_default {
+                                       default_cfg1 {
+                                               ste,pins = "GPIO147", "GPIO148";
+                                               ste,config = <&in_pu>;
+                                       };
+                               };
+
+                               i2c0_sleep_mode: i2c_sleep {
+                                       sleep_cfg1 {
+                                               ste,pins = "GPIO147", "GPIO148";
+                                               ste,config = <&slpm_in_pu>;
+                                       };
+                               };
+                       };
+
+                       i2c1 {
+                               i2c1_default_mux: i2c_mux {
+                                       default_mux {
+                                               ste,function = "i2c1";
+                                               ste,pins = "i2c1_b_2";
+                                       };
+                               };
+
+                               i2c1_default_mode: i2c_default {
+                                       default_cfg1 {
+                                               ste,pins = "GPIO16", "GPIO17";
+                                               ste,config = <&in_pu>;
+                                       };
+                               };
+
+                               i2c1_sleep_mode: i2c_sleep {
+                                       sleep_cfg1 {
+                                               ste,pins = "GPIO16", "GPIO17";
+                                               ste,config = <&slpm_in_pu>;
+                                       };
+                               };
+                       };
+
+                       i2c2 {
+                               i2c2_default_mux: i2c_mux {
+                                       default_mux {
+                                               ste,function = "i2c2";
+                                               ste,pins = "i2c2_b_2";
+                                       };
+                               };
+
+                               i2c2_default_mode: i2c_default {
+                                       default_cfg1 {
+                                               ste,pins = "GPIO10", "GPIO11";
+                                               ste,config = <&in_pu>;
+                                       };
+                               };
+
+                               i2c2_sleep_mode: i2c_sleep {
+                                       sleep_cfg1 {
+                                               ste,pins = "GPIO11", "GPIO11";
+                                               ste,config = <&slpm_in_pu>;
+                                       };
+                               };
+                       };
+
+                       i2c4 {
+                               i2c4_default_mux: i2c_mux {
+                                       default_mux {
+                                               ste,function = "i2c4";
+                                               ste,pins = "i2c4_b_2";
+                                       };
+                               };
+
+                               i2c4_default_mode: i2c_default {
+                                       default_cfg1 {
+                                               ste,pins = "GPIO122", "GPIO123";
+                                               ste,config = <&in_pu>;
+                                       };
+                               };
+
+                               i2c4_sleep_mode: i2c_sleep {
+                                       sleep_cfg1 {
+                                               ste,pins = "GPIO122", "GPIO123";
+                                               ste,config = <&slpm_in_pu>;
+                                       };
+                               };
+                       };
+
+                       i2c5 {
+                               i2c5_default_mux: i2c_mux {
+                                       default_mux {
+                                               ste,function = "i2c5";
+                                               ste,pins = "i2c5_c_2";
+                                       };
+                               };
+
+                               i2c5_default_mode: i2c_default {
+                                       default_cfg1 {
+                                               ste,pins = "GPIO118", "GPIO119";
+                                               ste,config = <&in_pu>;
+                                       };
+                               };
+
+                               i2c5_sleep_mode: i2c_sleep {
+                                       sleep_cfg1 {
+                                               ste,pins = "GPIO118", "GPIO119";
+                                               ste,config = <&slpm_in_pu>;
+                                       };
+                               };
+                       };
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/ste-ccu8540.dts b/arch/arm/boot/dts/ste-ccu8540.dts
new file mode 100644 (file)
index 0000000..7f3baf5
--- /dev/null
@@ -0,0 +1,86 @@
+/*
+ * Copyright 2013 ST-Ericsson AB
+ *
+ * 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 "ste-dbx5x0.dtsi"
+#include "ste-ccu8540-pinctrl.dtsi"
+
+/ {
+       model = "ST-Ericsson U8540 platform with Device Tree";
+       compatible = "st-ericsson,ccu8540", "st-ericsson,u8540";
+
+       memory@0 {
+               reg = <0x20000000 0x1f000000>, <0xc0000000 0x3f000000>;
+       };
+
+       soc {
+               pinctrl {
+                       compatible = "stericsson,db8540-pinctrl";
+               };
+
+               prcmu@80157000 {
+                       reg = <0x80157000 0x2000>, <0x801b0000 0x8000>, <0x801b8000 0x3000>;
+                       reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm";
+               };
+
+               uart@80120000 {
+                       pinctrl-names = "default", "sleep";
+                       pinctrl-0 = <&uart0_default_mux>, <&uart0_default_mode>;
+                       pinctrl-1 = <&uart0_sleep_mode>;
+                       status = "okay";
+               };
+
+               uart@80121000 {
+                       status = "okay";
+               };
+
+               uart@80007000 {
+                       pinctrl-names = "default", "sleep";
+                       pinctrl-0 = <&uart2_default_mode>;
+                       pinctrl-1 = <&uart2_sleep_mode>;
+                       status = "okay";
+               };
+
+               i2c0: i2c@80004000 {
+                       pinctrl-names = "default","sleep";
+                       pinctrl-0 = <&i2c0_default_mux>, <&i2c0_default_mode>;
+                       pinctrl-1 = <&i2c0_sleep_mode>;
+               };
+
+               i2c1: i2c@80122000 {
+                       pinctrl-names = "default","sleep";
+                       pinctrl-0 = <&i2c1_default_mux>, <&i2c1_default_mode>;
+                       pinctrl-1 = <&i2c1_sleep_mode>;
+               };
+
+               i2c2: i2c@80128000 {
+                       pinctrl-names = "default","sleep";
+                       pinctrl-0 = <&i2c2_default_mux>, <&i2c2_default_mode>;
+                       pinctrl-1 = <&i2c2_sleep_mode>;
+               };
+
+               i2c3: i2c@80110000 {
+                       status = "disabled";
+               };
+
+               i2c4: i2c@8012a000 {
+                       pinctrl-names = "default","sleep";
+                       pinctrl-0 = <&i2c4_default_mux>, <&i2c4_default_mode>;
+                       pinctrl-1 = <&i2c4_sleep_mode>;
+               };
+
+               i2c5: i2c@80001000 {
+                       pinctrl-names = "default","sleep";
+                       pinctrl-0 = <&i2c5_default_mux>, <&i2c5_default_mode>;
+                       pinctrl-1 = <&i2c5_sleep_mode>;
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/ste-ccu9540.dts b/arch/arm/boot/dts/ste-ccu9540.dts
new file mode 100644 (file)
index 0000000..2295087
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2012 ST-Ericsson AB
+ *
+ * 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 "ste-dbx5x0.dtsi"
+
+/ {
+       model = "ST-Ericsson CCU9540 platform with Device Tree";
+       compatible = "st-ericsson,ccu9540", "st-ericsson,u9540";
+
+       memory {
+               reg = <0x00000000 0x20000000>;
+       };
+
+       soc {
+               uart@80120000 {
+                       status = "okay";
+               };
+
+               uart@80121000 {
+                       status = "okay";
+               };
+
+               uart@80007000 {
+                       status = "okay";
+               };
+
+               // External Micro SD slot
+               sdi0_per1@80126000 {
+                       arm,primecell-periphid = <0x10480180>;
+                       max-frequency = <100000000>;
+                       bus-width = <4>;
+                       mmc-cap-sd-highspeed;
+                       mmc-cap-mmc-highspeed;
+                       vmmc-supply = <&ab8500_ldo_aux3_reg>;
+
+                       cd-gpios  = <&gpio7 6 0x4>; // 230
+                       cd-inverted;
+
+                       status = "okay";
+               };
+
+
+               // WLAN SDIO channel
+               sdi1_per2@80118000 {
+                       arm,primecell-periphid = <0x10480180>;
+                       max-frequency = <100000000>;
+                       bus-width = <4>;
+
+                       status = "okay";
+               };
+
+               // On-board eMMC
+               sdi4_per2@80114000 {
+                       arm,primecell-periphid = <0x10480180>;
+                       max-frequency = <100000000>;
+                       bus-width = <8>;
+                       mmc-cap-mmc-highspeed;
+                       vmmc-supply = <&ab8500_ldo_aux2_reg>;
+
+                       status = "okay";
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/ste-dbx5x0.dtsi b/arch/arm/boot/dts/ste-dbx5x0.dtsi
new file mode 100644 (file)
index 0000000..1c1091e
--- /dev/null
@@ -0,0 +1,809 @@
+/*
+ * Copyright 2012 Linaro Ltd
+ *
+ * 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 <dt-bindings/interrupt-controller/irq.h>
+#include "skeleton.dtsi"
+
+/ {
+       soc {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "stericsson,db8500";
+               interrupt-parent = <&intc>;
+               ranges;
+
+               intc: interrupt-controller@a0411000 {
+                       compatible = "arm,cortex-a9-gic";
+                       #interrupt-cells = <3>;
+                       #address-cells = <1>;
+                       interrupt-controller;
+                       reg = <0xa0411000 0x1000>,
+                             <0xa0410100 0x100>;
+               };
+
+               L2: l2-cache {
+                       compatible = "arm,pl310-cache";
+                       reg = <0xa0412000 0x1000>;
+                       interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>;
+                       cache-unified;
+                       cache-level = <2>;
+               };
+
+               pmu {
+                       compatible = "arm,cortex-a9-pmu";
+                       interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>;
+               };
+
+               timer@a0410600 {
+                       compatible = "arm,cortex-a9-twd-timer";
+                       reg = <0xa0410600 0x20>;
+                       interrupts = <1 13 0x304>; /* IRQ level high per-CPU */
+               };
+
+               rtc@80154000 {
+                       compatible = "arm,rtc-pl031", "arm,primecell";
+                       reg = <0x80154000 0x1000>;
+                       interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>;
+               };
+
+               gpio0: gpio@8012e000 {
+                       compatible = "stericsson,db8500-gpio",
+                               "st,nomadik-gpio";
+                       reg =  <0x8012e000 0x80>;
+                       interrupts = <0 119 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       st,supports-sleepmode;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-bank = <0>;
+               };
+
+               gpio1: gpio@8012e080 {
+                       compatible = "stericsson,db8500-gpio",
+                               "st,nomadik-gpio";
+                       reg =  <0x8012e080 0x80>;
+                       interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       st,supports-sleepmode;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-bank = <1>;
+               };
+
+               gpio2: gpio@8000e000 {
+                       compatible = "stericsson,db8500-gpio",
+                               "st,nomadik-gpio";
+                       reg =  <0x8000e000 0x80>;
+                       interrupts = <0 121 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       st,supports-sleepmode;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-bank = <2>;
+               };
+
+               gpio3: gpio@8000e080 {
+                       compatible = "stericsson,db8500-gpio",
+                               "st,nomadik-gpio";
+                       reg =  <0x8000e080 0x80>;
+                       interrupts = <0 122 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       st,supports-sleepmode;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-bank = <3>;
+               };
+
+               gpio4: gpio@8000e100 {
+                       compatible = "stericsson,db8500-gpio",
+                               "st,nomadik-gpio";
+                       reg =  <0x8000e100 0x80>;
+                       interrupts = <0 123 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       st,supports-sleepmode;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-bank = <4>;
+               };
+
+               gpio5: gpio@8000e180 {
+                       compatible = "stericsson,db8500-gpio",
+                               "st,nomadik-gpio";
+                       reg =  <0x8000e180 0x80>;
+                       interrupts = <0 124 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       st,supports-sleepmode;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-bank = <5>;
+               };
+
+               gpio6: gpio@8011e000 {
+                       compatible = "stericsson,db8500-gpio",
+                               "st,nomadik-gpio";
+                       reg =  <0x8011e000 0x80>;
+                       interrupts = <0 125 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       st,supports-sleepmode;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-bank = <6>;
+               };
+
+               gpio7: gpio@8011e080 {
+                       compatible = "stericsson,db8500-gpio",
+                               "st,nomadik-gpio";
+                       reg =  <0x8011e080 0x80>;
+                       interrupts = <0 126 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       st,supports-sleepmode;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-bank = <7>;
+               };
+
+               gpio8: gpio@a03fe000 {
+                       compatible = "stericsson,db8500-gpio",
+                               "st,nomadik-gpio";
+                       reg =  <0xa03fe000 0x80>;
+                       interrupts = <0 127 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       st,supports-sleepmode;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-bank = <8>;
+               };
+
+               pinctrl {
+                       compatible = "stericsson,db8500-pinctrl";
+                       prcm = <&prcmu>;
+               };
+
+               usb_per5@a03e0000 {
+                       compatible = "stericsson,db8500-musb",
+                               "mentor,musb";
+                       reg = <0xa03e0000 0x10000>;
+                       interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "mc";
+
+                       dr_mode = "otg";
+
+                       dmas = <&dma 38 0 0x2>, /* Logical - DevToMem */
+                              <&dma 38 0 0x0>, /* Logical - MemToDev */
+                              <&dma 37 0 0x2>, /* Logical - DevToMem */
+                              <&dma 37 0 0x0>, /* Logical - MemToDev */
+                              <&dma 36 0 0x2>, /* Logical - DevToMem */
+                              <&dma 36 0 0x0>, /* Logical - MemToDev */
+                              <&dma 19 0 0x2>, /* Logical - DevToMem */
+                              <&dma 19 0 0x0>, /* Logical - MemToDev */
+                              <&dma 18 0 0x2>, /* Logical - DevToMem */
+                              <&dma 18 0 0x0>, /* Logical - MemToDev */
+                              <&dma 17 0 0x2>, /* Logical - DevToMem */
+                              <&dma 17 0 0x0>, /* Logical - MemToDev */
+                              <&dma 16 0 0x2>, /* Logical - DevToMem */
+                              <&dma 16 0 0x0>, /* Logical - MemToDev */
+                              <&dma 39 0 0x2>, /* Logical - DevToMem */
+                              <&dma 39 0 0x0>; /* Logical - MemToDev */
+
+                       dma-names = "iep_1_9",  "oep_1_9",
+                                   "iep_2_10", "oep_2_10",
+                                   "iep_3_11", "oep_3_11",
+                                   "iep_4_12", "oep_4_12",
+                                   "iep_5_13", "oep_5_13",
+                                   "iep_6_14", "oep_6_14",
+                                   "iep_7_15", "oep_7_15",
+                                   "iep_8",    "oep_8";
+               };
+
+               dma: dma-controller@801C0000 {
+                       compatible = "stericsson,db8500-dma40", "stericsson,dma40";
+                       reg = <0x801C0000 0x1000 0x40010000 0x800>;
+                       reg-names = "base", "lcpa";
+                       interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>;
+
+                       #dma-cells = <3>;
+                       memcpy-channels = <56 57 58 59 60>;
+               };
+
+               prcmu: prcmu@80157000 {
+                       compatible = "stericsson,db8500-prcmu";
+                       reg = <0x80157000 0x2000>, <0x801b0000 0x8000>, <0x801b8000 0x1000>;
+                       reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm";
+                       interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       ranges;
+
+                       prcmu-timer-4@80157450 {
+                               compatible = "stericsson,db8500-prcmu-timer-4";
+                               reg = <0x80157450 0xC>;
+                       };
+
+                       thermal@801573c0 {
+                               compatible = "stericsson,db8500-thermal";
+                               reg = <0x801573c0 0x40>;
+                               interrupts = <21 IRQ_TYPE_LEVEL_HIGH>,
+                                            <22 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupt-names = "IRQ_HOTMON_LOW", "IRQ_HOTMON_HIGH";
+                               status = "disabled";
+                       };
+
+                       db8500-prcmu-regulators {
+                               compatible = "stericsson,db8500-prcmu-regulator";
+
+                               // DB8500_REGULATOR_VAPE
+                               db8500_vape_reg: db8500_vape {
+                                       regulator-compatible = "db8500_vape";
+                                       regulator-always-on;
+                               };
+
+                               // DB8500_REGULATOR_VARM
+                               db8500_varm_reg: db8500_varm {
+                                       regulator-compatible = "db8500_varm";
+                               };
+
+                               // DB8500_REGULATOR_VMODEM
+                               db8500_vmodem_reg: db8500_vmodem {
+                                       regulator-compatible = "db8500_vmodem";
+                               };
+
+                               // DB8500_REGULATOR_VPLL
+                               db8500_vpll_reg: db8500_vpll {
+                                       regulator-compatible = "db8500_vpll";
+                               };
+
+                               // DB8500_REGULATOR_VSMPS1
+                               db8500_vsmps1_reg: db8500_vsmps1 {
+                                       regulator-compatible = "db8500_vsmps1";
+                               };
+
+                               // DB8500_REGULATOR_VSMPS2
+                               db8500_vsmps2_reg: db8500_vsmps2 {
+                                       regulator-compatible = "db8500_vsmps2";
+                               };
+
+                               // DB8500_REGULATOR_VSMPS3
+                               db8500_vsmps3_reg: db8500_vsmps3 {
+                                       regulator-compatible = "db8500_vsmps3";
+                               };
+
+                               // DB8500_REGULATOR_VRF1
+                               db8500_vrf1_reg: db8500_vrf1 {
+                                       regulator-compatible = "db8500_vrf1";
+                               };
+
+                               // DB8500_REGULATOR_SWITCH_SVAMMDSP
+                               db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
+                                       regulator-compatible = "db8500_sva_mmdsp";
+                               };
+
+                               // DB8500_REGULATOR_SWITCH_SVAMMDSPRET
+                               db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
+                                       regulator-compatible = "db8500_sva_mmdsp_ret";
+                               };
+
+                               // DB8500_REGULATOR_SWITCH_SVAPIPE
+                               db8500_sva_pipe_reg: db8500_sva_pipe {
+                                       regulator-compatible = "db8500_sva_pipe";
+                               };
+
+                               // DB8500_REGULATOR_SWITCH_SIAMMDSP
+                               db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
+                                       regulator-compatible = "db8500_sia_mmdsp";
+                               };
+
+                               // DB8500_REGULATOR_SWITCH_SIAMMDSPRET
+                               db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
+                               };
+
+                               // DB8500_REGULATOR_SWITCH_SIAPIPE
+                               db8500_sia_pipe_reg: db8500_sia_pipe {
+                                       regulator-compatible = "db8500_sia_pipe";
+                               };
+
+                               // DB8500_REGULATOR_SWITCH_SGA
+                               db8500_sga_reg: db8500_sga {
+                                       regulator-compatible = "db8500_sga";
+                                       vin-supply = <&db8500_vape_reg>;
+                               };
+
+                               // DB8500_REGULATOR_SWITCH_B2R2_MCDE
+                               db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
+                                       regulator-compatible = "db8500_b2r2_mcde";
+                                       vin-supply = <&db8500_vape_reg>;
+                               };
+
+                               // DB8500_REGULATOR_SWITCH_ESRAM12
+                               db8500_esram12_reg: db8500_esram12 {
+                                       regulator-compatible = "db8500_esram12";
+                               };
+
+                               // DB8500_REGULATOR_SWITCH_ESRAM12RET
+                               db8500_esram12_ret_reg: db8500_esram12_ret {
+                                       regulator-compatible = "db8500_esram12_ret";
+                               };
+
+                               // DB8500_REGULATOR_SWITCH_ESRAM34
+                               db8500_esram34_reg: db8500_esram34 {
+                                       regulator-compatible = "db8500_esram34";
+                               };
+
+                               // DB8500_REGULATOR_SWITCH_ESRAM34RET
+                               db8500_esram34_ret_reg: db8500_esram34_ret {
+                                       regulator-compatible = "db8500_esram34_ret";
+                               };
+                       };
+
+                       ab8500 {
+                               compatible = "stericsson,ab8500";
+                               interrupt-parent = <&intc>;
+                               interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupt-controller;
+                               #interrupt-cells = <2>;
+
+                               ab8500_gpio: ab8500-gpio {
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                               };
+
+                               ab8500-rtc {
+                                       compatible = "stericsson,ab8500-rtc";
+                                       interrupts = <17 IRQ_TYPE_LEVEL_HIGH
+                                                     18 IRQ_TYPE_LEVEL_HIGH>;
+                                       interrupt-names = "60S", "ALARM";
+                               };
+
+                               ab8500-gpadc {
+                                       compatible = "stericsson,ab8500-gpadc";
+                                       interrupts = <32 IRQ_TYPE_LEVEL_HIGH
+                                                     39 IRQ_TYPE_LEVEL_HIGH>;
+                                       interrupt-names = "HW_CONV_END", "SW_CONV_END";
+                                       vddadc-supply = <&ab8500_ldo_tvout_reg>;
+                               };
+
+                               ab8500_battery: ab8500_battery {
+                                       stericsson,battery-type = "LIPO";
+                                       thermistor-on-batctrl;
+                               };
+
+                               ab8500_fg {
+                                       compatible = "stericsson,ab8500-fg";
+                                       battery    = <&ab8500_battery>;
+                               };
+
+                               ab8500_btemp {
+                                       compatible = "stericsson,ab8500-btemp";
+                                       battery    = <&ab8500_battery>;
+                               };
+
+                               ab8500_charger {
+                                       compatible      = "stericsson,ab8500-charger";
+                                       battery         = <&ab8500_battery>;
+                                       vddadc-supply   = <&ab8500_ldo_tvout_reg>;
+                               };
+
+                               ab8500_chargalg {
+                                       compatible      = "stericsson,ab8500-chargalg";
+                                       battery         = <&ab8500_battery>;
+                               };
+
+                               ab8500_usb {
+                                       compatible = "stericsson,ab8500-usb";
+                                       interrupts = < 90 IRQ_TYPE_LEVEL_HIGH
+                                                      96 IRQ_TYPE_LEVEL_HIGH
+                                                      14 IRQ_TYPE_LEVEL_HIGH
+                                                      15 IRQ_TYPE_LEVEL_HIGH
+                                                      79 IRQ_TYPE_LEVEL_HIGH
+                                                      74 IRQ_TYPE_LEVEL_HIGH
+                                                      75 IRQ_TYPE_LEVEL_HIGH>;
+                                       interrupt-names = "ID_WAKEUP_R",
+                                                         "ID_WAKEUP_F",
+                                                         "VBUS_DET_F",
+                                                         "VBUS_DET_R",
+                                                         "USB_LINK_STATUS",
+                                                         "USB_ADP_PROBE_PLUG",
+                                                         "USB_ADP_PROBE_UNPLUG";
+                                       vddulpivio18-supply = <&ab8500_ldo_intcore_reg>;
+                                       v-ape-supply = <&db8500_vape_reg>;
+                                       musb_1v8-supply = <&db8500_vsmps2_reg>;
+                               };
+
+                               ab8500-ponkey {
+                                       compatible = "stericsson,ab8500-poweron-key";
+                                       interrupts = <6 IRQ_TYPE_LEVEL_HIGH
+                                                     7 IRQ_TYPE_LEVEL_HIGH>;
+                                       interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
+                               };
+
+                               ab8500-sysctrl {
+                                       compatible = "stericsson,ab8500-sysctrl";
+                               };
+
+                               ab8500-pwm {
+                                       compatible = "stericsson,ab8500-pwm";
+                               };
+
+                               ab8500-debugfs {
+                                       compatible = "stericsson,ab8500-debug";
+                               };
+
+                               codec: ab8500-codec {
+                                       compatible = "stericsson,ab8500-codec";
+
+                                       V-AUD-supply = <&ab8500_ldo_audio_reg>;
+                                       V-AMIC1-supply = <&ab8500_ldo_anamic1_reg>;
+                                       V-AMIC2-supply = <&ab8500_ldo_anamic2_reg>;
+                                       V-DMIC-supply = <&ab8500_ldo_dmic_reg>;
+
+                                       stericsson,earpeice-cmv = <950>; /* Units in mV. */
+                               };
+
+                               ext_regulators: ab8500-ext-regulators {
+                                       compatible = "stericsson,ab8500-ext-regulator";
+
+                                       ab8500_ext1_reg: ab8500_ext1 {
+                                               regulator-compatible = "ab8500_ext1";
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <1800000>;
+                                               regulator-boot-on;
+                                               regulator-always-on;
+                                       };
+
+                                       ab8500_ext2_reg: ab8500_ext2 {
+                                               regulator-compatible = "ab8500_ext2";
+                                               regulator-min-microvolt = <1360000>;
+                                               regulator-max-microvolt = <1360000>;
+                                               regulator-boot-on;
+                                               regulator-always-on;
+                                       };
+
+                                       ab8500_ext3_reg: ab8500_ext3 {
+                                               regulator-compatible = "ab8500_ext3";
+                                               regulator-min-microvolt = <3400000>;
+                                               regulator-max-microvolt = <3400000>;
+                                               regulator-boot-on;
+                                       };
+                               };
+
+                               ab8500-regulators {
+                                       compatible = "stericsson,ab8500-regulator";
+                                       vin-supply = <&ab8500_ext3_reg>;
+
+                                       // supplies to the display/camera
+                                       ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
+                                               regulator-compatible = "ab8500_ldo_aux1";
+                                               regulator-min-microvolt = <2500000>;
+                                               regulator-max-microvolt = <2900000>;
+                                               regulator-boot-on;
+                                               /* BUG: If turned off MMC will be affected. */
+                                               regulator-always-on;
+                                       };
+
+                                       // supplies to the on-board eMMC
+                                       ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
+                                               regulator-compatible = "ab8500_ldo_aux2";
+                                               regulator-min-microvolt = <1100000>;
+                                               regulator-max-microvolt = <3300000>;
+                                       };
+
+                                       // supply for VAUX3; SDcard slots
+                                       ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
+                                               regulator-compatible = "ab8500_ldo_aux3";
+                                               regulator-min-microvolt = <1100000>;
+                                               regulator-max-microvolt = <3300000>;
+                                       };
+
+                                       // supply for v-intcore12; VINTCORE12 LDO
+                                       ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
+                                               regulator-compatible = "ab8500_ldo_intcore";
+                                       };
+
+                                       // supply for tvout; gpadc; TVOUT LDO
+                                       ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
+                                               regulator-compatible = "ab8500_ldo_tvout";
+                                       };
+
+                                       // supply for ab8500-usb; USB LDO
+                                       ab8500_ldo_usb_reg: ab8500_ldo_usb {
+                                               regulator-compatible = "ab8500_ldo_usb";
+                                       };
+
+                                       // supply for ab8500-vaudio; VAUDIO LDO
+                                       ab8500_ldo_audio_reg: ab8500_ldo_audio {
+                                               regulator-compatible = "ab8500_ldo_audio";
+                                       };
+
+                                       // supply for v-anamic1 VAMIC1 LDO
+                                       ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
+                                               regulator-compatible = "ab8500_ldo_anamic1";
+                                       };
+
+                                       // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
+                                       ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
+                                               regulator-compatible = "ab8500_ldo_anamic2";
+                                       };
+
+                                       // supply for v-dmic; VDMIC LDO
+                                       ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
+                                               regulator-compatible = "ab8500_ldo_dmic";
+                                       };
+
+                                       // supply for U8500 CSI/DSI; VANA LDO
+                                       ab8500_ldo_ana_reg: ab8500_ldo_ana {
+                                               regulator-compatible = "ab8500_ldo_ana";
+                                       };
+                               };
+                       };
+               };
+
+               i2c@80004000 {
+                       compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
+                       reg = <0x80004000 0x1000>;
+                       interrupts = <0 21 IRQ_TYPE_LEVEL_HIGH>;
+                       arm,primecell-periphid = <0x180024>;
+
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       v-i2c-supply = <&db8500_vape_reg>;
+
+                       clock-frequency = <400000>;
+               };
+
+               i2c@80122000 {
+                       compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
+                       reg = <0x80122000 0x1000>;
+                       interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>;
+                       arm,primecell-periphid = <0x180024>;
+
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       v-i2c-supply = <&db8500_vape_reg>;
+
+                       clock-frequency = <400000>;
+               };
+
+               i2c@80128000 {
+                       compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
+                       reg = <0x80128000 0x1000>;
+                       interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>;
+                       arm,primecell-periphid = <0x180024>;
+
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       v-i2c-supply = <&db8500_vape_reg>;
+
+                       clock-frequency = <400000>;
+               };
+
+               i2c@80110000 {
+                       compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
+                       reg = <0x80110000 0x1000>;
+                       interrupts = <0 12 IRQ_TYPE_LEVEL_HIGH>;
+                       arm,primecell-periphid = <0x180024>;
+
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       v-i2c-supply = <&db8500_vape_reg>;
+
+                       clock-frequency = <400000>;
+               };
+
+               i2c@8012a000 {
+                       compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
+                       reg = <0x8012a000 0x1000>;
+                       interrupts = <0 51 IRQ_TYPE_LEVEL_HIGH>;
+                       arm,primecell-periphid = <0x180024>;
+
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       v-i2c-supply = <&db8500_vape_reg>;
+
+                       clock-frequency = <400000>;
+               };
+
+               ssp@80002000 {
+                       compatible = "arm,pl022", "arm,primecell";
+                       reg = <0x80002000 0x1000>;
+                       interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+               };
+
+               uart@80120000 {
+                       compatible = "arm,pl011", "arm,primecell";
+                       reg = <0x80120000 0x1000>;
+                       interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
+
+                       dmas = <&dma 13 0 0x2>, /* Logical - DevToMem */
+                              <&dma 13 0 0x0>; /* Logical - MemToDev */
+                       dma-names = "rx", "tx";
+
+                       status = "disabled";
+               };
+
+               uart@80121000 {
+                       compatible = "arm,pl011", "arm,primecell";
+                       reg = <0x80121000 0x1000>;
+                       interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>;
+
+                       dmas = <&dma 12 0 0x2>, /* Logical - DevToMem */
+                              <&dma 12 0 0x0>; /* Logical - MemToDev */
+                       dma-names = "rx", "tx";
+
+                       status = "disabled";
+               };
+
+               uart@80007000 {
+                       compatible = "arm,pl011", "arm,primecell";
+                       reg = <0x80007000 0x1000>;
+                       interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;
+
+                       dmas = <&dma 11 0 0x2>, /* Logical - DevToMem */
+                              <&dma 11 0 0x0>; /* Logical - MemToDev */
+                       dma-names = "rx", "tx";
+
+                       status = "disabled";
+               };
+
+               sdi0_per1@80126000 {
+                       compatible = "arm,pl18x", "arm,primecell";
+                       reg = <0x80126000 0x1000>;
+                       interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>;
+
+                       dmas = <&dma 29 0 0x2>, /* Logical - DevToMem */
+                              <&dma 29 0 0x0>; /* Logical - MemToDev */
+                       dma-names = "rx", "tx";
+
+                       status = "disabled";
+               };
+
+               sdi1_per2@80118000 {
+                       compatible = "arm,pl18x", "arm,primecell";
+                       reg = <0x80118000 0x1000>;
+                       interrupts = <0 50 IRQ_TYPE_LEVEL_HIGH>;
+
+                       dmas = <&dma 32 0 0x2>, /* Logical - DevToMem */
+                              <&dma 32 0 0x0>; /* Logical - MemToDev */
+                       dma-names = "rx", "tx";
+
+                       status = "disabled";
+               };
+
+               sdi2_per3@80005000 {
+                       compatible = "arm,pl18x", "arm,primecell";
+                       reg = <0x80005000 0x1000>;
+                       interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
+
+                       dmas = <&dma 28 0 0x2>, /* Logical - DevToMem */
+                              <&dma 28 0 0x0>; /* Logical - MemToDev */
+                       dma-names = "rx", "tx";
+
+                       status = "disabled";
+               };
+
+               sdi3_per2@80119000 {
+                       compatible = "arm,pl18x", "arm,primecell";
+                       reg = <0x80119000 0x1000>;
+                       interrupts = <0 59 IRQ_TYPE_LEVEL_HIGH>;
+                       status = "disabled";
+               };
+
+               sdi4_per2@80114000 {
+                       compatible = "arm,pl18x", "arm,primecell";
+                       reg = <0x80114000 0x1000>;
+                       interrupts = <0 99 IRQ_TYPE_LEVEL_HIGH>;
+
+                       dmas = <&dma 42 0 0x2>, /* Logical - DevToMem */
+                              <&dma 42 0 0x0>; /* Logical - MemToDev */
+                       dma-names = "rx", "tx";
+
+                       status = "disabled";
+               };
+
+               sdi5_per3@80008000 {
+                       compatible = "arm,pl18x", "arm,primecell";
+                       reg = <0x80008000 0x1000>;
+                       interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>;
+                       status = "disabled";
+               };
+
+               msp0: msp@80123000 {
+                       compatible = "stericsson,ux500-msp-i2s";
+                       reg = <0x80123000 0x1000>;
+                       interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>;
+                       v-ape-supply = <&db8500_vape_reg>;
+                       status = "disabled";
+               };
+
+               msp1: msp@80124000 {
+                       compatible = "stericsson,ux500-msp-i2s";
+                       reg = <0x80124000 0x1000>;
+                       interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>;
+                       v-ape-supply = <&db8500_vape_reg>;
+                       status = "disabled";
+               };
+
+               // HDMI sound
+               msp2: msp@80117000 {
+                       compatible = "stericsson,ux500-msp-i2s";
+                       reg = <0x80117000 0x1000>;
+                       interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>;
+                       v-ape-supply = <&db8500_vape_reg>;
+                       status = "disabled";
+               };
+
+               msp3: msp@80125000 {
+                       compatible = "stericsson,ux500-msp-i2s";
+                       reg = <0x80125000 0x1000>;
+                       interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>;
+                       v-ape-supply = <&db8500_vape_reg>;
+                       status = "disabled";
+               };
+
+               external-bus@50000000 {
+                       compatible = "simple-bus";
+                       reg = <0x50000000 0x4000000>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0 0x50000000 0x4000000>;
+                       status = "disabled";
+               };
+
+               cpufreq-cooling {
+                       compatible = "stericsson,db8500-cpufreq-cooling";
+                       status = "disabled";
+                };
+
+               vmmci: regulator-gpio {
+                       compatible = "regulator-gpio";
+
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <2900000>;
+                       regulator-name = "mmci-reg";
+                       regulator-type = "voltage";
+
+                       startup-delay-us = <100>;
+                       enable-active-high;
+
+                       states = <1800000 0x1
+                                 2900000 0x0>;
+
+                       status = "disabled";
+               };
+
+               cryp@a03cb000 {
+                       compatible = "stericsson,ux500-cryp";
+                       reg = <0xa03cb000 0x1000>;
+                       interrupts = <0 15 IRQ_TYPE_LEVEL_HIGH>;
+
+                       v-ape-supply = <&db8500_vape_reg>;
+               };
+
+               hash@a03c2000 {
+                       compatible = "stericsson,ux500-hash";
+                       reg = <0xa03c2000 0x1000>;
+
+                       v-ape-supply = <&db8500_vape_reg>;
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/ste-href.dtsi b/arch/arm/boot/dts/ste-href.dtsi
new file mode 100644 (file)
index 0000000..370e03f
--- /dev/null
@@ -0,0 +1,301 @@
+/*
+ * Copyright 2012 ST-Ericsson AB
+ *
+ * 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 <dt-bindings/interrupt-controller/irq.h>
+#include "ste-dbx5x0.dtsi"
+
+/ {
+       memory {
+               reg = <0x00000000 0x20000000>;
+       };
+
+       gpio_keys {
+               compatible = "gpio-keys";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               button@1 {
+                       linux,code = <11>;
+                       label = "SFH7741 Proximity Sensor";
+               };
+       };
+
+       soc {
+               uart@80120000 {
+                       status = "okay";
+               };
+
+               uart@80121000 {
+                       status = "okay";
+               };
+
+               uart@80007000 {
+                       status = "okay";
+               };
+
+               i2c@80004000 {
+                       tc3589x@42 {
+                               compatible = "tc3589x";
+                               reg = <0x42>;
+                               interrupt-parent = <&gpio6>;
+                               interrupts = <25 IRQ_TYPE_EDGE_RISING>;
+
+                               interrupt-controller;
+                               #interrupt-cells = <2>;
+
+                               tc3589x_gpio: tc3589x_gpio {
+                                       compatible = "tc3589x-gpio";
+                                       interrupts = <0 IRQ_TYPE_EDGE_RISING>;
+
+                                       interrupt-controller;
+                                       #interrupt-cells = <2>;
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                               };
+                       };
+               };
+
+               i2c@80128000 {
+                       lp5521@33 {
+                               compatible = "national,lp5521";
+                               reg = <0x33>;
+                               label = "lp5521_pri";
+                               clock-mode = /bits/ 8 <2>;
+                               chan0 {
+                                       led-cur = /bits/ 8 <0x2f>;
+                                       max-cur = /bits/ 8 <0x5f>;
+                               };
+                               chan1 {
+                                       led-cur = /bits/ 8 <0x2f>;
+                                       max-cur = /bits/ 8 <0x5f>;
+                               };
+                               chan2 {
+                                       led-cur = /bits/ 8 <0x2f>;
+                                       max-cur = /bits/ 8 <0x5f>;
+                               };
+                       };
+                       lp5521@34 {
+                               compatible = "national,lp5521";
+                               reg = <0x34>;
+                               label = "lp5521_sec";
+                               clock-mode = /bits/ 8 <2>;
+                               chan0 {
+                                       led-cur = /bits/ 8 <0x2f>;
+                                       max-cur = /bits/ 8 <0x5f>;
+                               };
+                               chan1 {
+                                       led-cur = /bits/ 8 <0x2f>;
+                                       max-cur = /bits/ 8 <0x5f>;
+                               };
+                               chan2 {
+                                       led-cur = /bits/ 8 <0x2f>;
+                                       max-cur = /bits/ 8 <0x5f>;
+                               };
+                       };
+                       bh1780@29 {
+                               compatible = "rohm,bh1780gli";
+                               reg = <0x33>;
+                       };
+               };
+
+               // External Micro SD slot
+               sdi0_per1@80126000 {
+                       arm,primecell-periphid = <0x10480180>;
+                       max-frequency = <100000000>;
+                       bus-width = <4>;
+                       mmc-cap-sd-highspeed;
+                       mmc-cap-mmc-highspeed;
+                       vmmc-supply = <&ab8500_ldo_aux3_reg>;
+                       vqmmc-supply = <&vmmci>;
+
+                       cd-gpios  = <&tc3589x_gpio 3 0x4>;
+
+                       status = "okay";
+               };
+
+               // WLAN SDIO channel
+               sdi1_per2@80118000 {
+                       arm,primecell-periphid = <0x10480180>;
+                       max-frequency = <100000000>;
+                       bus-width = <4>;
+
+                       status = "okay";
+               };
+
+               // PoP:ed eMMC
+               sdi2_per3@80005000 {
+                       arm,primecell-periphid = <0x10480180>;
+                       max-frequency = <100000000>;
+                       bus-width = <8>;
+                       mmc-cap-mmc-highspeed;
+
+                       status = "okay";
+               };
+
+               // On-board eMMC
+               sdi4_per2@80114000 {
+                       arm,primecell-periphid = <0x10480180>;
+                       max-frequency = <100000000>;
+                       bus-width = <8>;
+                       mmc-cap-mmc-highspeed;
+                       vmmc-supply = <&ab8500_ldo_aux2_reg>;
+
+                       status = "okay";
+               };
+
+               sound {
+                       compatible = "stericsson,snd-soc-mop500";
+
+                       stericsson,cpu-dai = <&msp1 &msp3>;
+                       stericsson,audio-codec = <&codec>;
+               };
+
+               msp1: msp@80124000 {
+                       status = "okay";
+               };
+
+               msp3: msp@80125000 {
+                       status = "okay";
+               };
+
+               prcmu@80157000 {
+                       db8500-prcmu-regulators {
+                               db8500_vape_reg: db8500_vape {
+                                       regulator-name = "db8500-vape";
+                               };
+
+                               db8500_varm_reg: db8500_varm {
+                                       regulator-name = "db8500-varm";
+                               };
+
+                               db8500_vmodem_reg: db8500_vmodem {
+                                       regulator-name = "db8500-vmodem";
+                               };
+
+                               db8500_vpll_reg: db8500_vpll {
+                                       regulator-name = "db8500-vpll";
+                               };
+
+                               db8500_vsmps1_reg: db8500_vsmps1 {
+                                       regulator-name = "db8500-vsmps1";
+                               };
+
+                               db8500_vsmps2_reg: db8500_vsmps2 {
+                                       regulator-name = "db8500-vsmps2";
+                               };
+
+                               db8500_vsmps3_reg: db8500_vsmps3 {
+                                       regulator-name = "db8500-vsmps3";
+                               };
+
+                               db8500_vrf1_reg: db8500_vrf1 {
+                                       regulator-name = "db8500-vrf1";
+                               };
+
+                               db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
+                                       regulator-name = "db8500-sva-mmdsp";
+                               };
+
+                               db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
+                                       regulator-name = "db8500-sva-mmdsp-ret";
+                               };
+
+                               db8500_sva_pipe_reg: db8500_sva_pipe {
+                                       regulator-name = "db8500_sva_pipe";
+                               };
+
+                               db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
+                                       regulator-name = "db8500_sia_mmdsp";
+                               };
+
+                               db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
+                                       regulator-name = "db8500-sia-mmdsp-ret";
+                               };
+
+                               db8500_sia_pipe_reg: db8500_sia_pipe {
+                                       regulator-name = "db8500-sia-pipe";
+                               };
+
+                               db8500_sga_reg: db8500_sga {
+                                       regulator-name = "db8500-sga";
+                               };
+
+                               db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
+                                       regulator-name = "db8500-b2r2-mcde";
+                               };
+
+                               db8500_esram12_reg: db8500_esram12 {
+                                       regulator-name = "db8500-esram12";
+                               };
+
+                               db8500_esram12_ret_reg: db8500_esram12_ret {
+                                       regulator-name = "db8500-esram12-ret";
+                               };
+
+                               db8500_esram34_reg: db8500_esram34 {
+                                       regulator-name = "db8500-esram34";
+                               };
+
+                               db8500_esram34_ret_reg: db8500_esram34_ret {
+                                       regulator-name = "db8500-esram34-ret";
+                               };
+                       };
+
+                       ab8500 {
+                               ab8500-regulators {
+                                       ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
+                                               regulator-name = "V-DISPLAY";
+                                       };
+
+                                       ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
+                                               regulator-name = "V-eMMC1";
+                                       };
+
+                                       ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
+                                               regulator-name = "V-MMC-SD";
+                                       };
+
+                                       ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
+                                               regulator-name = "V-INTCORE";
+                                       };
+
+                                       ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
+                                               regulator-name = "V-TVOUT";
+                                       };
+
+                                       ab8500_ldo_usb_reg: ab8500_ldo_usb {
+                                               regulator-name = "dummy";
+                                       };
+
+                                       ab8500_ldo_audio_reg: ab8500_ldo_audio {
+                                               regulator-name = "V-AUD";
+                                       };
+
+                                       ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
+                                               regulator-name = "V-AMIC1";
+                                       };
+
+                                       ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
+                                               regulator-name = "V-AMIC2";
+                                       };
+
+                                       ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
+                                               regulator-name = "V-DMIC";
+                                       };
+
+                                       ab8500_ldo_ana_reg: ab8500_ldo_ana {
+                                               regulator-name = "V-CSI/DSI";
+                                       };
+                               };
+                       };
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/ste-hrefprev60.dts b/arch/arm/boot/dts/ste-hrefprev60.dts
new file mode 100644 (file)
index 0000000..d8d3b99
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2012 ST-Ericsson AB
+ *
+ * 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 "ste-dbx5x0.dtsi"
+#include "ste-href.dtsi"
+#include "ste-stuib.dtsi"
+
+/ {
+       model = "ST-Ericsson HREF (pre-v60) platform with Device Tree";
+       compatible = "st-ericsson,mop500", "st-ericsson,u8500";
+
+       gpio_keys {
+               button@1 {
+                       gpios = <&tc3589x_gpio 7 0x4>;
+               };
+       };
+
+       soc {
+               prcmu@80157000 {
+                       ab8500@5 {
+                               ab8500-gpio {
+                                       compatible = "stericsson,ab8500-gpio";
+                               };
+                       };
+               };
+
+               i2c@80004000 {
+                       tps61052@33 {
+                               compatible = "tps61052";
+                               reg = <0x33>;
+                       };
+               };
+
+               i2c@80110000 {
+                       bu21013_tp@5c {
+                               reset-gpio = <&tc3589x_gpio 13 0x4>;
+                       };
+               };
+
+               vmmci: regulator-gpio {
+                       gpios = <&tc3589x_gpio 18 0x4>;
+                       enable-gpio = <&tc3589x_gpio 17 0x4>;
+
+                       status = "okay";
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/ste-hrefv60plus.dts b/arch/arm/boot/dts/ste-hrefv60plus.dts
new file mode 100644 (file)
index 0000000..6e52ebb
--- /dev/null
@@ -0,0 +1,210 @@
+/*
+ * Copyright 2012 ST-Ericsson AB
+ *
+ * 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 "ste-dbx5x0.dtsi"
+#include "ste-href.dtsi"
+#include "ste-stuib.dtsi"
+
+/ {
+       model = "ST-Ericsson HREF (v60+) platform with Device Tree";
+       compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
+
+       gpio_keys {
+               button@1 {
+                       gpios = <&gpio6 25 0x4>;
+               };
+       };
+
+       soc {
+               i2c@80110000 {
+                       bu21013_tp@0x5c {
+                               reset-gpio = <&gpio4 15 0x4>;
+                       };
+               };
+
+               // External Micro SD slot
+               sdi0_per1@80126000 {
+                       arm,primecell-periphid = <0x10480180>;
+                       max-frequency = <100000000>;
+                       bus-width = <4>;
+                       mmc-cap-sd-highspeed;
+                       mmc-cap-mmc-highspeed;
+                       vmmc-supply = <&ab8500_ldo_aux3_reg>;
+
+                       cd-gpios  = <&tc3589x_gpio 3 0x4>;
+
+                       status = "okay";
+               };
+
+               // WLAN SDIO channel
+               sdi1_per2@80118000 {
+                       arm,primecell-periphid = <0x10480180>;
+                       max-frequency = <100000000>;
+                       bus-width = <4>;
+
+                       status = "okay";
+               };
+
+               // PoP:ed eMMC
+               sdi2_per3@80005000 {
+                       arm,primecell-periphid = <0x10480180>;
+                       max-frequency = <100000000>;
+                       bus-width = <8>;
+                       mmc-cap-mmc-highspeed;
+
+                       status = "okay";
+               };
+
+               // On-board eMMC
+               sdi4_per2@80114000 {
+                       arm,primecell-periphid = <0x10480180>;
+                       max-frequency = <100000000>;
+                       bus-width = <8>;
+                       mmc-cap-mmc-highspeed;
+                       vmmc-supply = <&ab8500_ldo_aux2_reg>;
+
+                       status = "okay";
+               };
+
+               prcmu@80157000 {
+                       db8500-prcmu-regulators {
+                               db8500_vape_reg: db8500_vape {
+                                       regulator-name = "db8500-vape";
+                               };
+
+                               db8500_varm_reg: db8500_varm {
+                                       regulator-name = "db8500-varm";
+                               };
+
+                               db8500_vmodem_reg: db8500_vmodem {
+                                       regulator-name = "db8500-vmodem";
+                               };
+
+                               db8500_vpll_reg: db8500_vpll {
+                                       regulator-name = "db8500-vpll";
+                               };
+
+                               db8500_vsmps1_reg: db8500_vsmps1 {
+                                       regulator-name = "db8500-vsmps1";
+                               };
+
+                               db8500_vsmps2_reg: db8500_vsmps2 {
+                                       regulator-name = "db8500-vsmps2";
+                               };
+
+                               db8500_vsmps3_reg: db8500_vsmps3 {
+                                       regulator-name = "db8500-vsmps3";
+                               };
+
+                               db8500_vrf1_reg: db8500_vrf1 {
+                                       regulator-name = "db8500-vrf1";
+                               };
+
+                               db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
+                                       regulator-name = "db8500-sva-mmdsp";
+                               };
+
+                               db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
+                                       regulator-name = "db8500-sva-mmdsp-ret";
+                               };
+
+                               db8500_sva_pipe_reg: db8500_sva_pipe {
+                                       regulator-name = "db8500_sva_pipe";
+                               };
+
+                               db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
+                                       regulator-name = "db8500_sia_mmdsp";
+                               };
+
+                               db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
+                                       regulator-name = "db8500-sia-mmdsp-ret";
+                               };
+
+                               db8500_sia_pipe_reg: db8500_sia_pipe {
+                                       regulator-name = "db8500-sia-pipe";
+                               };
+
+                               db8500_sga_reg: db8500_sga {
+                                       regulator-name = "db8500-sga";
+                               };
+
+                               db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
+                                       regulator-name = "db8500-b2r2-mcde";
+                               };
+
+                               db8500_esram12_reg: db8500_esram12 {
+                                       regulator-name = "db8500-esram12";
+                               };
+
+                               db8500_esram12_ret_reg: db8500_esram12_ret {
+                                       regulator-name = "db8500-esram12-ret";
+                               };
+
+                               db8500_esram34_reg: db8500_esram34 {
+                                       regulator-name = "db8500-esram34";
+                               };
+
+                               db8500_esram34_ret_reg: db8500_esram34_ret {
+                                       regulator-name = "db8500-esram34-ret";
+                               };
+                       };
+
+                       ab8500 {
+                               ab8500-regulators {
+                                       ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
+                                               regulator-name = "V-DISPLAY";
+                                       };
+
+                                       ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
+                                               regulator-name = "V-eMMC1";
+                                       };
+
+                                       ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
+                                               regulator-name = "V-MMC-SD";
+                                       };
+
+                                       ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
+                                               regulator-name = "V-INTCORE";
+                                       };
+
+                                       ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
+                                               regulator-name = "V-TVOUT";
+                                       };
+
+                                       ab8500_ldo_usb_reg: ab8500_ldo_usb {
+                                               regulator-name = "dummy";
+                                       };
+
+                                       ab8500_ldo_audio_reg: ab8500_ldo_audio {
+                                               regulator-name = "V-AUD";
+                                       };
+
+                                       ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
+                                               regulator-name = "V-AMIC1";
+                                       };
+
+                                       ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
+                                               regulator-name = "V-AMIC2";
+                                       };
+
+                                       ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
+                                               regulator-name = "V-DMIC";
+                                       };
+
+                                       ab8500_ldo_ana_reg: ab8500_ldo_ana {
+                                               regulator-name = "V-CSI/DSI";
+                                       };
+                               };
+                       };
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/ste-nomadik-pinctrl.dtsi b/arch/arm/boot/dts/ste-nomadik-pinctrl.dtsi
new file mode 100644 (file)
index 0000000..efddee9
--- /dev/null
@@ -0,0 +1,95 @@
+/*
+ * Copyright 2012 ST-Ericsson
+ *
+ * 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 <dt-bindings/pinctrl/nomadik.h>
+
+/ {
+       in_nopull: in_nopull {
+               ste,input = <INPUT_NOPULL>;
+       };
+
+       in_pu: input_pull_up {
+               ste,input = <INPUT_PULLUP>;
+       };
+
+       in_pd: input_pull_down {
+               ste,input = <INPUT_PULLDOWN>;
+       };
+
+       out_hi: output_high {
+               ste,output = <OUTPUT_HIGH>;
+       };
+
+       out_lo: output_low {
+               ste,output = <OUTPUT_LOW>;
+       };
+
+       gpio_out_lo: gpio_output_low {
+               ste,gpio = <GPIOMODE_ENABLED>;
+               ste,output = <OUTPUT_LOW>;
+       };
+
+       slpm_in_pu: slpm_in_pu {
+               ste,sleep = <SLPM_ENABLED>;
+               ste,sleep-input = <SLPM_INPUT_PULLUP>;
+               ste,sleep-wakeup = <SLPM_WAKEUP_ENABLE>;
+       };
+
+       slpm_in_wkup_pdis: slpm_in_wkup_pdis {
+               ste,sleep = <SLPM_ENABLED>;
+               ste,sleep-input = <SLPM_DIR_INPUT>;
+               ste,sleep-wakeup = <SLPM_WAKEUP_ENABLE>;
+               ste,sleep-pull-disable = <SLPM_PDIS_DISABLED>;
+       };
+
+       slpm_out_lo: slpm_out_lo {
+               ste,sleep = <SLPM_ENABLED>;
+               ste,sleep-output = <SLPM_OUTPUT_LOW>;
+               ste,sleep-wakeup = <SLPM_WAKEUP_ENABLE>;
+       };
+
+       slpm_out_hi: slpm_out_hi {
+               ste,sleep = <SLPM_ENABLED>;
+               ste,sleep-output = <SLPM_OUTPUT_HIGH>;
+               ste,sleep-wakeup = <SLPM_WAKEUP_ENABLE>;
+       };
+
+       slpm_out_hi_wkup_pdis: slpm_out_hi_wkup_pdis {
+               ste,sleep = <SLPM_ENABLED>;
+               ste,sleep-output = <SLPM_OUTPUT_HIGH>;
+               ste,sleep-wakeup = <SLPM_WAKEUP_ENABLE>;
+               ste,sleep-pull-disable = <SLPM_PDIS_DISABLED>;
+       };
+
+       slpm_out_wkup_pdis: slpm_out_wkup_pdis {
+               ste,sleep = <SLPM_ENABLED>;
+               ste,sleep-output = <SLPM_DIR_OUTPUT>;
+               ste,sleep-wakeup = <SLPM_WAKEUP_ENABLE>;
+               ste,sleep-pull-disable = <SLPM_PDIS_DISABLED>;
+       };
+
+       in_wkup_pdis: in_wkup_pdis {
+               ste,sleep-input = <SLPM_DIR_INPUT>;
+               ste,sleep-wakeup = <SLPM_WAKEUP_ENABLE>;
+               ste,sleep-pull-disable = <SLPM_PDIS_DISABLED>;
+       };
+
+       out_hi_wkup_pdis: out_hi_wkup_pdis {
+               ste,sleep-output = <SLPM_OUTPUT_HIGH>;
+               ste,sleep-wakeup = <SLPM_WAKEUP_ENABLE>;
+               ste,sleep-pull-disable = <SLPM_PDIS_DISABLED>;
+       };
+
+       out_wkup_pdis: out_wkup_pdis {
+               ste,sleep-output = <SLPM_DIR_OUTPUT>;
+               ste,sleep-wakeup = <SLPM_WAKEUP_ENABLE>;
+               ste,sleep-pull-disable = <SLPM_PDIS_DISABLED>;
+       };
+};
index a3acfa7b3dc9c65fe6abded6a17a97aee3c4729e..9169d3025f39ed5fd2475f43f0d3cd261e71894d 100644 (file)
                        };
                };
                i2c0 {
+                       i2c0_default_mux: i2c0_mux {
+                               i2c0_default_mux {
+                                       ste,function = "i2c0";
+                                       ste,pins = "i2c0_a_1";
+                               };
+                       };
                        i2c0_default_mode: i2c0_default {
                                i2c0_default_cfg {
                                        ste,pins = "GPIO62_D3", "GPIO63_D2";
-                                       ste,input = <1>;
+                                       ste,input = <0>;
                                };
                        };
                };
                i2c1 {
+                       i2c1_default_mux: i2c1_mux {
+                               i2c1_default_mux {
+                                       ste,function = "i2c1";
+                                       ste,pins = "i2c1_a_1";
+                               };
+                       };
                        i2c1_default_mode: i2c1_default {
                                i2c1_default_cfg {
                                        ste,pins = "GPIO53_L4", "GPIO54_L3";
-                                       ste,input = <1>;
+                                       ste,input = <0>;
                                };
                        };
                };
                        i2c2_default_mode: i2c2_default {
                                i2c2_default_cfg {
                                        ste,pins = "GPIO73_C21", "GPIO74_C20";
-                                       ste,input = <1>;
+                                       ste,input = <0>;
                                };
                        };
                };
 
        /* I2C0 connected to the STw4811 power management chip */
        i2c0 {
-               compatible = "i2c-gpio";
-               gpios = <&gpio1 31 0>, /* sda */
-                       <&gpio1 30 0>; /* scl */
+               compatible = "st,nomadik-i2c", "arm,primecell";
+               reg = <0x101f8000 0x1000>;
+               interrupt-parent = <&vica>;
+               interrupts = <20>;
+               clock-frequency = <100000>;
                #address-cells = <1>;
                #size-cells = <0>;
+               clocks = <&i2c0clk>, <&pclki2c0>;
+               clock-names = "mclk", "apb_pclk";
                pinctrl-names = "default";
-               pinctrl-0 = <&i2c0_default_mode>;
+               pinctrl-0 = <&i2c0_default_mux>, <&i2c0_default_mode>;
 
                stw4811@2d {
                           compatible = "st,stw4811";
 
        /* I2C1 connected to various sensors */
        i2c1 {
-               compatible = "i2c-gpio";
-               gpios = <&gpio1 22 0>, /* sda */
-                       <&gpio1 21 0>; /* scl */
+               compatible = "st,nomadik-i2c", "arm,primecell";
+               reg = <0x101f7000 0x1000>;
+               interrupt-parent = <&vica>;
+               interrupts = <21>;
+               clock-frequency = <100000>;
                #address-cells = <1>;
                #size-cells = <0>;
+               clocks = <&i2c1clk>, <&pclki2c1>;
+               clock-names = "mclk", "apb_pclk";
                pinctrl-names = "default";
-               pinctrl-0 = <&i2c1_default_mode>;
+               pinctrl-0 = <&i2c1_default_mux>, <&i2c1_default_mode>;
 
                camera@2d {
                           compatible = "st,camera";
diff --git a/arch/arm/boot/dts/ste-snowball.dts b/arch/arm/boot/dts/ste-snowball.dts
new file mode 100644 (file)
index 0000000..f1fc128
--- /dev/null
@@ -0,0 +1,347 @@
+/*
+ * Copyright 2011 ST-Ericsson AB
+ *
+ * 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 "ste-dbx5x0.dtsi"
+
+/ {
+       model = "Calao Systems Snowball platform with device tree";
+       compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500";
+
+       memory {
+               reg = <0x00000000 0x20000000>;
+       };
+
+       en_3v3_reg: en_3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "en-3v3-fixed-supply";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               /* AB8500 GPIOs start from 1 - offset 25 is GPIO26. */
+               gpio = <&ab8500_gpio 25 0x4>;
+               startup-delay-us = <5000>;
+               enable-active-high;
+       };
+
+       gpio_keys {
+               compatible = "gpio-keys";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               button@1 {
+                       debounce_interval = <50>;
+                       wakeup = <1>;
+                       linux,code = <2>;
+                       label = "userpb";
+                       gpios = <&gpio1 0 0x4>;
+               };
+               button@2 {
+                       debounce_interval = <50>;
+                       wakeup = <1>;
+                       linux,code = <3>;
+                       label = "extkb1";
+                       gpios = <&gpio4 23 0x4>;
+               };
+               button@3 {
+                       debounce_interval = <50>;
+                       wakeup = <1>;
+                       linux,code = <4>;
+                       label = "extkb2";
+                       gpios = <&gpio4 24 0x4>;
+               };
+               button@4 {
+                       debounce_interval = <50>;
+                       wakeup = <1>;
+                       linux,code = <5>;
+                       label = "extkb3";
+                       gpios = <&gpio5 1 0x4>;
+               };
+               button@5 {
+                       debounce_interval = <50>;
+                       wakeup = <1>;
+                       linux,code = <6>;
+                       label = "extkb4";
+                       gpios = <&gpio5 2 0x4>;
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+               used-led {
+                       label = "user_led";
+                       gpios = <&gpio4 14 0x4>;
+                       default-state = "on";
+                       linux,default-trigger = "heartbeat";
+               };
+       };
+
+       soc {
+
+               sound {
+                       compatible = "stericsson,snd-soc-mop500";
+
+                       stericsson,cpu-dai = <&msp1 &msp3>;
+                       stericsson,audio-codec = <&codec>;
+               };
+
+               msp1: msp@80124000 {
+                       status = "okay";
+               };
+
+               msp3: msp@80125000 {
+                       status = "okay";
+               };
+
+               external-bus@50000000 {
+                       status = "okay";
+
+                       ethernet@0 {
+                               compatible = "smsc,lan9115";
+                               reg = <0 0x10000>;
+                               interrupts = <12 IRQ_TYPE_EDGE_RISING>;
+                               interrupt-parent = <&gpio4>;
+                               vdd33a-supply = <&en_3v3_reg>;
+                               vddvario-supply = <&db8500_vape_reg>;
+
+
+                               reg-shift = <1>;
+                               reg-io-width = <2>;
+                               smsc,force-internal-phy;
+                               smsc,irq-active-high;
+                               smsc,irq-push-pull;
+                       };
+               };
+
+               vmmci: regulator-gpio {
+                       gpios = <&gpio6 25 0x4>;
+                       enable-gpio = <&gpio7 4 0x4>;
+
+                       status = "okay";
+               };
+
+               // External Micro SD slot
+               sdi0_per1@80126000 {
+                       arm,primecell-periphid = <0x10480180>;
+                       max-frequency = <100000000>;
+                       bus-width = <4>;
+                       mmc-cap-mmc-highspeed;
+                       vmmc-supply = <&ab8500_ldo_aux3_reg>;
+                       vqmmc-supply = <&vmmci>;
+
+                       cd-gpios  = <&gpio6 26 0x4>; // 218
+                       cd-inverted;
+
+                       status = "okay";
+               };
+
+               // On-board eMMC
+               sdi4_per2@80114000 {
+                       arm,primecell-periphid = <0x10480180>;
+                       max-frequency = <100000000>;
+                       bus-width = <8>;
+                       mmc-cap-mmc-highspeed;
+                       vmmc-supply = <&ab8500_ldo_aux2_reg>;
+
+                       status = "okay";
+               };
+
+               uart@80120000 {
+                       status = "okay";
+               };
+
+               uart@80121000 {
+                       status = "okay";
+               };
+
+               uart@80007000 {
+                       status = "okay";
+               };
+
+               cpufreq-cooling {
+                       status = "okay";
+               };
+
+               prcmu@80157000 {
+                       db8500-prcmu-regulators {
+                               db8500_vape_reg: db8500_vape {
+                                       regulator-name = "db8500-vape";
+                               };
+
+                               db8500_varm_reg: db8500_varm {
+                                       regulator-name = "db8500-varm";
+                               };
+
+                               db8500_vmodem_reg: db8500_vmodem {
+                                       regulator-name = "db8500-vmodem";
+                               };
+
+                               db8500_vpll_reg: db8500_vpll {
+                                       regulator-name = "db8500-vpll";
+                               };
+
+                               db8500_vsmps1_reg: db8500_vsmps1 {
+                                       regulator-name = "db8500-vsmps1";
+                               };
+
+                               db8500_vsmps2_reg: db8500_vsmps2 {
+                                       regulator-name = "db8500-vsmps2";
+                               };
+
+                               db8500_vsmps3_reg: db8500_vsmps3 {
+                                       regulator-name = "db8500-vsmps3";
+                               };
+
+                               db8500_vrf1_reg: db8500_vrf1 {
+                                       regulator-name = "db8500-vrf1";
+                               };
+
+                               db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
+                                       regulator-name = "db8500-sva-mmdsp";
+                               };
+
+                               db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
+                                       regulator-name = "db8500-sva-mmdsp-ret";
+                               };
+
+                               db8500_sva_pipe_reg: db8500_sva_pipe {
+                                       regulator-name = "db8500_sva_pipe";
+                               };
+
+                               db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
+                                       regulator-name = "db8500_sia_mmdsp";
+                               };
+
+                               db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
+                                       regulator-name = "db8500-sia-mmdsp-ret";
+                               };
+
+                               db8500_sia_pipe_reg: db8500_sia_pipe {
+                                       regulator-name = "db8500-sia-pipe";
+                               };
+
+                               db8500_sga_reg: db8500_sga {
+                                       regulator-name = "db8500-sga";
+                               };
+
+                               db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
+                                       regulator-name = "db8500-b2r2-mcde";
+                               };
+
+                               db8500_esram12_reg: db8500_esram12 {
+                                       regulator-name = "db8500-esram12";
+                               };
+
+                               db8500_esram12_ret_reg: db8500_esram12_ret {
+                                       regulator-name = "db8500-esram12-ret";
+                               };
+
+                               db8500_esram34_reg: db8500_esram34 {
+                                       regulator-name = "db8500-esram34";
+                               };
+
+                               db8500_esram34_ret_reg: db8500_esram34_ret {
+                                       regulator-name = "db8500-esram34-ret";
+                               };
+                       };
+
+                       thermal@801573c0 {
+                               num-trips = <4>;
+
+                               trip0-temp = <70000>;
+                               trip0-type = "active";
+                               trip0-cdev-num = <1>;
+                               trip0-cdev-name0 = "thermal-cpufreq-0";
+
+                               trip1-temp = <75000>;
+                               trip1-type = "active";
+                               trip1-cdev-num = <1>;
+                               trip1-cdev-name0 = "thermal-cpufreq-0";
+
+                               trip2-temp = <80000>;
+                               trip2-type = "active";
+                               trip2-cdev-num = <1>;
+                               trip2-cdev-name0 = "thermal-cpufreq-0";
+
+                               trip3-temp = <85000>;
+                               trip3-type = "critical";
+                               trip3-cdev-num = <0>;
+
+                               status = "okay";
+                       };
+
+                       ab8500 {
+                               ab8500-gpio {
+                                       compatible = "stericsson,ab8500-gpio";
+                               };
+
+                               ext_regulators: ab8500-ext-regulators {
+                                       ab8500_ext1_reg: ab8500_ext1 {
+                                               regulator-name = "ab8500-ext-supply1";
+                                       };
+
+                                       ab8500_ext2_reg_reg: ab8500_ext2 {
+                                               regulator-name = "ab8500-ext-supply2";
+                                       };
+
+                                       ab8500_ext3_reg_reg: ab8500_ext3 {
+                                               regulator-name = "ab8500-ext-supply3";
+                                       };
+                               };
+
+                               ab8500-regulators {
+                                       ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
+                                               regulator-name = "V-DISPLAY";
+                                       };
+
+                                       ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
+                                               regulator-name = "V-eMMC1";
+                                       };
+
+                                       ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
+                                               regulator-name = "V-MMC-SD";
+                                       };
+
+                                       ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
+                                               regulator-name = "V-INTCORE";
+                                       };
+
+                                       ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
+                                               regulator-name = "V-TVOUT";
+                                       };
+
+                                       ab8500_ldo_usb_reg: ab8500_ldo_usb {
+                                               regulator-name = "dummy";
+                                       };
+
+                                       ab8500_ldo_audio_reg: ab8500_ldo_audio {
+                                               regulator-name = "V-AUD";
+                                       };
+
+                                       ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
+                                               regulator-name = "V-AMIC1";
+                                       };
+
+                                       ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
+                                               regulator-name = "V-AMIC2";
+                                       };
+
+                                       ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
+                                               regulator-name = "V-DMIC";
+                                       };
+
+                                       ab8500_ldo_ana_reg: ab8500_ldo_ana {
+                                               regulator-name = "V-CSI/DSI";
+                                       };
+                               };
+                       };
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/ste-stuib.dtsi b/arch/arm/boot/dts/ste-stuib.dtsi
new file mode 100644 (file)
index 0000000..524e332
--- /dev/null
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2012 ST-Ericsson AB
+ *
+ * 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 <dt-bindings/interrupt-controller/irq.h>
+
+/ {
+       soc {
+               i2c@80004000 {
+                       stmpe1601: stmpe1601@40 {
+                               compatible = "st,stmpe1601";
+                               reg = <0x40>;
+                               interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
+                               interrupt-parent = <&gpio6>;
+                               interrupt-controller;
+
+                               wakeup-source;
+                               st,autosleep-timeout = <1024>;
+
+                               stmpe_keypad {
+                                       compatible = "st,stmpe-keypad";
+
+                                       debounce-interval = <64>;
+                                       st,scan-count = <8>;
+                                       st,no-autorepeat;
+
+                                       linux,keymap = <0x205006b
+                                                       0x4010074
+                                                       0x3050072
+                                                       0x1030004
+                                                       0x502006a
+                                                       0x500000a
+                                                       0x5008b
+                                                       0x706001c
+                                                       0x405000b
+                                                       0x6070003
+                                                       0x3040067
+                                                       0x303006c
+                                                       0x60400e7
+                                                       0x602009e
+                                                       0x4020073
+                                                       0x5050002
+                                                       0x4030069
+                                                       0x3020008>;
+                               };
+                       };
+               };
+
+               i2c@80110000 {
+                       bu21013_tp@5c {
+                               compatible = "rohm,bu21013_tp";
+                               reg = <0x5c>;
+                               touch-gpio = <&gpio2 20 0x4>;
+                               avdd-supply = <&ab8500_ldo_aux1_reg>;
+
+                               rohm,touch-max-x = <384>;
+                               rohm,touch-max-y = <704>;
+                               rohm,flip-y;
+                       };
+
+                       bu21013_tp@5d {
+                               compatible = "rohm,bu21013_tp";
+                               reg = <0x5d>;
+                               touch-gpio = <&gpio2 20 0x4>;
+                               avdd-supply = <&ab8500_ldo_aux1_reg>;
+
+                               rohm,touch-max-x = <384>;
+                               rohm,touch-max-y = <704>;
+                               rohm,flip-y;
+                       };
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/stuib.dtsi b/arch/arm/boot/dts/stuib.dtsi
deleted file mode 100644 (file)
index 524e332..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright 2012 ST-Ericsson AB
- *
- * 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 <dt-bindings/interrupt-controller/irq.h>
-
-/ {
-       soc {
-               i2c@80004000 {
-                       stmpe1601: stmpe1601@40 {
-                               compatible = "st,stmpe1601";
-                               reg = <0x40>;
-                               interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
-                               interrupt-parent = <&gpio6>;
-                               interrupt-controller;
-
-                               wakeup-source;
-                               st,autosleep-timeout = <1024>;
-
-                               stmpe_keypad {
-                                       compatible = "st,stmpe-keypad";
-
-                                       debounce-interval = <64>;
-                                       st,scan-count = <8>;
-                                       st,no-autorepeat;
-
-                                       linux,keymap = <0x205006b
-                                                       0x4010074
-                                                       0x3050072
-                                                       0x1030004
-                                                       0x502006a
-                                                       0x500000a
-                                                       0x5008b
-                                                       0x706001c
-                                                       0x405000b
-                                                       0x6070003
-                                                       0x3040067
-                                                       0x303006c
-                                                       0x60400e7
-                                                       0x602009e
-                                                       0x4020073
-                                                       0x5050002
-                                                       0x4030069
-                                                       0x3020008>;
-                               };
-                       };
-               };
-
-               i2c@80110000 {
-                       bu21013_tp@5c {
-                               compatible = "rohm,bu21013_tp";
-                               reg = <0x5c>;
-                               touch-gpio = <&gpio2 20 0x4>;
-                               avdd-supply = <&ab8500_ldo_aux1_reg>;
-
-                               rohm,touch-max-x = <384>;
-                               rohm,touch-max-y = <704>;
-                               rohm,flip-y;
-                       };
-
-                       bu21013_tp@5d {
-                               compatible = "rohm,bu21013_tp";
-                               reg = <0x5d>;
-                               touch-gpio = <&gpio2 20 0x4>;
-                               avdd-supply = <&ab8500_ldo_aux1_reg>;
-
-                               rohm,touch-max-x = <384>;
-                               rohm,touch-max-y = <704>;
-                               rohm,flip-y;
-                       };
-               };
-       };
-};
diff --git a/arch/arm/boot/dts/sun4i-a10-a1000.dts b/arch/arm/boot/dts/sun4i-a10-a1000.dts
new file mode 100644 (file)
index 0000000..eb4d73b
--- /dev/null
@@ -0,0 +1,101 @@
+/*
+ * Copyright 2013 Emilio López
+ *
+ * Emilio López <emilio@elopez.com.ar>
+ *
+ * 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/ "sun4i-a10.dtsi"
+
+/ {
+       model = "Mele A1000";
+       compatible = "mele,a1000", "allwinner,sun4i-a10";
+
+       aliases {
+               serial0 = &uart0;
+       };
+
+       soc@01c00000 {
+               emac: ethernet@01c0b000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&emac_pins_a>;
+                       phy = <&phy1>;
+                       status = "okay";
+               };
+
+               mdio@01c0b080 {
+                       phy-supply = <&reg_emac_3v3>;
+                       status = "okay";
+
+                       phy1: ethernet-phy@1 {
+                               reg = <1>;
+                       };
+               };
+
+               pinctrl@01c20800 {
+                       emac_power_pin_a1000: emac_power_pin@0 {
+                               allwinner,pins = "PH15";
+                               allwinner,function = "gpio_out";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+
+                       led_pins_a1000: led_pins@0 {
+                               allwinner,pins = "PH10", "PH20";
+                               allwinner,function = "gpio_out";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+               };
+
+               uart0: serial@01c28000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&uart0_pins_a>;
+                       status = "okay";
+               };
+
+               i2c0: i2c@01c2ac00 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c0_pins_a>;
+                       status = "okay";
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+               pinctrl-names = "default";
+               pinctrl-0 = <&led_pins_a1000>;
+
+               red {
+                       label = "a1000:red:usr";
+                       gpios = <&pio 7 10 0>;
+               };
+
+               blue {
+                       label = "a1000:blue:usr";
+                       gpios = <&pio 7 20 0>;
+               };
+       };
+
+       regulators {
+               compatible = "simple-bus";
+
+               reg_emac_3v3: emac-3v3 {
+                       compatible = "regulator-fixed";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&emac_power_pin_a1000>;
+                       regulator-name = "emac-3v3";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       enable-active-high;
+                       gpio = <&pio 7 15 0>;
+               };
+       };
+};
index 757c4cd900ee92e03fc5a85dad98866d56c3d83c..425a7db898c553b043798d953451cb9b00a5d146 100644 (file)
@@ -26,7 +26,7 @@
                bootargs = "earlyprintk console=ttyS0,115200";
        };
 
-       soc@01c20000 {
+       soc@01c00000 {
                emac: ethernet@01c0b000 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&emac_pins_a>;
                pinctrl-0 = <&led_pins_cubieboard>;
 
                blue {
-                       label = "cubieboard::blue";
+                       label = "cubieboard:blue:usr";
                        gpios = <&pio 7 21 0>; /* LED1 */
                };
 
                green {
-                       label = "cubieboard::green";
+                       label = "cubieboard:green:usr";
                        gpios = <&pio 7 20 0>; /* LED2 */
                        linux,default-trigger = "heartbeat";
                };
index 3514b37d66bcd180df6e963a5d816e3446ef9379..b3ae51fa9372328f7fc9c7dee5eb577536f87bdb 100644 (file)
@@ -22,7 +22,7 @@
                bootargs = "earlyprintk console=ttyS0,115200";
        };
 
-       soc@01c20000 {
+       soc@01c00000 {
                emac: ethernet@01c0b000 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&emac_pins_a>;
index 078ed7f618d7910cc6030fdf9b288b3b124da065..0c1447c68059785cef99693b3c788c7281f4b9ba 100644 (file)
@@ -22,7 +22,7 @@
                bootargs = "earlyprintk console=ttyS0,115200";
        };
 
-       soc@01c20000 {
+       soc@01c00000 {
                uart0: serial@01c28000 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&uart0_pins_a>;
index b2bd6e1242504bd47aadfda1dca25e7f0cb1b75c..c32770a28acfe823bf898bf2cf7388f22779aadc 100644 (file)
                };
        };
 
-       soc@01c20000 {
+       soc@01c00000 {
                compatible = "simple-bus";
                #address-cells = <1>;
                #size-cells = <1>;
-               reg = <0x01c20000 0x300000>;
                ranges;
 
                emac: ethernet@01c0b000 {
index 64dc0c42c43abca9b3c59d5a570381785f1575ef..3c9f8b3cd3e3cf44e0d0bdd13be5444e437a2fea 100644 (file)
@@ -18,7 +18,7 @@
        model = "Olimex A10s-Olinuxino Micro";
        compatible = "olimex,a10s-olinuxino-micro", "allwinner,sun5i-a10s";
 
-       soc@01c20000 {
+       soc@01c00000 {
                emac: ethernet@01c0b000 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&emac_pins_a>;
                        pinctrl-0 = <&uart3_pins_a>;
                        status = "okay";
                };
+
+               i2c0: i2c@01c2ac00 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c0_pins_a>;
+                       status = "okay";
+               };
+
+               i2c1: i2c@01c2b000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c1_pins_a>;
+                       status = "okay";
+
+                       at24@50 {
+                               compatible = "at,24c16";
+                               pagesize = <16>;
+                               reg = <0x50>;
+                               read-only;
+                       };
+               };
+
+               i2c2: i2c@01c2b400 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c2_pins_a>;
+                       status = "okay";
+               };
        };
 
        leds {
index 2307ce827ae03c388f80f7ffe3075ae36f575d57..ee0ff9ba1bca16c592baa9882b63b4c003193c5d 100644 (file)
                };
        };
 
-       soc@01c20000 {
+       soc@01c00000 {
                compatible = "simple-bus";
                #address-cells = <1>;
                #size-cells = <1>;
-               reg = <0x01c20000 0x300000>;
                ranges;
 
                emac: ethernet@01c0b000 {
                                allwinner,drive = <0>;
                                allwinner,pull = <0>;
                        };
+
+                       i2c0_pins_a: i2c0@0 {
+                               allwinner,pins = "PB0", "PB1";
+                               allwinner,function = "i2c0";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+
+                       i2c1_pins_a: i2c1@0 {
+                               allwinner,pins = "PB15", "PB16";
+                               allwinner,function = "i2c1";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+
+                       i2c2_pins_a: i2c2@0 {
+                               allwinner,pins = "PB17", "PB18";
+                               allwinner,function = "i2c2";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
                };
 
                timer@01c20c00 {
                        clocks = <&apb1_gates 19>;
                        status = "disabled";
                };
+
+               i2c0: i2c@01c2ac00 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "allwinner,sun4i-i2c";
+                       reg = <0x01c2ac00 0x400>;
+                       interrupts = <7>;
+                       clocks = <&apb1_gates 0>;
+                       clock-frequency = <100000>;
+                       status = "disabled";
+               };
+
+               i2c1: i2c@01c2b000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "allwinner,sun4i-i2c";
+                       reg = <0x01c2b000 0x400>;
+                       interrupts = <8>;
+                       clocks = <&apb1_gates 1>;
+                       clock-frequency = <100000>;
+                       status = "disabled";
+               };
+
+               i2c2: i2c@01c2b400 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "allwinner,sun4i-i2c";
+                       reg = <0x01c2b400 0x400>;
+                       interrupts = <9>;
+                       clocks = <&apb1_gates 2>;
+                       clock-frequency = <100000>;
+                       status = "disabled";
+               };
        };
 };
index 80497e376706ca930a1eb84cf6297f6277e09ce3..9e508dcc4245da295d28a719edeb866108e32354 100644 (file)
@@ -22,7 +22,7 @@
                bootargs = "earlyprintk console=ttyS0,115200";
        };
 
-       soc@01c20000 {
+       soc@01c00000 {
                pinctrl@01c20800 {
                        led_pins_olinuxino: led_pins@0 {
                                allwinner,pins = "PG9";
index 7363211daf8446754a20074a9ffd2cf99803c535..f6091dc0936ce68e68b6a9ceac4f9d720b9a57fa 100644 (file)
                };
        };
 
-       soc@01c20000 {
+       soc@01c00000 {
                compatible = "simple-bus";
                #address-cells = <1>;
                #size-cells = <1>;
-               reg = <0x01c20000 0x300000>;
                ranges;
 
                intc: interrupt-controller@01c20400 {
diff --git a/arch/arm/boot/dts/sun6i-a31-colombus.dts b/arch/arm/boot/dts/sun6i-a31-colombus.dts
new file mode 100644 (file)
index 0000000..99c4b18
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2013 Maxime Ripard
+ *
+ * Maxime Ripard <maxime.ripard@free-electrons.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/ "sun6i-a31.dtsi"
+
+/ {
+       model = "WITS A31 Colombus Evaluation Board";
+       compatible = "wits,colombus", "allwinner,sun6i-a31";
+
+       chosen {
+               bootargs = "earlyprintk console=ttyS0,115200";
+       };
+
+       soc@01c00000 {
+               uart0: serial@01c28000 {
+                       status = "okay";
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/sun6i-a31.dtsi b/arch/arm/boot/dts/sun6i-a31.dtsi
new file mode 100644 (file)
index 0000000..4d076ec
--- /dev/null
@@ -0,0 +1,156 @@
+/*
+ * Copyright 2013 Maxime Ripard
+ *
+ * Maxime Ripard <maxime.ripard@free-electrons.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 = <&gic>;
+
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               cpu@0 {
+                       compatible = "arm,cortex-a7";
+                       device_type = "cpu";
+                       reg = <0>;
+               };
+
+               cpu@1 {
+                       compatible = "arm,cortex-a7";
+                       device_type = "cpu";
+                       reg = <1>;
+               };
+
+               cpu@2 {
+                       compatible = "arm,cortex-a7";
+                       device_type = "cpu";
+                       reg = <2>;
+               };
+
+               cpu@3 {
+                       compatible = "arm,cortex-a7";
+                       device_type = "cpu";
+                       reg = <3>;
+               };
+       };
+
+       memory {
+               reg = <0x40000000 0x80000000>;
+       };
+
+       clocks {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               osc: oscillator {
+                       #clock-cells = <0>;
+                       compatible = "fixed-clock";
+                       clock-frequency = <24000000>;
+               };
+       };
+
+       soc@01c00000 {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               timer@01c20c00 {
+                       compatible = "allwinner,sun4i-timer";
+                       reg = <0x01c20c00 0xa0>;
+                       interrupts = <0 18 1>,
+                                    <0 19 1>,
+                                    <0 20 1>,
+                                    <0 21 1>,
+                                    <0 22 1>;
+                       clocks = <&osc>;
+               };
+
+               wdt1: watchdog@01c20ca0 {
+                       compatible = "allwinner,sun6i-wdt";
+                       reg = <0x01c20ca0 0x20>;
+               };
+
+               uart0: serial@01c28000 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c28000 0x400>;
+                       interrupts = <0 0 1>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&osc>;
+                       status = "disabled";
+               };
+
+               uart1: serial@01c28400 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c28400 0x400>;
+                       interrupts = <0 1 1>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&osc>;
+                       status = "disabled";
+               };
+
+               uart2: serial@01c28800 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c28800 0x400>;
+                       interrupts = <0 2 1>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&osc>;
+                       status = "disabled";
+               };
+
+               uart3: serial@01c28c00 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c28c00 0x400>;
+                       interrupts = <0 3 1>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&osc>;
+                       status = "disabled";
+               };
+
+               uart4: serial@01c29000 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c29000 0x400>;
+                       interrupts = <0 4 1>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&osc>;
+                       status = "disabled";
+               };
+
+               uart5: serial@01c29400 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c29400 0x400>;
+                       interrupts = <0 5 1>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&osc>;
+                       status = "disabled";
+               };
+
+               gic: interrupt-controller@01c81000 {
+                       compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic";
+                       reg = <0x01c81000 0x1000>,
+                             <0x01c82000 0x1000>,
+                             <0x01c84000 0x2000>,
+                             <0x01c86000 0x2000>;
+                       interrupt-controller;
+                       #interrupt-cells = <3>;
+                       interrupts = <1 9 0xf04>;
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
new file mode 100644 (file)
index 0000000..d339584
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2013 Maxime Ripard
+ *
+ * Maxime Ripard <maxime.ripard@free-electrons.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/ "sun7i-a20.dtsi"
+
+/ {
+       model = "Olimex A20-Olinuxino Micro";
+       compatible = "olimex,a20-olinuxino-micro", "allwinner,sun7i-a20";
+
+       soc@01c00000 {
+               uart0: serial@01c28000 {
+                       status = "okay";
+               };
+
+               uart6: serial@01c29800 {
+                       status = "okay";
+               };
+
+               uart7: serial@01c29c00 {
+                       status = "okay";
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
new file mode 100644 (file)
index 0000000..3339151
--- /dev/null
@@ -0,0 +1,172 @@
+/*
+ * Copyright 2013 Maxime Ripard
+ *
+ * Maxime Ripard <maxime.ripard@free-electrons.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 = <&gic>;
+
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               cpu@0 {
+                       compatible = "arm,cortex-a7";
+                       device_type = "cpu";
+                       reg = <0>;
+               };
+
+               cpu@1 {
+                       compatible = "arm,cortex-a7";
+                       device_type = "cpu";
+                       reg = <1>;
+               };
+       };
+
+       memory {
+               reg = <0x40000000 0x80000000>;
+       };
+
+       clocks {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               osc24M: osc24M@01c20050 {
+                       #clock-cells = <0>;
+                       compatible = "fixed-clock";
+                       clock-frequency = <24000000>;
+               };
+
+               osc32k: osc32k {
+                       #clock-cells = <0>;
+                       compatible = "fixed-clock";
+                       clock-frequency = <32768>;
+               };
+       };
+
+       soc@01c00000 {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               timer@01c20c00 {
+                       compatible = "allwinner,sun4i-timer";
+                       reg = <0x01c20c00 0x90>;
+                       interrupts = <0 22 1>,
+                                    <0 23 1>,
+                                    <0 24 1>,
+                                    <0 25 1>,
+                                    <0 67 1>,
+                                    <0 68 1>;
+                       clocks = <&osc24M>;
+               };
+
+               wdt: watchdog@01c20c90 {
+                       compatible = "allwinner,sun4i-wdt";
+                       reg = <0x01c20c90 0x10>;
+               };
+
+               uart0: serial@01c28000 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c28000 0x400>;
+                       interrupts = <0 1 1>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&osc24M>;
+                       status = "disabled";
+               };
+
+               uart1: serial@01c28400 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c28400 0x400>;
+                       interrupts = <0 2 1>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&osc24M>;
+                       status = "disabled";
+               };
+
+               uart2: serial@01c28800 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c28800 0x400>;
+                       interrupts = <0 3 1>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&osc24M>;
+                       status = "disabled";
+               };
+
+               uart3: serial@01c28c00 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c28c00 0x400>;
+                       interrupts = <0 4 1>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&osc24M>;
+                       status = "disabled";
+               };
+
+               uart4: serial@01c29000 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c29000 0x400>;
+                       interrupts = <0 17 1>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&osc24M>;
+                       status = "disabled";
+               };
+
+               uart5: serial@01c29400 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c29400 0x400>;
+                       interrupts = <0 18 1>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&osc24M>;
+                       status = "disabled";
+               };
+
+               uart6: serial@01c29800 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c29800 0x400>;
+                       interrupts = <0 19 1>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&osc24M>;
+                       status = "disabled";
+               };
+
+               uart7: serial@01c29c00 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c29c00 0x400>;
+                       interrupts = <0 20 1>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&osc24M>;
+                       status = "disabled";
+               };
+
+               gic: interrupt-controller@01c81000 {
+                       compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic";
+                       reg = <0x01c81000 0x1000>,
+                             <0x01c82000 0x1000>,
+                             <0x01c84000 0x2000>,
+                             <0x01c86000 0x2000>;
+                       interrupt-controller;
+                       #interrupt-cells = <3>;
+                       interrupts = <1 9 0xf04>;
+               };
+       };
+};
index cb640eb6c9322db11ed2653c659d8c2d1f983b41..60230288884b663ae8a17a32d3e1bda66ba4125b 100644 (file)
                                        regulator-boot-on;
                                };
 
-                               dcdc3 {
+                               tps65090_dcdc3_reg: dcdc3 {
                                        regulator-name = "vdd-ao";
                                        regulator-always-on;
                                        regulator-boot-on;
                                };
                        };
                };
+
+               palmas: tps65913 {
+                       compatible = "ti,palmas";
+                       reg = <0x58>;
+                       interrupts = <0 86 IRQ_TYPE_LEVEL_LOW>;
+
+                       #interrupt-cells = <2>;
+                       interrupt-controller;
+
+                       ti,system-power-controller;
+
+                       palmas_gpio: gpio {
+                               compatible = "ti,palmas-gpio";
+                               gpio-controller;
+                               #gpio-cells = <2>;
+                       };
+
+                       pmic {
+                               compatible = "ti,tps65913-pmic", "ti,palmas-pmic";
+                               smps1-in-supply = <&tps65090_dcdc3_reg>;
+                               smps3-in-supply = <&tps65090_dcdc3_reg>;
+                               smps4-in-supply = <&tps65090_dcdc2_reg>;
+                               smps7-in-supply = <&tps65090_dcdc2_reg>;
+                               smps8-in-supply = <&tps65090_dcdc2_reg>;
+                               smps9-in-supply = <&tps65090_dcdc2_reg>;
+                               ldo1-in-supply = <&tps65090_dcdc2_reg>;
+                               ldo2-in-supply = <&tps65090_dcdc2_reg>;
+                               ldo3-in-supply = <&palmas_smps3_reg>;
+                               ldo4-in-supply = <&tps65090_dcdc2_reg>;
+                               ldo5-in-supply = <&vdd_ac_bat_reg>;
+                               ldo6-in-supply = <&tps65090_dcdc2_reg>;
+                               ldo7-in-supply = <&tps65090_dcdc2_reg>;
+                               ldo8-in-supply = <&tps65090_dcdc3_reg>;
+                               ldo9-in-supply = <&palmas_smps9_reg>;
+                               ldoln-in-supply = <&tps65090_dcdc1_reg>;
+                               ldousb-in-supply = <&tps65090_dcdc1_reg>;
+
+                               regulators {
+                                       smps12 {
+                                               regulator-name = "vddio-ddr";
+                                               regulator-min-microvolt = <1350000>;
+                                               regulator-max-microvolt = <1350000>;
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       palmas_smps3_reg: smps3 {
+                                               regulator-name = "vddio-1v8";
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <1800000>;
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       smps45 {
+                                               regulator-name = "vdd-core";
+                                               regulator-min-microvolt = <900000>;
+                                               regulator-max-microvolt = <1400000>;
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       smps457 {
+                                               regulator-name = "vdd-core";
+                                               regulator-min-microvolt = <900000>;
+                                               regulator-max-microvolt = <1400000>;
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       smps8 {
+                                               regulator-name = "avdd-pll";
+                                               regulator-min-microvolt = <1050000>;
+                                               regulator-max-microvolt = <1050000>;
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       palmas_smps9_reg: smps9 {
+                                               regulator-name = "sdhci-vdd-sd-slot";
+                                               regulator-min-microvolt = <2800000>;
+                                               regulator-max-microvolt = <2800000>;
+                                               regulator-always-on;
+                                       };
+
+                                       ldo1 {
+                                               regulator-name = "avdd-cam1";
+                                               regulator-min-microvolt = <2800000>;
+                                               regulator-max-microvolt = <2800000>;
+                                       };
+
+                                       ldo2 {
+                                               regulator-name = "avdd-cam2";
+                                               regulator-min-microvolt = <2800000>;
+                                               regulator-max-microvolt = <2800000>;
+                                       };
+
+                                       ldo3 {
+                                               regulator-name = "avdd-dsi-csi";
+                                               regulator-min-microvolt = <1200000>;
+                                               regulator-max-microvolt = <1200000>;
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       ldo4 {
+                                               regulator-name = "vpp-fuse";
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <1800000>;
+                                       };
+
+                                       ldo6 {
+                                               regulator-name = "vdd-sensor-2v85";
+                                               regulator-min-microvolt = <2850000>;
+                                               regulator-max-microvolt = <2850000>;
+                                       };
+
+                                       ldo7 {
+                                               regulator-name = "vdd-af-cam1";
+                                               regulator-min-microvolt = <2800000>;
+                                               regulator-max-microvolt = <2800000>;
+                                       };
+
+                                       ldo8 {
+                                               regulator-name = "vdd-rtc";
+                                               regulator-min-microvolt = <900000>;
+                                               regulator-max-microvolt = <900000>;
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                               ti,enable-ldo8-tracking;
+                                       };
+
+                                       ldo9 {
+                                               regulator-name = "vddio-sdmmc-2";
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <3300000>;
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       ldoln {
+                                               regulator-name = "hvdd-usb";
+                                               regulator-min-microvolt = <3300000>;
+                                               regulator-max-microvolt = <3300000>;
+                                       };
+
+                                       ldousb {
+                                               regulator-name = "avdd-usb";
+                                               regulator-min-microvolt = <3300000>;
+                                               regulator-max-microvolt = <3300000>;
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       regen1 {
+                                               regulator-name = "rail-3v3";
+                                               regulator-max-microvolt = <3300000>;
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       regen2 {
+                                               regulator-name = "rail-5v0";
+                                               regulator-max-microvolt = <5000000>;
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+                               };
+                       };
+
+                       rtc {
+                               compatible = "ti,palmas-rtc";
+                               interrupt-parent = <&palmas>;
+                               interrupts = <8 0>;
+                       };
+               };
        };
 
        spi@7000da00 {
 
        pmc {
                nvidia,invert-interrupt;
+               nvidia,suspend-mode = <1>;
+               nvidia,cpu-pwr-good-time = <500>;
+               nvidia,cpu-pwr-off-time = <300>;
+               nvidia,core-pwr-good-time = <641 3845>;
+               nvidia,core-pwr-off-time = <61036>;
+               nvidia,core-power-req-active-high;
+               nvidia,sys-clock-req-active-high;
        };
 
        ahub {
                non-removable;
        };
 
+       usb@7d008000 {
+               status = "okay";
+       };
+
+       usb-phy@7d008000 {
+               status = "okay";
+               vbus-supply = <&usb3_vbus_reg>;
+       };
+
        clocks {
                compatible = "simple-bus";
                #address-cells = <1>;
                };
        };
 
+       gpio-keys {
+               compatible = "gpio-keys";
+
+               home {
+                       label = "Home";
+                       gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
+                       linux,code = <102>; /* KEY_HOME */
+               };
+
+               power {
+                       label = "Power";
+                       gpios = <&gpio TEGRA_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
+                       linux,code = <116>; /* KEY_POWER */
+                       gpio-key,wakeup;
+               };
+
+               volume_down {
+                       label = "Volume Down";
+                       gpios = <&gpio TEGRA_GPIO(R, 1) GPIO_ACTIVE_LOW>;
+                       linux,code = <114>; /* KEY_VOLUMEDOWN */
+               };
+
+               volume_up {
+                       label = "Volume Up";
+                       gpios = <&gpio TEGRA_GPIO(R, 2) GPIO_ACTIVE_LOW>;
+                       linux,code = <115>; /* KEY_VOLUMEUP */
+               };
+       };
+
        regulators {
                compatible = "simple-bus";
                #address-cells = <1>;
                        gpio = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>;
                        vin-supply = <&tps65090_dcdc1_reg>;
                };
+
+               vdd_cam_1v8_reg: regulator@6 {
+                       compatible = "regulator-fixed";
+                       reg = <6>;
+                       regulator-name = "vdd_cam_1v8_reg";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       enable-active-high;
+                       gpio = <&palmas_gpio 6 0>;
+               };
        };
 
        sound {
                        "Speakers", "SPORP",
                        "Speakers", "SPORN",
                        "Speakers", "SPOLP",
-                       "Speakers", "SPOLN";
+                       "Speakers", "SPOLN",
+                       "Mic Jack", "MICBIAS1",
+                       "IN2P", "Mic Jack";
 
                nvidia,i2s-controller = <&tegra_i2s1>;
                nvidia,audio-codec = <&rt5640>;
diff --git a/arch/arm/boot/dts/tegra114-pluto.dts b/arch/arm/boot/dts/tegra114-pluto.dts
deleted file mode 100644 (file)
index d5f8d3e..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/dts-v1/;
-
-#include "tegra114.dtsi"
-
-/ {
-       model = "NVIDIA Tegra114 Pluto evaluation board";
-       compatible = "nvidia,pluto", "nvidia,tegra114";
-
-       memory {
-               reg = <0x80000000 0x40000000>;
-       };
-
-       serial@70006300 {
-               status = "okay";
-       };
-
-       pmc {
-               nvidia,invert-interrupt;
-       };
-
-       clocks {
-               compatible = "simple-bus";
-               #address-cells = <1>;
-               #size-cells = <0>;
-
-               clk32k_in: clock {
-                       compatible = "fixed-clock";
-                       reg=<0>;
-                       #clock-cells = <0>;
-                       clock-frequency = <32768>;
-               };
-       };
-};
index abf6c40d28c616f4ddabee03d81188a8657aca30..2905145d8e59a4ad9c5d3ff88bb6fcbb10593b2e 100644 (file)
                status = "disable";
        };
 
+       usb@7d000000 {
+               compatible = "nvidia,tegra30-ehci", "usb-ehci";
+               reg = <0x7d000000 0x4000>;
+               interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
+               phy_type = "utmi";
+               clocks = <&tegra_car TEGRA114_CLK_USBD>;
+               nvidia,phy = <&phy1>;
+               status = "disabled";
+       };
+
+       phy1: usb-phy@7d000000 {
+               compatible = "nvidia,tegra30-usb-phy";
+               reg = <0x7d000000 0x4000 0x7d000000 0x4000>;
+               phy_type = "utmi";
+               clocks = <&tegra_car TEGRA114_CLK_USBD>,
+                        <&tegra_car TEGRA114_CLK_PLL_U>,
+                        <&tegra_car TEGRA114_CLK_USBD>;
+               clock-names = "reg", "pll_u", "utmi-pads";
+               nvidia,hssync-start-delay = <0>;
+               nvidia,idle-wait-delay = <17>;
+               nvidia,elastic-limit = <16>;
+               nvidia,term-range-adj = <6>;
+               nvidia,xcvr-setup = <9>;
+               nvidia,xcvr-lsfslew = <0>;
+               nvidia,xcvr-lsrslew = <3>;
+               nvidia,hssquelch-level = <2>;
+               nvidia,hsdiscon-level = <5>;
+               nvidia,xcvr-hsslew = <12>;
+               status = "disabled";
+       };
+
+       usb@7d008000 {
+               compatible = "nvidia,tegra30-ehci", "usb-ehci";
+               reg = <0x7d008000 0x4000>;
+               interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
+               phy_type = "utmi";
+               clocks = <&tegra_car TEGRA114_CLK_USB3>;
+               nvidia,phy = <&phy3>;
+               status = "disabled";
+       };
+
+       phy3: usb-phy@7d008000 {
+               compatible = "nvidia,tegra30-usb-phy";
+               reg = <0x7d008000 0x4000 0x7d000000 0x4000>;
+               phy_type = "utmi";
+               clocks = <&tegra_car TEGRA114_CLK_USB3>,
+                        <&tegra_car TEGRA114_CLK_PLL_U>,
+                        <&tegra_car TEGRA114_CLK_USBD>;
+               clock-names = "reg", "pll_u", "utmi-pads";
+               nvidia,hssync-start-delay = <0>;
+               nvidia,idle-wait-delay = <17>;
+               nvidia,elastic-limit = <16>;
+               nvidia,term-range-adj = <6>;
+               nvidia,xcvr-setup = <9>;
+               nvidia,xcvr-lsfslew = <0>;
+               nvidia,xcvr-lsrslew = <3>;
+               nvidia,hssquelch-level = <2>;
+               nvidia,hsdiscon-level = <5>;
+               nvidia,xcvr-hsslew = <12>;
+               status = "disabled";
+       };
+
        cpus {
                #address-cells = <1>;
                #size-cells = <0>;
index 5592be6f2f7a7ad58cf9eb3cf0cd17cd38e207f8..d5c9bca01232fe40516b2dcd67a2561ebbfa7d50 100644 (file)
        };
 
        pmc {
-               nvidia,suspend-mode = <2>;
+               nvidia,suspend-mode = <1>;
                nvidia,cpu-pwr-good-time = <5000>;
                nvidia,cpu-pwr-off-time = <5000>;
                nvidia,core-pwr-good-time = <3845 3845>;
index d9f89cd879a7b860bd97981310bcd7b18f4d9b23..e156ab30e76343b37271b7f650e71b55d263be85 100644 (file)
                                        regulator-always-on;
                                };
 
-                               ldo0 {
+                               pci_clk_reg: ldo0 {
                                        regulator-name = "vdd_ldo0,vddio_pex_clk";
                                        regulator-min-microvolt = <3300000>;
                                        regulator-max-microvolt = <3300000>;
 
        pmc {
                nvidia,invert-interrupt;
-               nvidia,suspend-mode = <2>;
+               nvidia,suspend-mode = <1>;
                nvidia,cpu-pwr-good-time = <5000>;
                nvidia,cpu-pwr-off-time = <5000>;
                nvidia,core-pwr-good-time = <3845 3845>;
                nvidia,sys-clock-req-active-high;
        };
 
+       pcie-controller {
+               pex-clk-supply = <&pci_clk_reg>;
+               vdd-supply = <&pci_vdd_reg>;
+               status = "okay";
+
+               pci@1,0 {
+                       status = "okay";
+               };
+
+               pci@2,0 {
+                       status = "okay";
+               };
+       };
+
        usb@c5000000 {
                status = "okay";
        };
                        enable-active-high;
                };
 
-               regulator@3 {
+               pci_vdd_reg: regulator@3 {
                        compatible = "regulator-fixed";
                        reg = <3>;
                        regulator-name = "vdd_1v05";
                        regulator-max-microvolt = <1050000>;
                        gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
                        enable-active-high;
-                       /* Hack until board-harmony-pcie.c is removed */
-                       status = "disabled";
                };
 
                regulator@4 {
index cfd12763b1b2a605f5b950b2794e5fadafcaaeb4..8d71fc9d8a2f6cca72ef5f04d1fe5517ffbc5de0 100644 (file)
 
        pmc {
                nvidia,invert-interrupt;
-               nvidia,suspend-mode = <2>;
+               nvidia,suspend-mode = <1>;
                nvidia,cpu-pwr-good-time = <2000>;
                nvidia,cpu-pwr-off-time = <0>;
                nvidia,core-pwr-good-time = <3845 3845>;
index c8242533268fbeaadd7ef33a516b8862fd543f6c..315aae26c3cdb1e2ed84f741e8669cfadf870524 100644 (file)
 
        pmc {
                nvidia,invert-interrupt;
-               nvidia,suspend-mode = <2>;
+               nvidia,suspend-mode = <1>;
                nvidia,cpu-pwr-good-time = <5000>;
                nvidia,cpu-pwr-off-time = <5000>;
                nvidia,core-pwr-good-time = <3845 3845>;
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
                        enable-active-high;
-                       gpio = <&gpio 24 0>; /* PD0 */
+                       gpio = <&gpio TEGRA_GPIO(D, 0) 0>;
                        regulator-always-on;
                        regulator-boot-on;
                };
index c54faae7cfb31d25d68ff7802a81c5486312f479..7726dab3d08d520c4656b11a558b905b842f909b 100644 (file)
                                        regulator-always-on;
                                };
 
-                               ldo0 {
+                               pci_clk_reg: ldo0 {
                                        regulator-name = "vdd_ldo0,vddio_pex_clk";
                                        regulator-min-microvolt = <3300000>;
                                        regulator-max-microvolt = <3300000>;
 
        pmc {
                nvidia,invert-interrupt;
-               nvidia,suspend-mode = <2>;
+               nvidia,suspend-mode = <1>;
                nvidia,cpu-pwr-good-time = <5000>;
                nvidia,cpu-pwr-off-time = <5000>;
                nvidia,core-pwr-good-time = <3845 3845>;
                nvidia,sys-clock-req-active-high;
        };
 
+       pcie-controller {
+               pex-clk-supply = <&pci_clk_reg>;
+               vdd-supply = <&pci_vdd_reg>;
+       };
+
        usb@c5008000 {
                status = "okay";
        };
                        regulator-max-microvolt = <5000000>;
                        regulator-always-on;
                };
+
+               pci_vdd_reg: regulator@1 {
+                       compatible = "regulator-fixed";
+                       reg = <1>;
+                       regulator-name = "vdd_1v05";
+                       regulator-min-microvolt = <1050000>;
+                       regulator-max-microvolt = <1050000>;
+                       gpio = <&pmic 2 0>;
+                       enable-active-high;
+               };
        };
 };
index c572c43751b180ac3e6112f0110a89dd046654d7..3ada3cb67f07bd32689ddc3f780f45c9541faa74 100644 (file)
                };
        };
 
+       pcie-controller {
+               status = "okay";
+
+               pci@1,0 {
+                       status = "okay";
+               };
+       };
+
        sound {
                compatible = "ad,tegra-audio-wm8903-tec",
                             "nvidia,tegra-audio-wm8903";
index 1e9d33adb925172a939fed343dbd7b9d2246ce41..78deea5c0d217342979e1940cdaa912f9d53696a 100644 (file)
        };
 
        pmc {
-               nvidia,suspend-mode = <2>;
+               nvidia,suspend-mode = <1>;
                nvidia,cpu-pwr-good-time = <5000>;
                nvidia,cpu-pwr-off-time = <5000>;
                nvidia,core-pwr-good-time = <3845 3845>;
                nvidia,sys-clock-req-active-high;
        };
 
+       pcie-controller {
+               status = "okay";
+               pex-clk-supply = <&pci_clk_reg>;
+               vdd-supply = <&pci_vdd_reg>;
+
+               pci@1,0 {
+                       status = "okay";
+               };
+       };
+
        usb@c5000000 {
                status = "okay";
        };
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
                        enable-active-high;
-                       gpio = <&gpio 170 0>; /* PV2 */
+                       gpio = <&gpio TEGRA_GPIO(V, 2) 0>;
                        regulator-always-on;
                        regulator-boot-on;
                };
+
+               pci_clk_reg: regulator@3 {
+                       compatible = "regulator-fixed";
+                       reg = <3>;
+                       regulator-name = "pci_clk";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-always-on;
+               };
+
+               pci_vdd_reg: regulator@4 {
+                       compatible = "regulator-fixed";
+                       reg = <4>;
+                       regulator-name = "pci_vdd";
+                       regulator-min-microvolt = <1050000>;
+                       regulator-max-microvolt = <1050000>;
+                       regulator-always-on;
+               };
        };
 
        sound {
index 7f8c28d1121fa9e6685b6ec2bd69755b405222e7..aab872cd05300cd3084a3cb3e3edb11bdd757b90 100644 (file)
 
        pmc {
                nvidia,invert-interrupt;
-               nvidia,suspend-mode = <2>;
+               nvidia,suspend-mode = <1>;
                nvidia,cpu-pwr-good-time = <2000>;
                nvidia,cpu-pwr-off-time = <100>;
                nvidia,core-pwr-good-time = <3845 3845>;
index c703197dca6ed189776910235486323f4a26e2e3..d33a73cf167c42b295b5b8252608176888759875 100644 (file)
 
        pmc {
                nvidia,invert-interrupt;
-               nvidia,suspend-mode = <2>;
+               nvidia,suspend-mode = <1>;
                nvidia,cpu-pwr-good-time = <2000>;
                nvidia,cpu-pwr-off-time = <1000>;
                nvidia,core-pwr-good-time = <0 3845>;
index e4570834512e5f874d983d86fbb4dc011981bd13..df40b54fd8bca58eeeb610d6a5c755d4fec51aae 100644 (file)
                #size-cells = <0>;
        };
 
+       pcie-controller {
+               compatible = "nvidia,tegra20-pcie";
+               device_type = "pci";
+               reg = <0x80003000 0x00000800   /* PADS registers */
+                      0x80003800 0x00000200   /* AFI registers */
+                      0x90000000 0x10000000>; /* configuration space */
+               reg-names = "pads", "afi", "cs";
+               interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH   /* controller interrupt */
+                             GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
+               interrupt-names = "intr", "msi";
+
+               bus-range = <0x00 0xff>;
+               #address-cells = <3>;
+               #size-cells = <2>;
+
+               ranges = <0x82000000 0 0x80000000 0x80000000 0 0x00001000   /* port 0 registers */
+                         0x82000000 0 0x80001000 0x80001000 0 0x00001000   /* port 1 registers */
+                         0x81000000 0 0          0x82000000 0 0x00010000   /* downstream I/O */
+                         0x82000000 0 0xa0000000 0xa0000000 0 0x08000000   /* non-prefetchable memory */
+                         0xc2000000 0 0xa8000000 0xa8000000 0 0x18000000>; /* prefetchable memory */
+
+               clocks = <&tegra_car TEGRA20_CLK_PEX>,
+                        <&tegra_car TEGRA20_CLK_AFI>,
+                        <&tegra_car TEGRA20_CLK_PCIE_XCLK>,
+                        <&tegra_car TEGRA20_CLK_PLL_E>;
+               clock-names = "pex", "afi", "pcie_xclk", "pll_e";
+               status = "disabled";
+
+               pci@1,0 {
+                       device_type = "pci";
+                       assigned-addresses = <0x82000800 0 0x80000000 0 0x1000>;
+                       reg = <0x000800 0 0 0 0>;
+                       status = "disabled";
+
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       ranges;
+
+                       nvidia,num-lanes = <2>;
+               };
+
+               pci@2,0 {
+                       device_type = "pci";
+                       assigned-addresses = <0x82001000 0 0x80001000 0 0x1000>;
+                       reg = <0x001000 0 0 0 0>;
+                       status = "disabled";
+
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       ranges;
+
+                       nvidia,num-lanes = <2>;
+               };
+       };
+
        usb@c5000000 {
                compatible = "nvidia,tegra20-ehci", "usb-ehci";
                reg = <0xc5000000 0x4000>;
index 87c5f7b7c271fd7c8f58309b75d0168619919b2d..08cad696e89fbd648c0c76a6f42c5fcbc2594cc5 100644 (file)
                reg = <0x80000000 0x7ff00000>;
        };
 
+       pcie-controller {
+               status = "okay";
+               pex-clk-supply = <&sys_3v3_pexs_reg>;
+               vdd-supply = <&ldo1_reg>;
+               avdd-supply = <&ldo2_reg>;
+
+               pci@1,0 {
+                       status = "okay";
+                       nvidia,num-lanes = <2>;
+               };
+
+               pci@2,0 {
+                       nvidia,num-lanes = <2>;
+               };
+
+               pci@3,0 {
+                       status = "okay";
+                       nvidia,num-lanes = <2>;
+               };
+       };
+
+       host1x {
+               hdmi {
+                       status = "okay";
+
+                       vdd-supply = <&sys_3v3_reg>;
+                       pll-supply = <&vio_reg>;
+
+                       nvidia,hpd-gpio =
+                               <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
+                       nvidia,ddc-i2c-bus = <&hdmiddc>;
+               };
+       };
+
        pinmux {
                pinctrl-names = "default";
                pinctrl-0 = <&state_default>;
                                nvidia,pull = <0>;
                                nvidia,tristate = <0>;
                        };
+                       pex_l1_prsnt_n_pdd4 {
+                               nvidia,pins =   "pex_l1_prsnt_n_pdd4",
+                                               "pex_l1_clkreq_n_pdd6";
+                               nvidia,pull = <2>;
+                       };
                        sdio3 {
                                nvidia,pins = "drive_sdio3";
                                nvidia,high-speed-mode = <0>;
                                nvidia,slew-rate-rising = <1>;
                                nvidia,slew-rate-falling = <1>;
                        };
+                       gpv {
+                               nvidia,pins = "drive_gpv";
+                               nvidia,pull-up-strength = <16>;
+                       };
                };
        };
 
                clock-frequency = <100000>;
        };
 
-       i2c@7000c700 {
+       hdmiddc: i2c@7000c700 {
                status = "okay";
                clock-frequency = <100000>;
        };
        pmc {
                status = "okay";
                nvidia,invert-interrupt;
-               nvidia,suspend-mode = <2>;
+               nvidia,suspend-mode = <1>;
                nvidia,cpu-pwr-good-time = <2000>;
                nvidia,cpu-pwr-off-time = <200>;
                nvidia,core-pwr-good-time = <3845 3845>;
                non-removable;
        };
 
+       usb@7d008000 {
+               status = "okay";
+       };
+
+       usb-phy@7d008000 {
+               vbus-supply = <&usb3_vbus_reg>;
+               status = "okay";
+       };
+
        clocks {
                compatible = "simple-bus";
                #address-cells = <1>;
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
                        enable-active-high;
-                       gpio = <&gpio TEGRA_GPIO(I, 4) GPIO_ACTIVE_HIGH>;
+                       gpio = <&gpio TEGRA_GPIO(DD, 6) GPIO_ACTIVE_HIGH>;
                        gpio-open-drain;
                        vin-supply = <&vdd_5v_in_reg>;
                };
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
                        enable-active-high;
-                       gpio = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_HIGH>;
+                       gpio = <&gpio TEGRA_GPIO(DD, 4) GPIO_ACTIVE_HIGH>;
                        gpio-open-drain;
                        vin-supply = <&vdd_5v_in_reg>;
                };
 
                nvidia,audio-routing =
                        "Headphones", "HPOR",
-                       "Headphones", "HPOL";
+                       "Headphones", "HPOL",
+                       "Mic Jack", "MICBIAS1",
+                       "IN2P", "Mic Jack";
 
                nvidia,i2s-controller = <&tegra_i2s1>;
                nvidia,audio-codec = <&rt5640>;
index f65b53d32416749244d1cc977d23c1e5bea64477..e19dbf238e5c8498878dc56492018585190830ce 100644 (file)
                reg = <0x80000000 0x40000000>;
        };
 
+       pcie-controller {
+               status = "okay";
+               pex-clk-supply = <&pex_hvdd_3v3_reg>;
+               vdd-supply = <&ldo1_reg>;
+               avdd-supply = <&ldo2_reg>;
+
+               pci@1,0 {
+                       nvidia,num-lanes = <4>;
+               };
+
+               pci@2,0 {
+                       nvidia,num-lanes = <1>;
+               };
+
+               pci@3,0 {
+                       status = "okay";
+                       nvidia,num-lanes = <1>;
+               };
+       };
+
        pinmux {
                pinctrl-names = "default";
                pinctrl-0 = <&state_default>;
                        gpio-cfg = <0xffffffff 0xffffffff 0 0xffffffff 0xffffffff>;
                };
 
-               tps62361 {
-                       compatible = "ti,tps62361";
-                       reg = <0x60>;
-
-                       regulator-name = "tps62361-vout";
-                       regulator-min-microvolt = <500000>;
-                       regulator-max-microvolt = <1500000>;
-                       regulator-boot-on;
-                       regulator-always-on;
-                       ti,vsel0-state-high;
-                       ti,vsel1-state-high;
-               };
-
                pmic: tps65911@2d {
                        compatible = "ti,tps65911";
                        reg = <0x2d>;
                                };
                        };
                };
+
+               nct1008 {
+                       compatible = "onnn,nct1008";
+                       reg = <0x4c>;
+                       interrupt-parent = <&gpio>;
+                       interrupts = <TEGRA_GPIO(CC, 2) IRQ_TYPE_LEVEL_LOW>;
+               };
+
+               tps62361 {
+                       compatible = "ti,tps62361";
+                       reg = <0x60>;
+
+                       regulator-name = "tps62361-vout";
+                       regulator-min-microvolt = <500000>;
+                       regulator-max-microvolt = <1500000>;
+                       regulator-boot-on;
+                       regulator-always-on;
+                       ti,vsel0-state-high;
+                       ti,vsel1-state-high;
+               };
        };
 
        spi@7000da00 {
        pmc {
                status = "okay";
                nvidia,invert-interrupt;
-               nvidia,suspend-mode = <2>;
+               nvidia,suspend-mode = <1>;
                nvidia,cpu-pwr-good-time = <2000>;
                nvidia,cpu-pwr-off-time = <200>;
                nvidia,core-pwr-good-time = <3845 3845>;
                non-removable;
        };
 
+       usb@7d008000 {
+               status = "okay";
+       };
+
+       usb-phy@7d008000 {
+               vbus-supply = <&usb3_vbus_reg>;
+               status = "okay";
+       };
+
        clocks {
                compatible = "simple-bus";
                #address-cells = <1>;
index d8783f0fae6354bd13a7939a7821d15bb830d054..0022c127e1d956c42badc2970887fca3b9d7511b 100644 (file)
                serial4 = &uarte;
        };
 
+       pcie-controller {
+               compatible = "nvidia,tegra30-pcie";
+               device_type = "pci";
+               reg = <0x00003000 0x00000800   /* PADS registers */
+                      0x00003800 0x00000200   /* AFI registers */
+                      0x10000000 0x10000000>; /* configuration space */
+               reg-names = "pads", "afi", "cs";
+               interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH   /* controller interrupt */
+                             GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
+               interrupt-names = "intr", "msi";
+
+               bus-range = <0x00 0xff>;
+               #address-cells = <3>;
+               #size-cells = <2>;
+
+               ranges = <0x82000000 0 0x00000000 0x00000000 0 0x00001000   /* port 0 configuration space */
+                         0x82000000 0 0x00001000 0x00001000 0 0x00001000   /* port 1 configuration space */
+                         0x82000000 0 0x00004000 0x00004000 0 0x00001000   /* port 2 configuration space */
+                         0x81000000 0 0          0x02000000 0 0x00010000   /* downstream I/O */
+                         0x82000000 0 0x20000000 0x20000000 0 0x08000000   /* non-prefetchable memory */
+                         0xc2000000 0 0x28000000 0x28000000 0 0x18000000>; /* prefetchable memory */
+
+               clocks = <&tegra_car TEGRA30_CLK_PCIE>,
+                        <&tegra_car TEGRA30_CLK_AFI>,
+                        <&tegra_car TEGRA30_CLK_PCIEX>,
+                        <&tegra_car TEGRA30_CLK_PLL_E>,
+                        <&tegra_car TEGRA30_CLK_CML0>;
+               clock-names = "pex", "afi", "pcie_xclk", "pll_e", "cml";
+               status = "disabled";
+
+               pci@1,0 {
+                       device_type = "pci";
+                       assigned-addresses = <0x82000800 0 0x00000000 0 0x1000>;
+                       reg = <0x000800 0 0 0 0>;
+                       status = "disabled";
+
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       ranges;
+
+                       nvidia,num-lanes = <2>;
+               };
+
+               pci@2,0 {
+                       device_type = "pci";
+                       assigned-addresses = <0x82001000 0 0x00001000 0 0x1000>;
+                       reg = <0x001000 0 0 0 0>;
+                       status = "disabled";
+
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       ranges;
+
+                       nvidia,num-lanes = <2>;
+               };
+
+               pci@3,0 {
+                       device_type = "pci";
+                       assigned-addresses = <0x82001800 0 0x00004000 0 0x1000>;
+                       reg = <0x001800 0 0 0 0>;
+                       status = "disabled";
+
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       ranges;
+
+                       nvidia,num-lanes = <2>;
+               };
+       };
+
        host1x {
                compatible = "nvidia,tegra30-host1x", "simple-bus";
                reg = <0x50000000 0x00024000>;
                status = "disabled";
        };
 
+       usb@7d000000 {
+               compatible = "nvidia,tegra30-ehci", "usb-ehci";
+               reg = <0x7d000000 0x4000>;
+               interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
+               phy_type = "utmi";
+               clocks = <&tegra_car TEGRA30_CLK_USBD>;
+               nvidia,needs-double-reset;
+               nvidia,phy = <&phy1>;
+               status = "disabled";
+       };
+
+       phy1: usb-phy@7d000000 {
+               compatible = "nvidia,tegra30-usb-phy";
+               reg = <0x7d000000 0x4000 0x7d000000 0x4000>;
+               phy_type = "utmi";
+               clocks = <&tegra_car TEGRA30_CLK_USBD>,
+                        <&tegra_car TEGRA30_CLK_PLL_U>,
+                        <&tegra_car TEGRA30_CLK_USBD>;
+               clock-names = "reg", "pll_u", "utmi-pads";
+               nvidia,hssync-start-delay = <9>;
+               nvidia,idle-wait-delay = <17>;
+               nvidia,elastic-limit = <16>;
+               nvidia,term-range-adj = <6>;
+               nvidia,xcvr-setup = <51>;
+               nvidia.xcvr-setup-use-fuses;
+               nvidia,xcvr-lsfslew = <1>;
+               nvidia,xcvr-lsrslew = <1>;
+               nvidia,xcvr-hsslew = <32>;
+               nvidia,hssquelch-level = <2>;
+               nvidia,hsdiscon-level = <5>;
+               status = "disabled";
+       };
+
+       usb@7d004000 {
+               compatible = "nvidia,tegra30-ehci", "usb-ehci";
+               reg = <0x7d004000 0x4000>;
+               interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
+               phy_type = "ulpi";
+               clocks = <&tegra_car TEGRA30_CLK_USB2>;
+               nvidia,phy = <&phy2>;
+               status = "disabled";
+       };
+
+       phy2: usb-phy@7d004000 {
+               compatible = "nvidia,tegra30-usb-phy";
+               reg = <0x7d004000 0x4000>;
+               phy_type = "ulpi";
+               clocks = <&tegra_car TEGRA30_CLK_USB2>,
+                        <&tegra_car TEGRA30_CLK_PLL_U>,
+                        <&tegra_car TEGRA30_CLK_CDEV2>;
+               clock-names = "reg", "pll_u", "ulpi-link";
+               status = "disabled";
+       };
+
+       usb@7d008000 {
+               compatible = "nvidia,tegra30-ehci", "usb-ehci";
+               reg = <0x7d008000 0x4000>;
+               interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
+               phy_type = "utmi";
+               clocks = <&tegra_car TEGRA30_CLK_USB3>;
+               nvidia,phy = <&phy3>;
+               status = "disabled";
+       };
+
+       phy3: usb-phy@7d008000 {
+               compatible = "nvidia,tegra30-usb-phy";
+               reg = <0x7d008000 0x4000 0x7d000000 0x4000>;
+               phy_type = "utmi";
+               clocks = <&tegra_car TEGRA30_CLK_USB3>,
+                        <&tegra_car TEGRA30_CLK_PLL_U>,
+                        <&tegra_car TEGRA30_CLK_USBD>;
+               clock-names = "reg", "pll_u", "utmi-pads";
+               nvidia,hssync-start-delay = <0>;
+               nvidia,idle-wait-delay = <17>;
+               nvidia,elastic-limit = <16>;
+               nvidia,term-range-adj = <6>;
+               nvidia,xcvr-setup = <51>;
+               nvidia.xcvr-setup-use-fuses;
+               nvidia,xcvr-lsfslew = <2>;
+               nvidia,xcvr-lsrslew = <2>;
+               nvidia,xcvr-hsslew = <32>;
+               nvidia,hssquelch-level = <2>;
+               nvidia,hsdiscon-level = <5>;
+               status = "disabled";
+       };
+
        cpus {
                #address-cells = <1>;
                #size-cells = <0>;
diff --git a/arch/arm/boot/dts/u9540.dts b/arch/arm/boot/dts/u9540.dts
deleted file mode 100644 (file)
index 95892ec..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright 2012 ST-Ericsson AB
- *
- * 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/ "dbx5x0.dtsi"
-
-/ {
-       model = "ST-Ericsson U9540 platform with Device Tree";
-       compatible = "st-ericsson,u9540";
-
-       memory {
-               reg = <0x00000000 0x20000000>;
-       };
-
-       soc-u9500 {
-               uart@80120000 {
-                       status = "okay";
-               };
-
-               uart@80121000 {
-                       status = "okay";
-               };
-
-               uart@80007000 {
-                       status = "okay";
-               };
-
-               // External Micro SD slot
-               sdi0_per1@80126000 {
-                       arm,primecell-periphid = <0x10480180>;
-                       max-frequency = <100000000>;
-                       bus-width = <4>;
-                       mmc-cap-sd-highspeed;
-                       mmc-cap-mmc-highspeed;
-                       vmmc-supply = <&ab8500_ldo_aux3_reg>;
-
-                       cd-gpios  = <&gpio7 6 0x4>; // 230
-                       cd-inverted;
-
-                       status = "okay";
-               };
-
-
-               // WLAN SDIO channel
-               sdi1_per2@80118000 {
-                       arm,primecell-periphid = <0x10480180>;
-                       max-frequency = <50000000>;
-                       bus-width = <4>;
-
-                       status = "okay";
-               };
-
-               // On-board eMMC
-               sdi4_per2@80114000 {
-                       arm,primecell-periphid = <0x10480180>;
-                       max-frequency = <100000000>;
-                       bus-width = <8>;
-                       mmc-cap-mmc-highspeed;
-                       vmmc-supply = <&ab8500_ldo_aux2_reg>;
-
-                       status = "okay";
-               };
-       };
-};
index 6f54a64850eb0fef446fd13390f019d5ab277cdb..e32b92b949d2fe762d52ed40e315421786b16113 100644 (file)
@@ -41,8 +41,8 @@
                L2: cache-controller {
                        compatible = "arm,pl310-cache";
                        reg = <0xF8F02000 0x1000>;
-                       arm,data-latency = <2 3 2>;
-                       arm,tag-latency = <2 3 2>;
+                       arm,data-latency = <3 2 2>;
+                       arm,tag-latency = <2 2 2>;
                        cache-unified;
                        cache-level = <2>;
                };
index 5981c3db9b41d33f36068bcc3a12e62a85447e23..4d42da49753c68f1afd914a0a4a4246e09b8893c 100644 (file)
@@ -27,6 +27,7 @@ config MACH_NOMADIK_8815NHK
        select NOMADIK_8815
        select I2C
        select I2C_ALGOBIT
+       select I2C_NOMADIK
 
 endmenu
 endif
index 3835979a0dd396ab8ecea56147d2386bf5c64561..f6a2c4b1c1dc5ae8580e81f583c304501595027c 100644 (file)
@@ -28,7 +28,7 @@ static const struct of_dev_auxdata pxa3xx_auxdata_lookup[] __initconst = {
        OF_DEV_AUXDATA("mrvl,pxa-uart",         0x40700000, "pxa2xx-uart.2", NULL),
        OF_DEV_AUXDATA("mrvl,pxa-uart",         0x41600000, "pxa2xx-uart.3", NULL),
        OF_DEV_AUXDATA("marvell,pxa-mmc",       0x41100000, "pxa2xx-mci.0", NULL),
-       OF_DEV_AUXDATA("mrvl,pxa-gpio",         0x40e00000, "pxa-gpio", NULL),
+       OF_DEV_AUXDATA("intel,pxa3xx-gpio",     0x40e00000, "pxa3xx-gpio", NULL),
        OF_DEV_AUXDATA("marvell,pxa-ohci",      0x4c000000, "pxa27x-ohci", NULL),
        OF_DEV_AUXDATA("mrvl,pxa-i2c",          0x40301680, "pxa2xx-i2c.0", NULL),
        OF_DEV_AUXDATA("mrvl,pwri2c",           0x40f500c0, "pxa3xx-i2c.1", NULL),
index 3912ce91fee42574346c85635ef9089076bceec0..cdefd7dcca796f502949a02018ade96f07d5b000 100644 (file)
@@ -1,3 +1,41 @@
+config ARCH_SHMOBILE_MULTI
+       bool "SH-Mobile Series" if ARCH_MULTI_V7
+       depends on MMU
+       select CPU_V7
+       select GENERIC_CLOCKEVENTS
+       select HAVE_ARM_SCU if SMP
+       select HAVE_ARM_TWD if LOCAL_TIMERS
+       select HAVE_SMP
+       select ARM_GIC
+       select MIGHT_HAVE_CACHE_L2X0
+       select NO_IOPORT
+       select PINCTRL
+       select ARCH_REQUIRE_GPIOLIB
+       select CLKDEV_LOOKUP
+
+if ARCH_SHMOBILE_MULTI
+
+comment "SH-Mobile System Type"
+
+config ARCH_EMEV2
+       bool "Emma Mobile EV2"
+
+comment "SH-Mobile Board Type"
+
+config MACH_KZM9D_REFERENCE
+       bool "KZM9D board - Reference Device Tree Implementation"
+       depends on ARCH_EMEV2
+       select REGULATOR_FIXED_VOLTAGE if REGULATOR
+       ---help---
+          Use reference implementation of KZM9D board support
+          which makes a greater use of device tree at the expense
+          of not supporting a number of devices.
+
+          This is intended to aid developers
+
+comment "SH-Mobile System Configuration"
+endif
+
 if ARCH_SHMOBILE
 
 comment "SH-Mobile System Type"
@@ -156,6 +194,18 @@ config MACH_KZM9D
        select REGULATOR_FIXED_VOLTAGE if REGULATOR
        select USE_OF
 
+config MACH_KZM9D_REFERENCE
+       bool "KZM9D board - Reference Device Tree Implementation"
+       depends on ARCH_EMEV2
+       select REGULATOR_FIXED_VOLTAGE if REGULATOR
+       select USE_OF
+       ---help---
+          Use reference implementation of KZM9D board support
+          which makes a greater use of device tree at the expense
+          of not supporting a number of devices.
+
+          This is intended to aid developers
+
 config MACH_KZM9G
        bool "KZM-A9-GT board"
        depends on ARCH_SH73A0
@@ -186,6 +236,15 @@ config CPU_HAS_INTEVT
         bool
        default y
 
+config SH_CLK_CPG
+       bool
+
+source "drivers/sh/Kconfig"
+
+endif
+
+if ARCH_SHMOBILE || ARCH_SHMOBILE_MULTI
+
 menu "Timer and clock configuration"
 
 config SHMOBILE_TIMER_HZ
@@ -220,9 +279,4 @@ config EM_TIMER_STI
 
 endmenu
 
-config SH_CLK_CPG
-       bool
-
-source "drivers/sh/Kconfig"
-
 endif
index 6165a517f5806228ec6e09ba8aace908f45458ce..b150c4508237beac48a76e2ee37b60125cfae1d8 100644 (file)
@@ -2,18 +2,33 @@
 # Makefile for the linux kernel.
 #
 
+ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/arch/arm/mach-shmobile/include
+
 # Common objects
-obj-y                          := timer.o console.o clock.o
+obj-y                          := timer.o console.o
 
 # CPU objects
-obj-$(CONFIG_ARCH_SH7372)      += setup-sh7372.o clock-sh7372.o intc-sh7372.o
-obj-$(CONFIG_ARCH_SH73A0)      += setup-sh73a0.o clock-sh73a0.o intc-sh73a0.o
-obj-$(CONFIG_ARCH_R8A73A4)     += setup-r8a73a4.o clock-r8a73a4.o
-obj-$(CONFIG_ARCH_R8A7740)     += setup-r8a7740.o clock-r8a7740.o intc-r8a7740.o
-obj-$(CONFIG_ARCH_R8A7778)     += setup-r8a7778.o clock-r8a7778.o
-obj-$(CONFIG_ARCH_R8A7779)     += setup-r8a7779.o clock-r8a7779.o intc-r8a7779.o
-obj-$(CONFIG_ARCH_R8A7790)     += setup-r8a7790.o clock-r8a7790.o
-obj-$(CONFIG_ARCH_EMEV2)       += setup-emev2.o clock-emev2.o
+obj-$(CONFIG_ARCH_SH7372)      += setup-sh7372.o intc-sh7372.o
+obj-$(CONFIG_ARCH_SH73A0)      += setup-sh73a0.o intc-sh73a0.o
+obj-$(CONFIG_ARCH_R8A73A4)     += setup-r8a73a4.o
+obj-$(CONFIG_ARCH_R8A7740)     += setup-r8a7740.o intc-r8a7740.o
+obj-$(CONFIG_ARCH_R8A7778)     += setup-r8a7778.o
+obj-$(CONFIG_ARCH_R8A7779)     += setup-r8a7779.o intc-r8a7779.o
+obj-$(CONFIG_ARCH_R8A7790)     += setup-r8a7790.o
+obj-$(CONFIG_ARCH_EMEV2)       += setup-emev2.o
+
+# Clock objects
+ifndef CONFIG_COMMON_CLK
+obj-y                          += clock.o
+obj-$(CONFIG_ARCH_SH7372)      += clock-sh7372.o
+obj-$(CONFIG_ARCH_SH73A0)      += clock-sh73a0.o
+obj-$(CONFIG_ARCH_R8A73A4)     += clock-r8a73a4.o
+obj-$(CONFIG_ARCH_R8A7740)     += clock-r8a7740.o
+obj-$(CONFIG_ARCH_R8A7778)     += clock-r8a7778.o
+obj-$(CONFIG_ARCH_R8A7779)     += clock-r8a7779.o
+obj-$(CONFIG_ARCH_R8A7790)     += clock-r8a7790.o
+obj-$(CONFIG_ARCH_EMEV2)       += clock-emev2.o
+endif
 
 # SMP objects
 smp-y                          := platsmp.o headsmp.o
@@ -46,6 +61,7 @@ obj-$(CONFIG_MACH_LAGER)      += board-lager.o
 obj-$(CONFIG_MACH_ARMADILLO800EVA)     += board-armadillo800eva.o
 obj-$(CONFIG_MACH_ARMADILLO800EVA_REFERENCE)   += board-armadillo800eva-reference.o
 obj-$(CONFIG_MACH_KZM9D)       += board-kzm9d.o
+obj-$(CONFIG_MACH_KZM9D_REFERENCE)     += board-kzm9d-reference.o
 obj-$(CONFIG_MACH_KZM9G)       += board-kzm9g.o
 obj-$(CONFIG_MACH_KZM9G_REFERENCE)     += board-kzm9g-reference.o
 
index 84c6868580f046c43677f34a416e0b70e39a413c..7785c52b5cfdfd0f509375c6491a50d501057930 100644 (file)
@@ -7,6 +7,7 @@ loadaddr-$(CONFIG_MACH_ARMADILLO800EVA_REFERENCE) += 0x40008000
 loadaddr-$(CONFIG_MACH_BOCKW) += 0x60008000
 loadaddr-$(CONFIG_MACH_KOTA2) += 0x41008000
 loadaddr-$(CONFIG_MACH_KZM9D) += 0x40008000
+loadaddr-$(CONFIG_MACH_KZM9D_REFERENCE) += 0x40008000
 loadaddr-$(CONFIG_MACH_KZM9G) += 0x41008000
 loadaddr-$(CONFIG_MACH_KZM9G_REFERENCE) += 0x41008000
 loadaddr-$(CONFIG_MACH_LAGER) += 0x40008000
index 8f677df2d4c4d997a08f901f5043423f2e0b30e9..fd2446d995adfb66f1257ae711461b8de90f705e 100644 (file)
@@ -24,7 +24,6 @@
 #include <linux/kernel.h>
 #include <linux/gpio.h>
 #include <linux/io.h>
-#include <linux/pinctrl/machine.h>
 #include <mach/common.h>
 #include <mach/r8a7740.h>
 #include <asm/mach/arch.h>
  *     usbhsf_power_ctrl()
  */
 
-static const struct pinctrl_map eva_pinctrl_map[] = {
-       /* SCIFA1 */
-       PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.1", "pfc-r8a7740",
-                                 "scifa1_data", "scifa1"),
-};
-
 static void __init eva_clock_init(void)
 {
        struct clk *system      = clk_get(NULL, "system_clk");
@@ -165,27 +158,18 @@ clock_error:
  */
 static void __init eva_init(void)
 {
-
        r8a7740_clock_init(MD_CK0 | MD_CK2);
        eva_clock_init();
 
-       pinctrl_register_mappings(eva_pinctrl_map, ARRAY_SIZE(eva_pinctrl_map));
-       r8a7740_pinmux_init();
-
        r8a7740_meram_workaround();
 
-       /*
-        * Touchscreen
-        * TODO: Move reset GPIO over to .dts when we can reference it
-        */
-       gpio_request_one(166, GPIOF_OUT_INIT_HIGH, NULL); /* TP_RST_B */
-
 #ifdef CONFIG_CACHE_L2X0
        /* Early BRESP enable, Shared attribute override enable, 32K*8way */
        l2x0_init(IOMEM(0xf0002000), 0x40440000, 0x82000fff);
 #endif
 
        r8a7740_add_standard_devices_dt();
+
        r8a7740_pm_init();
 }
 
diff --git a/arch/arm/mach-shmobile/board-kzm9d-reference.c b/arch/arm/mach-shmobile/board-kzm9d-reference.c
new file mode 100644 (file)
index 0000000..8f8bb2f
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * kzm9d board support - Reference DT implementation
+ *
+ * Copyright (C) 2013  Renesas Solutions Corp.
+ * Copyright (C) 2013  Magnus Damm
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#include <linux/init.h>
+#include <linux/of_platform.h>
+#include <mach/emev2.h>
+#include <mach/common.h>
+#include <asm/mach/arch.h>
+
+static void __init kzm9d_add_standard_devices(void)
+{
+       if (!IS_ENABLED(CONFIG_COMMON_CLK))
+               emev2_clock_init();
+
+       of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
+}
+
+static const char *kzm9d_boards_compat_dt[] __initdata = {
+       "renesas,kzm9d-reference",
+       NULL,
+};
+
+DT_MACHINE_START(KZM9D_DT, "kzm9d")
+       .smp            = smp_ops(emev2_smp_ops),
+       .map_io         = emev2_map_io,
+       .init_early     = emev2_init_delay,
+       .init_machine   = kzm9d_add_standard_devices,
+       .init_late      = shmobile_init_late,
+       .dt_compat      = kzm9d_boards_compat_dt,
+MACHINE_END
index 15900f1f8af74e54a1ee0b76681374ee4be7c598..30c2cc695b12c30fac1c09d944b8ac67370fe6e0 100644 (file)
@@ -86,8 +86,6 @@ DT_MACHINE_START(KZM9D_DT, "kzm9d")
        .smp            = smp_ops(emev2_smp_ops),
        .map_io         = emev2_map_io,
        .init_early     = emev2_init_delay,
-       .nr_irqs        = NR_IRQS_LEGACY,
-       .init_irq       = emev2_init_irq,
        .init_machine   = kzm9d_add_standard_devices,
        .init_late      = shmobile_init_late,
        .dt_compat      = kzm9d_boards_compat_dt,
index 41092bb01ee541e55198955b0452529231f790f3..a66a808db01269495317c4d41ac3172a4d3763ff 100644 (file)
  */
 
 #include <linux/delay.h>
-#include <linux/gpio.h>
 #include <linux/io.h>
 #include <linux/irq.h>
 #include <linux/input.h>
 #include <linux/of_platform.h>
-#include <linux/pinctrl/machine.h>
-#include <linux/pinctrl/pinconf-generic.h>
 #include <mach/sh73a0.h>
 #include <mach/common.h>
 #include <asm/hardware/cache-l2x0.h>
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 
-static unsigned long pin_pullup_conf[] = {
-       PIN_CONF_PACKED(PIN_CONFIG_BIAS_PULL_UP, 0),
-};
-
-static const struct pinctrl_map kzm_pinctrl_map[] = {
-       PIN_MAP_MUX_GROUP_DEFAULT("e6826000.i2c", "pfc-sh73a0",
-                                 "i2c3_1", "i2c3"),
-       /* MMCIF */
-       PIN_MAP_MUX_GROUP_DEFAULT("e6bd0000.mmcif", "pfc-sh73a0",
-                                 "mmc0_data8_0", "mmc0"),
-       PIN_MAP_MUX_GROUP_DEFAULT("e6bd0000.mmcif", "pfc-sh73a0",
-                                 "mmc0_ctrl_0", "mmc0"),
-       PIN_MAP_CONFIGS_PIN_DEFAULT("e6bd0000.mmcif", "pfc-sh73a0",
-                                   "PORT279", pin_pullup_conf),
-       PIN_MAP_CONFIGS_GROUP_DEFAULT("e6bd0000.mmcif", "pfc-sh73a0",
-                                     "mmc0_data8_0", pin_pullup_conf),
-       /* SCIFA4 */
-       PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.4", "pfc-sh73a0",
-                                 "scifa4_data", "scifa4"),
-       PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.4", "pfc-sh73a0",
-                                 "scifa4_ctrl", "scifa4"),
-       /* SDHI0 */
-       PIN_MAP_MUX_GROUP_DEFAULT("ee100000.sdhi", "pfc-sh73a0",
-                                 "sdhi0_data4", "sdhi0"),
-       PIN_MAP_MUX_GROUP_DEFAULT("ee100000.sdhi", "pfc-sh73a0",
-                                 "sdhi0_ctrl", "sdhi0"),
-       PIN_MAP_MUX_GROUP_DEFAULT("ee100000.sdhi", "pfc-sh73a0",
-                                 "sdhi0_cd", "sdhi0"),
-       PIN_MAP_MUX_GROUP_DEFAULT("ee100000.sdhi", "pfc-sh73a0",
-                                 "sdhi0_wp", "sdhi0"),
-       /* SDHI2 */
-       PIN_MAP_MUX_GROUP_DEFAULT("ee140000.sdhi", "pfc-sh73a0",
-                                 "sdhi2_data4", "sdhi2"),
-       PIN_MAP_MUX_GROUP_DEFAULT("ee140000.sdhi", "pfc-sh73a0",
-                                 "sdhi2_ctrl", "sdhi2"),
-};
-
 static void __init kzm_init(void)
 {
        sh73a0_add_standard_devices_dt();
-       pinctrl_register_mappings(kzm_pinctrl_map, ARRAY_SIZE(kzm_pinctrl_map));
-       sh73a0_pinmux_init();
-
-       /* enable SD */
-       gpio_request_one(15, GPIOF_OUT_INIT_HIGH, NULL); /* power */
-
-       gpio_request_one(14, GPIOF_OUT_INIT_HIGH, NULL); /* power */
 
 #ifdef CONFIG_CACHE_L2X0
        /* Early BRESP enable, Shared attribute override enable, 64K*8way */
index 480d882e42c7d586d7326c0600b38a98420737fb..3d1c439b4998ba9e0aed870912024a07df40cbca 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
-#include <linux/pinctrl/machine.h>
 #include <mach/r8a7779.h>
 #include <mach/common.h>
 #include <mach/irqs.h>
 #include <asm/irq.h>
 #include <asm/mach/arch.h>
 
-static const struct pinctrl_map marzen_pinctrl_map[] = {
-       /* SCIF2 (CN18: DEBUG0) */
-       PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.2", "pfc-r8a7779",
-                                 "scif2_data_c", "scif2"),
-       /* SCIF4 (CN19: DEBUG1) */
-       PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.4", "pfc-r8a7779",
-                                 "scif4_data", "scif4"),
-       /* SDHI0 */
-       PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-r8a7779",
-                                 "sdhi0_data4", "sdhi0"),
-       PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-r8a7779",
-                                 "sdhi0_ctrl", "sdhi0"),
-       PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-r8a7779",
-                                 "sdhi0_cd", "sdhi0"),
-       PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-r8a7779",
-                                 "sdhi0_wp", "sdhi0"),
-       /* SMSC */
-       PIN_MAP_MUX_GROUP_DEFAULT("smsc911x", "pfc-r8a7779",
-                                 "intc_irq1_b", "intc"),
-       PIN_MAP_MUX_GROUP_DEFAULT("smsc911x", "pfc-r8a7779",
-                                 "lbsc_ex_cs0", "lbsc"),
-};
-
 static void __init marzen_init(void)
 {
-       pinctrl_register_mappings(marzen_pinctrl_map,
-                                 ARRAY_SIZE(marzen_pinctrl_map));
-       r8a7779_pinmux_init();
-
        r8a7779_add_standard_devices_dt();
 }
 
index 3e0c0441c782126f35623874bbf247924cfb6257..b0ab4b72770adae9e66e39324e87924651d4190b 100644 (file)
@@ -2,7 +2,6 @@
 #define __ASM_EMEV2_H__
 
 extern void emev2_map_io(void);
-extern void emev2_init_irq(void);
 extern void emev2_init_delay(void);
 extern void emev2_add_standard_devices(void);
 extern void emev2_clock_init(void);
index e4b46930db520461ab64ff57bea816d240a6a048..1553af8e04ff39fca308c2cb507565c86bafb4af 100644 (file)
 
 static struct map_desc emev2_io_desc[] __initdata = {
 #ifdef CONFIG_SMP
-       /* 128K entity map for 0xe0100000 (SMU) */
-       {
-               .virtual        = 0xe0100000,
-               .pfn            = __phys_to_pfn(0xe0100000),
-               .length         = SZ_128K,
-               .type           = MT_DEVICE
-       },
        /* 2M mapping for SCU + L2 controller */
        {
                .virtual        = 0xf0000000,
@@ -182,7 +175,8 @@ static struct resource pmu_resources[] = {
 
 void __init emev2_add_standard_devices(void)
 {
-       emev2_clock_init();
+       if (!IS_ENABLED(CONFIG_COMMON_CLK))
+               emev2_clock_init();
 
        emev2_register_uart(0);
        emev2_register_uart(1);
@@ -202,20 +196,6 @@ void __init emev2_init_delay(void)
        shmobile_setup_delay(533, 1, 3); /* Cortex-A9 @ 533MHz */
 }
 
-void __init emev2_init_irq(void)
-{
-       void __iomem *gic_dist_base;
-       void __iomem *gic_cpu_base;
-
-       /* Static mappings, never released */
-       gic_dist_base = ioremap(0xe0028000, PAGE_SIZE);
-       gic_cpu_base = ioremap(0xe0020000, PAGE_SIZE);
-       BUG_ON(!gic_dist_base || !gic_cpu_base);
-
-       /* Use GIC to handle interrupts */
-       gic_init(0, 29, gic_dist_base, gic_cpu_base);
-}
-
 #ifdef CONFIG_USE_OF
 
 static const char *emev2_boards_compat_dt[] __initdata = {
@@ -225,8 +205,8 @@ static const char *emev2_boards_compat_dt[] __initdata = {
 
 DT_MACHINE_START(EMEV2_DT, "Generic Emma Mobile EV2 (Flattened Device Tree)")
        .smp            = smp_ops(emev2_smp_ops),
+       .map_io         = emev2_map_io,
        .init_early     = emev2_init_delay,
-       .nr_irqs        = NR_IRQS_LEGACY,
        .dt_compat      = emev2_boards_compat_dt,
 MACHINE_END
 
index 22a05a869d2559ddf26bd2f3666f746218280d69..1fcd607d64ad3b787f4fa90d0b3cf578d979a775 100644 (file)
@@ -38,9 +38,12 @@ static int emev2_boot_secondary(unsigned int cpu, struct task_struct *idle)
 
 static void __init emev2_smp_prepare_cpus(unsigned int max_cpus)
 {
+       /* setup EMEV2 specific SCU base, enable */
+       shmobile_scu_base = ioremap(EMEV2_SCU_BASE, PAGE_SIZE);
        scu_enable(shmobile_scu_base);
 
        /* Tell ROM loader about our vector (in headsmp-scu.S, headsmp.S) */
+       emev2_clock_init(); /* need ioremapped SMU */
        emev2_set_boot_vector(__pa(shmobile_boot_vector));
        shmobile_boot_fn = virt_to_phys(shmobile_boot_scu);
        shmobile_boot_arg = (unsigned long)shmobile_scu_base;
@@ -49,21 +52,7 @@ static void __init emev2_smp_prepare_cpus(unsigned int max_cpus)
        scu_power_mode(shmobile_scu_base, SCU_PM_NORMAL);
 }
 
-static void __init emev2_smp_init_cpus(void)
-{
-       unsigned int ncores;
-
-       /* setup EMEV2 specific SCU base */
-       shmobile_scu_base = ioremap(EMEV2_SCU_BASE, PAGE_SIZE);
-       emev2_clock_init(); /* need ioremapped SMU */
-
-       ncores = shmobile_scu_base ? scu_get_core_count(shmobile_scu_base) : 1;
-
-       shmobile_smp_init_cpus(ncores);
-}
-
 struct smp_operations emev2_smp_ops __initdata = {
-       .smp_init_cpus          = emev2_smp_init_cpus,
        .smp_prepare_cpus       = emev2_smp_prepare_cpus,
        .smp_boot_secondary     = emev2_boot_secondary,
 };
index 12eee8167525dfd3f6e8cf6bec401408516b9dd1..2061b6a2a766aa947feda9e789c221355f08dbcb 100644 (file)
@@ -223,10 +223,10 @@ static struct of_dev_auxdata u8500_auxdata_lookup[] __initdata = {
        OF_DEV_AUXDATA("arm,pl011", 0x80121000, "uart1", NULL),
        OF_DEV_AUXDATA("arm,pl011", 0x80007000, "uart2", NULL),
        OF_DEV_AUXDATA("arm,pl022", 0x80002000, "ssp0",  &ssp0_plat),
-       OF_DEV_AUXDATA("arm,pl18x", 0x80126000, "sdi0",  &mop500_sdi0_data),
-       OF_DEV_AUXDATA("arm,pl18x", 0x80118000, "sdi1",  &mop500_sdi1_data),
-       OF_DEV_AUXDATA("arm,pl18x", 0x80005000, "sdi2",  &mop500_sdi2_data),
-       OF_DEV_AUXDATA("arm,pl18x", 0x80114000, "sdi4",  &mop500_sdi4_data),
+       OF_DEV_AUXDATA("arm,pl18x", 0x80126000, "sdi0",  NULL),
+       OF_DEV_AUXDATA("arm,pl18x", 0x80118000, "sdi1",  NULL),
+       OF_DEV_AUXDATA("arm,pl18x", 0x80005000, "sdi2",  NULL),
+       OF_DEV_AUXDATA("arm,pl18x", 0x80114000, "sdi4",  NULL),
        /* Requires clock name bindings. */
        OF_DEV_AUXDATA("st,nomadik-gpio", 0x8012e000, "gpio.0", NULL),
        OF_DEV_AUXDATA("st,nomadik-gpio", 0x8012e080, "gpio.1", NULL),
index a0a2657e31ffa1a5622a6192d15d4e6746f6e23c..4777a73cd39024022307a90868cf65fc43490caf 100644 (file)
@@ -176,6 +176,7 @@ static int altera_ps2_remove(struct platform_device *pdev)
 #ifdef CONFIG_OF
 static const struct of_device_id altera_ps2_match[] = {
        { .compatible = "ALTR,ps2-1.0", },
+       { .compatible = "altr,ps2-1.0", },
        {},
 };
 MODULE_DEVICE_TABLE(of, altera_ps2_match);
index f38855f7653622d742127c7ff6af7223b4c5ee91..9a64c3fee218b152cb40365ea7f6bf1b4f7e39e7 100644 (file)
@@ -276,6 +276,7 @@ static int altera_spi_remove(struct platform_device *dev)
 #ifdef CONFIG_OF
 static const struct of_device_id altera_spi_match[] = {
        { .compatible = "ALTR,spi-1.0", },
+       { .compatible = "altr,spi-1.0", },
        {},
 };
 MODULE_DEVICE_TABLE(of, altera_spi_match);
index 18e038fbdcdc3331332b0f936e9852d799ef45d8..59b3da9bcc3f031c922ffd16f7321ed727e53ade 100644 (file)
@@ -473,6 +473,7 @@ static int altera_jtaguart_remove(struct platform_device *pdev)
 #ifdef CONFIG_OF
 static struct of_device_id altera_jtaguart_match[] = {
        { .compatible = "ALTR,juart-1.0", },
+       { .compatible = "altr,juart-1.0", },
        {},
 };
 MODULE_DEVICE_TABLE(of, altera_jtaguart_match);
index 6431472aeb1f9168f83da944d11802b49b82d49a..501667e3e3f51209647d75ba1a08ea4617ffca11 100644 (file)
@@ -615,6 +615,7 @@ static int altera_uart_remove(struct platform_device *pdev)
 #ifdef CONFIG_OF
 static struct of_device_id altera_uart_match[] = {
        { .compatible = "ALTR,uart-1.0", },
+       { .compatible = "altr,uart-1.0", },
        {},
 };
 MODULE_DEVICE_TABLE(of, altera_uart_match);
diff --git a/include/dt-bindings/pinctrl/nomadik.h b/include/dt-bindings/pinctrl/nomadik.h
new file mode 100644 (file)
index 0000000..638fb32
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ * nomadik.h
+ *
+ * Copyright (C) ST-Ericsson SA 2013
+ * Author: Gabriel Fernandez <gabriel.fernandez@st.com> for ST-Ericsson.
+ * License terms:  GNU General Public License (GPL), version 2
+ */
+
+#define INPUT_NOPULL           0
+#define INPUT_PULLUP           1
+#define INPUT_PULLDOWN         2
+
+#define OUTPUT_LOW             0
+#define OUTPUT_HIGH            1
+#define DIR_OUTPUT             2
+
+#define SLPM_DISABLED          0
+#define SLPM_ENABLED           1
+
+#define SLPM_INPUT_NOPULL      0
+#define SLPM_INPUT_PULLUP      1
+#define SLPM_INPUT_PULLDOWN    2
+#define SLPM_DIR_INPUT         3
+
+#define SLPM_OUTPUT_LOW                0
+#define SLPM_OUTPUT_HIGH       1
+#define SLPM_DIR_OUTPUT                2
+
+#define SLPM_WAKEUP_DISABLE    0
+#define SLPM_WAKEUP_ENABLE     1
+
+#define GPIOMODE_DISABLED      0
+#define GPIOMODE_ENABLED       1
+
+#define SLPM_PDIS_DISABLED     0
+#define SLPM_PDIS_ENABLED      1