]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
Merge tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 8 Oct 2014 21:22:23 +0000 (17:22 -0400)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 8 Oct 2014 21:22:23 +0000 (17:22 -0400)
Pull ARM SoC DT updates from Arnd Bergmann:
 "As usual, this is the largest branch, though this time a little under
  half of the total changes with 307 individual non-merge changesets.

  The largest changes are the addition of new machines, in particular
  the Tegra based Chromebook, the Renesas r8a7794 SoC, and DT support
  for the old i.MX1 platform.

  Other changes include
   - at91: various sam9 and sama5 updates
   - exynos: much extended Peach Pi/Pit (Chromebook 2) support
   - keystone: new peripherals
   - meson: added DT for meson6 SoC
   - mvebu: new device support for Armada 370/375
   - qcom: improved support for IPQ8064 and MSM8x60
   - rockchip: much improved support for rk3288
   - shmobile: lots of updates all over the place
   - sunxi: dts license change
   - sunxi: more a23 device support
   - vexpress: CLCD DT description"

* tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (308 commits)
  ARM: DTS: meson: update DTSI to add watchdog node
  ARM: dts: keystone-k2l: fix mdio io start address
  ARM: dts: keystone-k2e: fix mdio io start address
  ARM: dts: keystone-k2e: update usb1 node for dma properties
  ARM: dts: keystone: fix io range for usb_phy0
  Revert "Merge tag 'hix5hd2-dt-for-3.18' of git://github.com/hisilicon/linux-hisi into next/dt"
  Revert "ARM: dts: hix5hd2: add wdg node"
  ARM: dts: add rk3288 i2s controller
  ARM: vexpress: Add CLCD Device Tree properties
  ARM: bcm2835: add I2S pinctrl to device tree
  ARM: meson: documentation: add bindings documentation
  ARM: meson: dts: add basic Meson/Meson6/Meson6-atv1200 DTSI/DTS
  ARM: dts: mt6589: Change compatible string for GIC
  ARM: dts: mediatek: Add compatible property for aquaris5
  ARM: dts: mt6589-aquaris5: Add boot argument earlyprintk
  ARM: dts: mt6589: Fix typo in GIC unit address
  ARM: dts: Build dtb for Mediatek board
  ARM: dts: keystone: fix bindings for pcie and usb clock nodes
  ARM: dts: keystone: k2l: Fix chip selects for SPI devices
  ARM: dts: keystone: add dsp gpio controllers nodes
  ...

217 files changed:
Documentation/arm/Marvell/README
Documentation/devicetree/bindings/arm/altera/socfpga-sdram-edac.txt [new file with mode: 0644]
Documentation/devicetree/bindings/arm/amlogic.txt [new file with mode: 0644]
Documentation/devicetree/bindings/arm/geniatech.txt [new file with mode: 0644]
Documentation/devicetree/bindings/arm/mediatek.txt
Documentation/devicetree/bindings/arm/omap/omap.txt
Documentation/devicetree/bindings/arm/shmobile.txt [new file with mode: 0644]
Documentation/devicetree/bindings/i2c/trivial-devices.txt
Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
Documentation/devicetree/bindings/regulator/da9210.txt
Documentation/devicetree/bindings/vendor-prefixes.txt
MAINTAINERS
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/am335x-bone-common.dtsi
arch/arm/boot/dts/am33xx.dtsi
arch/arm/boot/dts/am4372.dtsi
arch/arm/boot/dts/armada-370-db.dts
arch/arm/boot/dts/armada-370-mirabox.dts
arch/arm/boot/dts/armada-370-netgear-rn102.dts
arch/arm/boot/dts/armada-370-netgear-rn104.dts
arch/arm/boot/dts/armada-370-rd.dts
arch/arm/boot/dts/armada-370-xp.dtsi
arch/arm/boot/dts/armada-370.dtsi
arch/arm/boot/dts/armada-375.dtsi
arch/arm/boot/dts/armada-xp-netgear-rn2120.dts
arch/arm/boot/dts/at91sam9263.dtsi
arch/arm/boot/dts/at91sam9g20.dtsi
arch/arm/boot/dts/at91sam9g45.dtsi
arch/arm/boot/dts/at91sam9m10g45ek.dts
arch/arm/boot/dts/at91sam9n12.dtsi
arch/arm/boot/dts/at91sam9n12ek.dts
arch/arm/boot/dts/at91sam9rl.dtsi
arch/arm/boot/dts/at91sam9x5.dtsi
arch/arm/boot/dts/bcm2835-rpi-b.dts
arch/arm/boot/dts/bcm2835.dtsi
arch/arm/boot/dts/cros-adc-thermistors.dtsi [new file with mode: 0644]
arch/arm/boot/dts/da850-evm.dts
arch/arm/boot/dts/da850.dtsi
arch/arm/boot/dts/dra7-evm.dts
arch/arm/boot/dts/dra7.dtsi
arch/arm/boot/dts/dra72-evm.dts
arch/arm/boot/dts/dra72x.dtsi
arch/arm/boot/dts/dra74x.dtsi
arch/arm/boot/dts/exynos4412-odroid-common.dtsi
arch/arm/boot/dts/exynos4412-origen.dts
arch/arm/boot/dts/exynos4412-trats2.dts
arch/arm/boot/dts/exynos5250-arndale.dts
arch/arm/boot/dts/exynos5250-cros-common.dtsi [deleted file]
arch/arm/boot/dts/exynos5250-smdk5250.dts
arch/arm/boot/dts/exynos5250-snow.dts
arch/arm/boot/dts/exynos5250.dtsi
arch/arm/boot/dts/exynos5260-xyref5260.dts
arch/arm/boot/dts/exynos5410-smdk5410.dts
arch/arm/boot/dts/exynos5420-arndale-octa.dts
arch/arm/boot/dts/exynos5420-peach-pit.dts
arch/arm/boot/dts/exynos5420-smdk5420.dts
arch/arm/boot/dts/exynos5800-peach-pi.dts
arch/arm/boot/dts/imx1-ads.dts [new file with mode: 0644]
arch/arm/boot/dts/imx1-apf9328.dts [new file with mode: 0644]
arch/arm/boot/dts/imx1-pinfunc.h [new file with mode: 0644]
arch/arm/boot/dts/imx1.dtsi [new file with mode: 0644]
arch/arm/boot/dts/imx23-evk.dts
arch/arm/boot/dts/imx25-pinfunc.h
arch/arm/boot/dts/imx25.dtsi
arch/arm/boot/dts/imx27-apf27dev.dts
arch/arm/boot/dts/imx28-apf28dev.dts
arch/arm/boot/dts/imx28-apx4devkit.dts
arch/arm/boot/dts/imx28-cfa10049.dts
arch/arm/boot/dts/imx28-cfa10055.dts
arch/arm/boot/dts/imx28-cfa10056.dts
arch/arm/boot/dts/imx28-cfa10057.dts
arch/arm/boot/dts/imx28-cfa10058.dts
arch/arm/boot/dts/imx28-evk.dts
arch/arm/boot/dts/imx28-m28cu3.dts
arch/arm/boot/dts/imx28-m28evk.dts
arch/arm/boot/dts/imx28-tx28.dts
arch/arm/boot/dts/imx28.dtsi
arch/arm/boot/dts/imx35.dtsi
arch/arm/boot/dts/imx50.dtsi
arch/arm/boot/dts/imx51.dtsi
arch/arm/boot/dts/imx53-smd.dts
arch/arm/boot/dts/imx53.dtsi
arch/arm/boot/dts/imx6dl-gw552x.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6dl-hummingboard.dts
arch/arm/boot/dts/imx6q-gw5400-a.dts
arch/arm/boot/dts/imx6q-gw552x.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6q-hummingboard.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6qdl-gw51xx.dtsi
arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
arch/arm/boot/dts/imx6qdl-gw53xx.dtsi
arch/arm/boot/dts/imx6qdl-gw54xx.dtsi
arch/arm/boot/dts/imx6qdl-gw552x.dtsi [new file with mode: 0644]
arch/arm/boot/dts/imx6qdl-hummingboard.dtsi [new file with mode: 0644]
arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi
arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
arch/arm/boot/dts/imx6qdl-sabresd.dtsi
arch/arm/boot/dts/imx6qdl.dtsi
arch/arm/boot/dts/imx6sl-evk.dts
arch/arm/boot/dts/imx6sl.dtsi
arch/arm/boot/dts/imx6sx-sdb.dts
arch/arm/boot/dts/imx6sx.dtsi
arch/arm/boot/dts/k2e.dtsi
arch/arm/boot/dts/k2hk.dtsi
arch/arm/boot/dts/k2l.dtsi
arch/arm/boot/dts/keystone.dtsi
arch/arm/boot/dts/meson.dtsi [new file with mode: 0644]
arch/arm/boot/dts/meson6-atv1200.dts [new file with mode: 0644]
arch/arm/boot/dts/meson6.dtsi [new file with mode: 0644]
arch/arm/boot/dts/mt6589-aquaris5.dts
arch/arm/boot/dts/mt6589.dtsi
arch/arm/boot/dts/omap2420.dtsi
arch/arm/boot/dts/omap2430.dtsi
arch/arm/boot/dts/omap3-beagle-xm.dts
arch/arm/boot/dts/omap3-gta04.dts [deleted file]
arch/arm/boot/dts/omap3-gta04.dtsi [new file with mode: 0644]
arch/arm/boot/dts/omap3-gta04a3.dts [new file with mode: 0644]
arch/arm/boot/dts/omap3-gta04a4.dts [new file with mode: 0644]
arch/arm/boot/dts/omap3-gta04a5.dts [new file with mode: 0644]
arch/arm/boot/dts/omap3-ha-common.dtsi [new file with mode: 0644]
arch/arm/boot/dts/omap3-ha-lcd.dts [new file with mode: 0644]
arch/arm/boot/dts/omap3-ha.dts [new file with mode: 0644]
arch/arm/boot/dts/omap3-ldp.dts
arch/arm/boot/dts/omap3-n900.dts
arch/arm/boot/dts/omap3-overo-common-peripherals.dtsi
arch/arm/boot/dts/omap3-tao3530.dtsi [new file with mode: 0644]
arch/arm/boot/dts/omap3-thunder.dts [new file with mode: 0644]
arch/arm/boot/dts/omap3.dtsi
arch/arm/boot/dts/omap4.dtsi
arch/arm/boot/dts/omap5-cm-t54.dts
arch/arm/boot/dts/omap5-sbc-t54.dts
arch/arm/boot/dts/omap5.dtsi
arch/arm/boot/dts/pxa2xx.dtsi
arch/arm/boot/dts/qcom-apq8064-ifc6410.dts
arch/arm/boot/dts/qcom-apq8064.dtsi
arch/arm/boot/dts/qcom-apq8074-dragonboard.dts
arch/arm/boot/dts/qcom-apq8084-ifc6540.dts [new file with mode: 0644]
arch/arm/boot/dts/qcom-apq8084-mtp.dts
arch/arm/boot/dts/qcom-apq8084.dtsi
arch/arm/boot/dts/qcom-ipq8064-ap148.dts [new file with mode: 0644]
arch/arm/boot/dts/qcom-ipq8064-v1.0.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom-ipq8064.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom-msm8660-surf.dts
arch/arm/boot/dts/qcom-msm8660.dtsi
arch/arm/boot/dts/qcom-msm8960-cdp.dts
arch/arm/boot/dts/qcom-msm8960.dtsi
arch/arm/boot/dts/qcom-msm8974.dtsi
arch/arm/boot/dts/r8a73a4.dtsi
arch/arm/boot/dts/r8a7779.dtsi
arch/arm/boot/dts/r8a7790-lager.dts
arch/arm/boot/dts/r8a7790.dtsi
arch/arm/boot/dts/r8a7791-henninger.dts
arch/arm/boot/dts/r8a7791-koelsch.dts
arch/arm/boot/dts/r8a7791.dtsi
arch/arm/boot/dts/r8a7794-alt.dts [new file with mode: 0644]
arch/arm/boot/dts/r8a7794.dtsi [new file with mode: 0644]
arch/arm/boot/dts/rk3066a-bqcurie2.dts
arch/arm/boot/dts/rk3066a.dtsi
arch/arm/boot/dts/rk3188-radxarock.dts
arch/arm/boot/dts/rk3188.dtsi
arch/arm/boot/dts/rk3288-evb-act8846.dts
arch/arm/boot/dts/rk3288-evb-rk808.dts
arch/arm/boot/dts/rk3288-evb.dtsi
arch/arm/boot/dts/rk3288.dtsi
arch/arm/boot/dts/rk3xxx.dtsi
arch/arm/boot/dts/sama5d3.dtsi
arch/arm/boot/dts/sama5d3_can.dtsi
arch/arm/boot/dts/sama5d3xcm.dtsi
arch/arm/boot/dts/sama5d3xmb.dtsi
arch/arm/boot/dts/sh73a0-kzm9g-reference.dts
arch/arm/boot/dts/sh73a0.dtsi
arch/arm/boot/dts/socfpga.dtsi
arch/arm/boot/dts/socfpga_arria5.dtsi
arch/arm/boot/dts/socfpga_arria5_socdk.dts
arch/arm/boot/dts/socfpga_cyclone5.dtsi
arch/arm/boot/dts/socfpga_cyclone5_socdk.dts
arch/arm/boot/dts/socfpga_vt.dts
arch/arm/boot/dts/sun4i-a10.dtsi
arch/arm/boot/dts/sun5i-a10s.dtsi
arch/arm/boot/dts/sun5i-a13-hsg-h702.dts [new file with mode: 0644]
arch/arm/boot/dts/sun5i-a13.dtsi
arch/arm/boot/dts/sun6i-a31.dtsi
arch/arm/boot/dts/sun7i-a20-hummingbird.dts [new file with mode: 0644]
arch/arm/boot/dts/sun7i-a20-olinuxino-lime.dts [new file with mode: 0644]
arch/arm/boot/dts/sun7i-a20.dtsi
arch/arm/boot/dts/sun8i-a23-ippo-q8h-v5.dts
arch/arm/boot/dts/sun8i-a23.dtsi
arch/arm/boot/dts/sunxi-common-regulators.dtsi
arch/arm/boot/dts/tegra114.dtsi
arch/arm/boot/dts/tegra124-jetson-tk1.dts
arch/arm/boot/dts/tegra124-nyan-big.dts [new file with mode: 0644]
arch/arm/boot/dts/tegra124-venice2.dts
arch/arm/boot/dts/tegra124.dtsi
arch/arm/boot/dts/tegra20.dtsi
arch/arm/boot/dts/tegra30.dtsi
arch/arm/boot/dts/vexpress-v2m-rs1.dtsi
arch/arm/boot/dts/vexpress-v2m.dtsi
arch/arm/boot/dts/vexpress-v2p-ca9.dts
arch/arm/boot/dts/vf610-colibri-eval-v3.dts [new file with mode: 0644]
arch/arm/boot/dts/vf610-colibri.dts [deleted file]
arch/arm/boot/dts/vf610-colibri.dtsi [new file with mode: 0644]
arch/arm/boot/dts/vf610-twr.dts
arch/arm/boot/dts/vf610.dtsi
arch/arm/boot/dts/zynq-7000.dtsi
arch/arm/boot/dts/zynq-parallella.dts
arch/arm/boot/dts/zynq-zc702.dts
arch/arm/boot/dts/zynq-zc706.dts
arch/arm/boot/dts/zynq-zed.dts
arch/arm/mach-at91/board-dt-sama5.c
arch/arm/mach-davinci/da8xx-dt.c
arch/arm/mach-omap2/board-generic.c
arch/arm/mach-omap2/pdata-quirks.c
arch/arm/mach-qcom/board.c
arch/arm/mach-rockchip/Kconfig
drivers/mfd/da9055-core.c
include/dt-bindings/clock/r8a7790-clock.h
include/dt-bindings/clock/r8a7791-clock.h
include/dt-bindings/clock/r8a7794-clock.h [new file with mode: 0644]

index 4dc66c173e10914ce0dddb7d77d4e9abb3541f78..17453794fca5d518be980b1350784a9e3a11ecd2 100644 (file)
@@ -103,6 +103,10 @@ EBU Armada family
     NOTE: not to be confused with the non-SMP 78xx0 SoCs
     Product Brief: http://www.marvell.com/embedded-processors/armada-xp/assets/Marvell-ArmadaXP-SoC-product%20brief.pdf
     Functional Spec: http://www.marvell.com/embedded-processors/armada-xp/assets/ARMADA-XP-Functional-SpecDatasheet.pdf
+    Hardware Specs:
+      http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78230_OS.PDF
+      http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78260_OS.PDF
+      http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78460_OS.PDF
 
   Core: Sheeva ARMv7 compatible
 
diff --git a/Documentation/devicetree/bindings/arm/altera/socfpga-sdram-edac.txt b/Documentation/devicetree/bindings/arm/altera/socfpga-sdram-edac.txt
new file mode 100644 (file)
index 0000000..d0ce01d
--- /dev/null
@@ -0,0 +1,15 @@
+Altera SOCFPGA SDRAM Error Detection & Correction [EDAC]
+The EDAC accesses a range of registers in the SDRAM controller.
+
+Required properties:
+- compatible : should contain "altr,sdram-edac";
+- altr,sdr-syscon : phandle of the sdr module
+- interrupts : Should contain the SDRAM ECC IRQ in the
+       appropriate format for the IRQ controller.
+
+Example:
+       sdramedac {
+               compatible = "altr,sdram-edac";
+               altr,sdr-syscon = <&sdr>;
+               interrupts = <0 39 4>;
+       };
diff --git a/Documentation/devicetree/bindings/arm/amlogic.txt b/Documentation/devicetree/bindings/arm/amlogic.txt
new file mode 100644 (file)
index 0000000..7eece72
--- /dev/null
@@ -0,0 +1,8 @@
+Amlogic MesonX device tree bindings
+-------------------------------------------
+
+Boards with the Amlogic Meson6 SoC shall have the following properties:
+
+Required root node property:
+
+compatible = "amlogic,meson6";
diff --git a/Documentation/devicetree/bindings/arm/geniatech.txt b/Documentation/devicetree/bindings/arm/geniatech.txt
new file mode 100644 (file)
index 0000000..74ccba4
--- /dev/null
@@ -0,0 +1,5 @@
+Geniatech platforms device tree bindings
+-------------------------------------------
+
+Geniatech ATV1200
+    - compatible = "geniatech,atv1200"
index d6ac71f37314423a90f755028fa3463cc090b6d3..fa252261dfaf888386f14e2117695a7599dba862 100644 (file)
@@ -6,3 +6,9 @@ Required root node property:
 
 compatible: must contain "mediatek,mt6589"
 
+
+Supported boards:
+
+- bq Aquaris5 smart phone:
+    Required root node properties:
+      - compatible = "mundoreader,bq-aquaris5", "mediatek,mt6589";
index 0edc90305dfe07b262d7f493de3b964f7635c06d..ddd9bcdf889c3f7ad5d2090048f3e2d9c149238c 100644 (file)
@@ -85,6 +85,18 @@ SoCs:
 - DRA722
   compatible = "ti,dra722", "ti,dra72", "ti,dra7"
 
+- AM5728
+  compatible = "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"
+
+- AM5726
+  compatible = "ti,am5726", "ti,dra742", "ti,dra74", "ti,dra7"
+
+- AM5718
+  compatible = "ti,am5718", "ti,dra722", "ti,dra72", "ti,dra7"
+
+- AM5716
+  compatible = "ti,am5716", "ti,dra722", "ti,dra72", "ti,dra7"
+
 - AM4372
   compatible = "ti,am4372", "ti,am43"
 
diff --git a/Documentation/devicetree/bindings/arm/shmobile.txt b/Documentation/devicetree/bindings/arm/shmobile.txt
new file mode 100644 (file)
index 0000000..51147cb
--- /dev/null
@@ -0,0 +1,71 @@
+Renesas SH-Mobile, R-Mobile, and R-Car Platform Device Tree Bindings
+--------------------------------------------------------------------
+
+SoCs:
+
+  - Emma Mobile EV2
+    compatible = "renesas,emev2"
+  - RZ/A1H (R7S72100)
+    compatible = "renesas,r7s72100"
+  - SH-Mobile AP4 (R8A73720/SH7372)
+    compatible = "renesas,sh7372"
+  - SH-Mobile AG5 (R8A73A00/SH73A0)
+    compatible = "renesas,sh73a0"
+  - R-Mobile APE6 (R8A73A40)
+    compatible = "renesas,r8a73a4"
+  - R-Mobile A1 (R8A77400)
+    compatible = "renesas,r8a7740"
+  - R-Car M1A (R8A77781)
+    compatible = "renesas,r8a7778"
+  - R-Car H1 (R8A77790)
+    compatible = "renesas,r8a7779"
+  - R-Car H2 (R8A77900)
+    compatible = "renesas,r8a7790"
+  - R-Car M2-W (R8A77910)
+    compatible = "renesas,r8a7791"
+  - R-Car V2H (R8A77920)
+    compatible = "renesas,r8a7792"
+  - R-Car M2-N (R8A77930)
+    compatible = "renesas,r8a7793"
+  - R-Car E2 (R8A77940)
+    compatible = "renesas,r8a7794"
+
+
+Boards:
+
+  - Alt
+    compatible = "renesas,alt", "renesas,r8a7794"
+  - APE6-EVM
+    compatible = "renesas,ape6evm", "renesas,r8a73a4"
+  - APE6-EVM - Reference Device Tree Implementation
+    compatible = "renesas,ape6evm-reference", "renesas,r8a73a4"
+  - Atmark Techno Armadillo-800 EVA
+    compatible = "renesas,armadillo800eva"
+  - BOCK-W
+    compatible = "renesas,bockw", "renesas,r8a7778"
+  - BOCK-W - Reference Device Tree Implementation
+    compatible = "renesas,bockw-reference", "renesas,r8a7778"
+  - Genmai (RTK772100BC00000BR)
+    compatible = "renesas,genmai", "renesas,r7s72100"
+  - Gose
+    compatible = "renesas,gose", "renesas,r8a7793"
+  - Henninger
+    compatible = "renesas,henninger", "renesas,r8a7791"
+  - Koelsch (RTP0RC7791SEB00010S)
+    compatible = "renesas,koelsch", "renesas,r8a7791"
+  - Kyoto Microcomputer Co. KZM-A9-Dual
+    compatible = "renesas,kzm9d", "renesas,emev2"
+  - Kyoto Microcomputer Co. KZM-A9-GT
+    compatible = "renesas,kzm9g", "renesas,sh73a0"
+  - Kyoto Microcomputer Co. KZM-A9-GT - Reference Device Tree Implementation
+    compatible = "renesas,kzm9g-reference", "renesas,sh73a0"
+  - Lager (RTP0RC7790SEB00010S)
+    compatible = "renesas,lager", "renesas,r8a7790"
+  - Mackerel (R0P7372LC0016RL, AP4 EVM 2nd)
+    compatible = "renesas,mackerel"
+  - Marzen
+    compatible = "renesas,marzen", "renesas,r8a7779"
+
+Note: Reference Device Tree Implementations are temporary implementations
+      to ease the migration from platform devices to Device Tree, and are
+      intended to be removed in the future.
index 6af570ec53b4b5b9ea96bcc42a722007265d96aa..5af3d9df6ecb05c5da5dbeff969bcfba18a09a9a 100644 (file)
@@ -44,7 +44,7 @@ dallas,ds1775         Tiny Digital Thermometer and Thermostat
 dallas,ds3232          Extremely Accurate I²C RTC with Integrated Crystal and SRAM
 dallas,ds4510          CPU Supervisor with Nonvolatile Memory and Programmable I/O
 dallas,ds75            Digital Thermometer and Thermostat
-dialog,da9053          DA9053: flexible system level PMIC with multicore support
+dlg,da9053             DA9053: flexible system level PMIC with multicore support
 epson,rx8025           High-Stability. I2C-Bus INTERFACE REAL TIME CLOCK MODULE
 epson,rx8581           I2C-BUS INTERFACE REAL TIME CLOCK MODULE
 fsl,mag3110            MAG3110: Xtrinsic High Accuracy, 3D Magnetometer
index 9455fd0ec830c77299f3d464c59310db90f17261..6fbba53a309b79da6aef780a35f58eedfe4ad019 100644 (file)
@@ -17,7 +17,9 @@ Example:
 
        pcie@0x01000000 {
                compatible = "fsl,imx6q-pcie", "snps,dw-pcie";
-               reg = <0x01ffc000 0x4000>;
+               reg = <0x01ffc000 0x04000>,
+                     <0x01f00000 0x80000>;
+               reg-names = "dbi", "config";
                #address-cells = <3>;
                #size-cells = <2>;
                device_type = "pci";
index f120f229d67d3e0da3ae3772368484e481611ea0..3297c53cb9152395c310693034e33dc3ee26f95e 100644 (file)
@@ -2,7 +2,7 @@
 
 Required properties:
 
-- compatible:  must be "diasemi,da9210"
+- compatible:  must be "dlg,da9210"
 - reg:         the i2c slave address of the regulator. It should be 0x68.
 
 Any standard regulator properties can be used to configure the single da9210
@@ -11,7 +11,7 @@ DCDC.
 Example:
 
        da9210@68 {
-               compatible = "diasemi,da9210";
+               compatible = "dlg,da9210";
                reg = <0x68>;
 
                regulator-min-microvolt = <900000>;
index 24d0f696eefcaf7959dd63ced7eaa1d1f1578f01..653beaa392dc0495e9db612f775d386ab5014dbc 100644 (file)
@@ -14,6 +14,7 @@ allwinner     Allwinner Technology Co., Ltd.
 altr   Altera Corp.
 amcc   Applied Micro Circuits Corporation (APM, formally AMCC)
 amd    Advanced Micro Devices (AMD), Inc.
+amlogic        Amlogic, Inc.
 ams    AMS AG
 amstaos        AMS-Taos Inc.
 apm    Applied Micro Circuits Corporation (APM)
@@ -39,6 +40,7 @@ dallas        Maxim Integrated Products (formerly Dallas Semiconductor)
 davicom        DAVICOM Semiconductor, Inc.
 denx   Denx Software Engineering
 digi   Digi International Inc.
+dlg    Dialog Semiconductor
 dlink  D-Link Corporation
 dmo    Data Modul AG
 ebv    EBV Elektronik
@@ -54,6 +56,7 @@ fcs   Fairchild Semiconductor
 fsl    Freescale Semiconductor
 GEFanuc        GE Fanuc Intelligent Platforms Embedded Systems, Inc.
 gef    GE Fanuc Intelligent Platforms Embedded Systems, Inc.
+geniatech      Geniatech, Inc.
 globalscale    Globalscale Technologies, Inc.
 gmt    Global Mixed-mode Technology, Inc.
 google Google, Inc.
index 7c4a2037f7ff340a2408a872541d6d6826dfe788..d172f636df24671f07fe77666fc0abfb1d9d7e62 100644 (file)
@@ -1392,12 +1392,15 @@ F:      arch/arm/mach-shmobile/
 F:     drivers/sh/
 
 ARM/SOCFPGA ARCHITECTURE
-M:     Dinh Nguyen <dinguyen@altera.com>
+M:     Dinh Nguyen <dinguyen@opensource.altera.com>
 S:     Maintained
 F:     arch/arm/mach-socfpga/
+W:     http://www.rocketboards.org
+T:     git://git.rocketboards.org/linux-socfpga.git
+T:     git://git.rocketboards.org/linux-socfpga-next.git
 
 ARM/SOCFPGA CLOCK FRAMEWORK SUPPORT
-M:     Dinh Nguyen <dinguyen@altera.com>
+M:     Dinh Nguyen <dinguyen@opensource.altera.com>
 S:     Maintained
 F:     drivers/clk/socfpga/
 
index d3e687ecfc9564a5f3ff4069c769c3648d2a78e4..7c80af9068976b11ceb0fcef749adf2738d80273 100644 (file)
@@ -163,8 +163,11 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-b3.dtb \
        kirkwood-ts419-6282.dtb
 dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb
 dtb-$(CONFIG_ARCH_MARCO) += marco-evb.dtb
+dtb-$(CONFIG_MACH_MESON6) += meson6-atv1200.dtb
 dtb-$(CONFIG_ARCH_MOXART) += moxart-uc7112lx.dtb
 dtb-$(CONFIG_ARCH_MXC) += \
+       imx1-ads.dtb \
+       imx1-apf9328.dtb \
        imx25-eukrea-mbimxsd25-baseboard.dtb \
        imx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dtb \
        imx25-eukrea-mbimxsd25-baseboard-dvi-svga.dtb \
@@ -203,6 +206,7 @@ dtb-$(CONFIG_ARCH_MXC) += \
        imx6dl-gw52xx.dtb \
        imx6dl-gw53xx.dtb \
        imx6dl-gw54xx.dtb \
+       imx6dl-gw552x.dtb \
        imx6dl-hummingboard.dtb \
        imx6dl-nitrogen6x.dtb \
        imx6dl-phytec-pbab01.dtb \
@@ -227,6 +231,8 @@ dtb-$(CONFIG_ARCH_MXC) += \
        imx6q-gw53xx.dtb \
        imx6q-gw5400-a.dtb \
        imx6q-gw54xx.dtb \
+       imx6q-gw552x.dtb \
+       imx6q-hummingboard.dtb \
        imx6q-nitrogen6x.dtb \
        imx6q-phytec-pbab01.dtb \
        imx6q-rex-pro.dtb \
@@ -244,7 +250,7 @@ dtb-$(CONFIG_ARCH_MXC) += \
        imx6q-tx6q-1110.dtb \
        imx6sl-evk.dtb \
        imx6sx-sdb.dtb \
-       vf610-colibri.dtb \
+       vf610-colibri-eval-v3.dtb \
        vf610-cosmic.dtb \
        vf610-twr.dtb
 dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \
@@ -290,7 +296,11 @@ dtb-$(CONFIG_ARCH_OMAP3) += am3517-craneboard.dtb \
        omap3-devkit8000.dtb \
        omap3-evm.dtb \
        omap3-evm-37xx.dtb \
-       omap3-gta04.dtb \
+       omap3-gta04a3.dtb \
+       omap3-gta04a4.dtb \
+       omap3-gta04a5.dtb \
+       omap3-ha.dtb \
+       omap3-ha-lcd.dtb \
        omap3-igep0020.dtb \
        omap3-igep0030.dtb \
        omap3-ldp.dtb \
@@ -313,6 +323,7 @@ dtb-$(CONFIG_ARCH_OMAP3) += am3517-craneboard.dtb \
        omap3-sbc-t3517.dtb \
        omap3-sbc-t3530.dtb \
        omap3-sbc-t3730.dtb \
+       omap3-thunder.dtb \
        omap3-zoom3.dtb
 dtb-$(CONFIG_SOC_AM33XX) += am335x-base0033.dtb \
        am335x-bone.dtb \
@@ -345,7 +356,9 @@ dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb
 dtb-$(CONFIG_ARCH_QCOM) += \
        qcom-apq8064-ifc6410.dtb \
        qcom-apq8074-dragonboard.dtb \
+       qcom-apq8084-ifc6540.dtb \
        qcom-apq8084-mtp.dtb \
+       qcom-ipq8064-ap148.dtb \
        qcom-msm8660-surf.dtb \
        qcom-msm8960-cdp.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += \
@@ -379,7 +392,8 @@ dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += emev2-kzm9d.dtb \
        r8a7791-henninger.dtb \
        r8a7791-koelsch.dtb \
        r8a7790-lager.dtb \
-       r8a7779-marzen.dtb
+       r8a7779-marzen.dtb \
+       r8a7794-alt.dtb
 dtb-$(CONFIG_ARCH_SOCFPGA) += socfpga_arria5_socdk.dtb \
        socfpga_cyclone5_socdk.dtb \
        socfpga_cyclone5_sockit.dtb \
@@ -410,6 +424,7 @@ dtb-$(CONFIG_MACH_SUN4I) += \
 dtb-$(CONFIG_MACH_SUN5I) += \
        sun5i-a10s-olinuxino-micro.dtb \
        sun5i-a10s-r7-tv-dongle.dtb \
+       sun5i-a13-hsg-h702.dtb \
        sun5i-a13-olinuxino.dtb \
        sun5i-a13-olinuxino-micro.dtb
 dtb-$(CONFIG_MACH_SUN6I) += \
@@ -420,7 +435,9 @@ dtb-$(CONFIG_MACH_SUN6I) += \
 dtb-$(CONFIG_MACH_SUN7I) += \
        sun7i-a20-cubieboard2.dtb \
        sun7i-a20-cubietruck.dtb \
+       sun7i-a20-hummingbird.dtb \
        sun7i-a20-i12-tvbox.dtb \
+       sun7i-a20-olinuxino-lime.dtb \
        sun7i-a20-olinuxino-micro.dtb \
        sun7i-a20-pcduino3.dtb
 dtb-$(CONFIG_MACH_SUN8I) += \
@@ -444,6 +461,7 @@ dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
        tegra114-roth.dtb \
        tegra114-tn7.dtb \
        tegra124-jetson-tk1.dtb \
+       tegra124-nyan-big.dtb \
        tegra124-venice2.dtb
 dtb-$(CONFIG_ARCH_U300) += ste-u300.dtb
 dtb-$(CONFIG_ARCH_U8500) += ste-snowball.dtb \
@@ -495,6 +513,7 @@ dtb-$(CONFIG_MACH_DOVE) += dove-cm-a510.dtb \
        dove-d2plug.dtb \
        dove-d3plug.dtb \
        dove-dove-db.dtb
+dtb-$(CONFIG_ARCH_MEDIATEK) += mt6589-aquaris5.dtb
 
 targets += dtbs dtbs_install
 targets += $(dtb-y)
index d9d98697cca9b00613f93bb77590290697e93b26..6cc25ed912eeff57fc9bd06cc390c6ece3e56b14 100644 (file)
 &tps {
        regulators {
                dcdc1_reg: regulator@0 {
+                       regulator-name = "vdds_dpr";
                        regulator-always-on;
                };
 
                };
 
                ldo1_reg: regulator@3 {
+                       regulator-name = "vio,vrtc,vdds";
                        regulator-always-on;
                };
 
                ldo2_reg: regulator@4 {
+                       regulator-name = "vdd_3v3aux";
                        regulator-always-on;
                };
 
                ldo3_reg: regulator@5 {
+                       regulator-name = "vdd_1v8";
                        regulator-always-on;
                };
 
                ldo4_reg: regulator@6 {
+                       regulator-name = "vdd_3v3a";
                        regulator-always-on;
                };
        };
index c8238c467acfc10ab344311900ad0423b6af0669..9e7d45571cd59de0703e79b00732b291dcfa79b3 100644 (file)
                        ti,hwmods = "mailbox";
                        ti,mbox-num-users = <4>;
                        ti,mbox-num-fifos = <8>;
+                       mbox_wkupm3: wkup_m3 {
+                               ti,mbox-tx = <0 0 0>;
+                               ti,mbox-rx = <0 0 3>;
+                       };
                };
 
                timer1: timer@44e31000 {
index 24531de979f2701cbdf437298c8b7fcde3e5feac..46660ffd2b65bbe90100b2b251b29fb6528afe31 100644 (file)
        };
 
        am43xx_pinmux: pinmux@44e10800 {
-               compatible = "pinctrl-single";
+               compatible = "ti,am437-padconf", "pinctrl-single";
                reg = <0x44e10800 0x31c>;
                #address-cells = <1>;
                #size-cells = <0>;
+               #interrupt-cells = <1>;
+               interrupt-controller;
                pinctrl-single,register-width = <32>;
                pinctrl-single,function-mask = <0xffffffff>;
        };
                        ti,hwmods = "mailbox";
                        ti,mbox-num-users = <4>;
                        ti,mbox-num-fifos = <8>;
+                       mbox_wkupm3: wkup_m3 {
+                               ti,mbox-tx = <0 0 0>;
+                               ti,mbox-rx = <0 0 3>;
+                       };
                };
 
                timer1: timer@44e31000 {
index 416f4e5a69c154cbf673d22bcf7021d63b2267ec..a495e5821ab80c779d916f600724492d6771e25a 100644 (file)
@@ -43,6 +43,8 @@
                        };
 
                        mdio {
+                               pinctrl-0 = <&mdio_pins>;
+                               pinctrl-names = "default";
                                phy0: ethernet-phy@0 {
                                        reg = <0>;
                                };
                        };
 
                        ethernet@70000 {
+                               pinctrl-0 = <&ge0_rgmii_pins>;
+                               pinctrl-names = "default";
                                status = "okay";
                                phy = <&phy0>;
                                phy-mode = "rgmii-id";
                        };
                        ethernet@74000 {
+                               pinctrl-0 = <&ge1_rgmii_pins>;
+                               pinctrl-names = "default";
                                status = "okay";
                                phy = <&phy1>;
                                phy-mode = "rgmii-id";
index 097df7d8f0f6c624fb5531d0257d7f5f67eee4fc..2b6d24e0d1e8a2a33a879bea7689514f840f95dc 100644 (file)
@@ -91,6 +91,8 @@
                        };
 
                        mdio {
+                               pinctrl-0 = <&mdio_pins>;
+                               pinctrl-names = "default";
                                phy0: ethernet-phy@0 {
                                        reg = <0>;
                                };
                                };
                        };
                        ethernet@70000 {
+                               pinctrl-0 = <&ge0_rgmii_pins>;
+                               pinctrl-names = "default";
                                status = "okay";
                                phy = <&phy0>;
                                phy-mode = "rgmii-id";
                        };
                        ethernet@74000 {
+                               pinctrl-0 = <&ge1_rgmii_pins>;
+                               pinctrl-names = "default";
                                status = "okay";
                                phy = <&phy1>;
                                phy-mode = "rgmii-id";
index 285524fb915ea4dc691aa2572228d0a52427c033..3aebd93cc33c864538475216b8f51fb9e49b4ce7 100644 (file)
                        };
 
                        mdio {
+                               pinctrl-0 = <&mdio_pins>;
+                               pinctrl-names = "default";
                                phy0: ethernet-phy@0 { /* Marvell 88E1318 */
                                        reg = <0>;
                                };
                        };
 
                        ethernet@74000 {
+                               pinctrl-0 = <&ge1_rgmii_pins>;
+                               pinctrl-names = "default";
                                status = "okay";
                                phy = <&phy0>;
                                phy-mode = "rgmii-id";
                                status = "okay";
 
                                isl12057: isl12057@68 {
-                                       compatible = "isl,isl12057";
+                                       compatible = "isil,isl12057";
                                        reg = <0x68>;
                                };
 
index 4ec1ce561d3433a2f969f30e56d484ba59019d7c..c2f414bb9aba9aee392aaceee43fb68ef0330116 100644 (file)
@@ -86,6 +86,8 @@
                        };
 
                        mdio {
+                               pinctrl-0 = <&mdio_pins>;
+                               pinctrl-names = "default";
                                phy0: ethernet-phy@0 { /* Marvell 88E1318 */
                                        reg = <0>;
                                };
                        };
 
                        ethernet@70000 {
+                               pinctrl-0 = <&ge0_rgmii_pins>;
+                               pinctrl-names = "default";
                                status = "okay";
                                phy = <&phy0>;
                                phy-mode = "rgmii-id";
                        };
 
                        ethernet@74000 {
+                               pinctrl-0 = <&ge1_rgmii_pins>;
+                               pinctrl-names = "default";
                                status = "okay";
                                phy = <&phy1>;
                                phy-mode = "rgmii-id";
                                status = "okay";
 
                                isl12057: isl12057@68 {
-                                       compatible = "isl,isl12057";
+                                       compatible = "isil,isl12057";
                                        reg = <0x68>;
                                };
 
index 4169f4096ea3bd6885339f31106135c89b6fc681..f57a8f841498415fa33c7075df0ab0df3f087c8d 100644 (file)
@@ -9,6 +9,15 @@
  * 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.
+ *
+ * Note: this Device Tree assumes that the bootloader has remapped the
+ * internal registers to 0xf1000000 (instead of the default
+ * 0xd0000000). The 0xf1000000 is the default used by the recent,
+ * DT-capable, U-Boot bootloaders provided by Marvell. Some earlier
+ * boards were delivered with an older version of the bootloader that
+ * left internal registers mapped at 0xd0000000. If you are in this
+ * situation, you should either update your bootloader (preferred
+ * solution) or the below Device Tree should be adjusted.
  */
 
 /dts-v1/;
@@ -30,7 +39,7 @@
        };
 
        soc {
-               ranges = <MBUS_ID(0xf0, 0x01) 0 0xd0000000 0x100000
+               ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
                          MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000>;
 
                pcie-controller {
                };
 
                internal-regs {
+                       pinctrl {
+                               fan_pins: fan-pins {
+                                       marvell,pins = "mpp8";
+                                       marvell,function = "gpio";
+                               };
+
+                               led_pins: led-pins {
+                                       marvell,pins = "mpp32";
+                                       marvell,function = "gpio";
+                               };
+                       };
+
                        serial@12000 {
                                status = "okay";
                        };
@@ -59,6 +80,8 @@
                        };
 
                        mdio {
+                               pinctrl-0 = <&mdio_pins>;
+                               pinctrl-names = "default";
                                phy0: ethernet-phy@0 {
                                        reg = <0>;
                                };
@@ -74,6 +97,8 @@
                                phy-mode = "sgmii";
                        };
                        ethernet@74000 {
+                               pinctrl-0 = <&ge1_rgmii_pins>;
+                               pinctrl-names = "default";
                                status = "okay";
                                phy = <&phy1>;
                                phy-mode = "rgmii-id";
                                };
                        };
 
+                       gpio-fan {
+                               compatible = "gpio-fan";
+                               gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
+                               gpio-fan,speed-map = <0 0 3000 1>;
+                               pinctrl-0 = <&fan_pins>;
+                               pinctrl-names = "default";
+                       };
+
+                       gpio_leds {
+                               compatible = "gpio-leds";
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&led_pins>;
+
+                               sw_led {
+                                       label = "370rd:green:sw";
+                                       gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
+                                       default-state = "keep";
+                               };
+                       };
+
                        nand@d0000 {
                                status = "okay";
                                num-cs = <1>;
index 23227e0027ec3f96baf017d3e84fafe4319ff683..83286ec9702cf695e8470fe7ff82ef845210f781 100644 (file)
                        };
 
                        spi0: spi@10600 {
-                               compatible = "marvell,orion-spi";
+                               compatible = "marvell,armada-370-spi", "marvell,orion-spi";
                                reg = <0x10600 0x28>;
                                #address-cells = <1>;
                                #size-cells = <0>;
                        };
 
                        spi1: spi@10680 {
-                               compatible = "marvell,orion-spi";
+                               compatible = "marvell,armada-370-spi", "marvell,orion-spi";
                                reg = <0x10680 0x28>;
                                #address-cells = <1>;
                                #size-cells = <0>;
index 21b588b6f6bd7559d30109e27913e9ea27919dc6..6b3c23b1e138e8ef260cf122f4cd677d5ec282b8 100644 (file)
                                                       "mpp62", "mpp60", "mpp58";
                                        marvell,function = "audio";
                                };
+
+                               mdio_pins: mdio-pins {
+                                       marvell,pins = "mpp17", "mpp18";
+                                       marvell,function = "ge";
+                               };
+
+                               ge0_rgmii_pins: ge0-rgmii-pins {
+                                       marvell,pins = "mpp5", "mpp6", "mpp7", "mpp8",
+                                                      "mpp9", "mpp10", "mpp11", "mpp12",
+                                                      "mpp13", "mpp14", "mpp15", "mpp16";
+                                       marvell,function = "ge0";
+                               };
+
+                               ge1_rgmii_pins: ge1-rgmii-pins {
+                                       marvell,pins = "mpp19", "mpp20", "mpp21", "mpp22",
+                                                      "mpp23", "mpp24", "mpp25", "mpp26",
+                                                      "mpp27", "mpp28", "mpp29", "mpp30";
+                                       marvell,function = "ge1";
+                               };
                        };
 
                        gpio0: gpio@18100 {
                                status = "okay";
                        };
 
+                       sscg@18330 {
+                               reg = <0x18330 0x4>;
+                       };
+
                        interrupt-controller@20000 {
                                reg = <0x20a00 0x1d0>, <0x21870 0x58>;
                        };
index c1e49e7bf0fa6505515cc0e5bf571263943285d3..de6571445cef7140da63ed0cf54a4952fcdab6a1 100644 (file)
                                };
                        };
 
+                       rtc@10300 {
+                               compatible = "marvell,orion-rtc";
+                               reg = <0x10300 0x20>;
+                               interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
+                       };
+
                        spi0: spi@10600 {
                                compatible = "marvell,orion-spi";
                                reg = <0x10600 0x50>;
index c5ed85a70ed9b6cbf7cf3248c9f8846938410a12..7d8f32873e82903d11307afcd3b1b3e75142990f 100644 (file)
                                status = "okay";
 
                                isl12057: isl12057@68 {
-                                       compatible = "isl,isl12057";
+                                       compatible = "isil,isl12057";
                                        reg = <0x68>;
                                };
 
index 5e95a805344594eceb324a412bfe9f142ac9af63..d68b3c4862bc22011df225b12caf4c3eab1758e1 100644 (file)
                                };
                        };
 
-                       ramc: ramc@ffffe200 {
+                       ramc0: ramc@ffffe200 {
                                compatible = "atmel,at91sam9260-sdramc";
-                               reg = <0xffffe200 0x200
-                                      0xffffe800 0x200>;
+                               reg = <0xffffe200 0x200>;
+                       };
+
+                       ramc1: ramc@ffffe800 {
+                               compatible = "atmel,at91sam9260-sdramc";
+                               reg = <0xffffe800 0x200>;
                        };
 
                        pit: timer@fffffd30 {
index 4e0abbd9d6553e71d6881b074196d62dea4ac04b..a50ee587a7af61a863aec77412d09c1dd2f519f7 100644 (file)
                                compatible = "atmel,at91sam9g20-i2c";
                        };
 
+                       ssc0: ssc@fffbc000 {
+                               compatible = "atmel,at91sam9rl-ssc";
+                       };
+
                        adc0: adc@fffe0000 {
                                atmel,adc-startup-time = <40>;
                        };
index 932a669156af81674a4d2ffc12f3b6e729d4b731..d3f65130a1f8b5222d9e920d2713fcc0cf60ca3e 100644 (file)
 
                        ramc0: ramc@ffffe400 {
                                compatible = "atmel,at91sam9g45-ddramc";
-                               reg = <0xffffe400 0x200
-                                      0xffffe600 0x200>;
+                               reg = <0xffffe400 0x200>;
+                               clocks = <&ddrck>;
+                               clock-names = "ddrck";
+                       };
+
+                       ramc1: ramc@ffffe600 {
+                               compatible = "atmel,at91sam9g45-ddramc";
+                               reg = <0xffffe600 0x200>;
                                clocks = <&ddrck>;
                                clock-names = "ddrck";
                        };
                                        compatible = "atmel,at91rm9200-clk-master";
                                        #clock-cells = <0>;
                                        interrupts-extended = <&pmc AT91_PMC_MCKRDY>;
-                                       clocks = <&slow_xtal>, <&main>, <&plladiv>, <&utmi>;
+                                       clocks = <&clk32k>, <&main>, <&plladiv>, <&utmi>;
                                        atmel,clk-output-range = <0 133333333>;
                                        atmel,clk-divisors = <1 2 4 3>;
                                };
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        interrupt-parent = <&pmc>;
-                                       clocks = <&slow_xtal>, <&main>, <&plladiv>, <&utmi>, <&mck>;
+                                       clocks = <&clk32k>, <&main>, <&plladiv>, <&utmi>, <&mck>;
 
                                        prog0: prog0 {
                                                #clock-cells = <0>;
                                        atmel,can-isoc;
                                };
                        };
+
+                       sckc@fffffd50 {
+                               compatible = "atmel,at91sam9x5-sckc";
+                               reg = <0xfffffd50 0x4>;
+
+                               slow_osc: slow_osc {
+                                       compatible = "atmel,at91sam9x5-clk-slow-osc";
+                                       #clock-cells = <0>;
+                                       atmel,startup-time-usec = <1200000>;
+                                       clocks = <&slow_xtal>;
+                               };
+
+                               slow_rc_osc: slow_rc_osc {
+                                       compatible = "atmel,at91sam9x5-clk-slow-rc-osc";
+                                       #clock-cells = <0>;
+                                       atmel,startup-time-usec = <75>;
+                                       clock-frequency = <32768>;
+                                       clock-accuracy = <50000000>;
+                               };
+
+                               clk32k: slck {
+                                       compatible = "atmel,at91sam9x5-clk-slow";
+                                       #clock-cells = <0>;
+                                       clocks = <&slow_rc_osc &slow_osc>;
+                               };
+                       };
+
+                       rtc@fffffdb0 {
+                               compatible = "atmel,at91rm9200-rtc";
+                               reg = <0xfffffdb0 0x30>;
+                               interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
+                               status = "disabled";
+                       };
                };
 
                fb0: fb@0x00500000 {
index 96ccc7de4f0a1be42f05168c2fd4d1ffa7616842..d8dd2265109076c2d4074f16c08c1f5a736ac912 100644 (file)
                                pinctrl-names = "default";
                                pinctrl-0 = <&pinctrl_pwm_leds>;
                        };
+
+                       rtc@fffffdb0 {
+                               status = "okay";
+                       };
                };
 
                fb0: fb@0x00500000 {
index 2bfac310dbece7093c49b1c1ced69b0676d9e320..68eb9aded1648e7078d7097eaedbf829ed151561 100644 (file)
@@ -87,6 +87,8 @@
                        ramc0: ramc@ffffe800 {
                                compatible = "atmel,at91sam9g45-ddramc";
                                reg = <0xffffe800 0x200>;
+                               clocks = <&ddrck>;
+                               clock-names = "ddrck";
                        };
 
                        pmc: pmc@fffffc00 {
index 83d723711ae1c07efd4a663780d5b6baa2cb12f6..13bb24ea971a1461862de9bd87275ce95986ef32 100644 (file)
                };
 
                usb0: ohci@00500000 {
+                       num-ports = <1>;
+                       atmel,vbus-gpio = <&pioB 7 GPIO_ACTIVE_LOW>;
                        status = "okay";
                };
        };
index ab56c8b81dfa25686524e0405583e6aa90a4210d..f0b4352650ed1b6ad4cd21e3a427698511175bd4 100644 (file)
                        };
 
                        ssc0: ssc@fffc0000 {
-                               compatible = "atmel,at91rm9200-ssc";
+                               compatible = "atmel,at91sam9rl-ssc";
                                reg = <0xfffc0000 0x4000>;
                                interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>;
                                pinctrl-names = "default";
                        };
 
                        ssc1: ssc@fffc4000 {
-                               compatible = "atmel,at91rm9200-ssc";
+                               compatible = "atmel,at91sam9rl-ssc";
                                reg = <0xfffc4000 0x4000>;
                                interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>;
                                pinctrl-names = "default";
index e1a5c70b885c87fabfa0569757a71db73dbf36cf..726274f7959b6a00fdcd992b726b758688898bd1 100644 (file)
@@ -95,6 +95,8 @@
                        ramc0: ramc@ffffe800 {
                                compatible = "atmel,at91sam9g45-ddramc";
                                reg = <0xffffe800 0x200>;
+                               clocks = <&ddrck>;
+                               clock-names = "ddrck";
                        };
 
                        pmc: pmc@fffffc00 {
                        adc0: adc@f804c000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
-                               compatible = "atmel,at91sam9260-adc";
+                               compatible = "atmel,at91sam9x5-adc";
                                reg = <0xf804c000 0x100>;
                                interrupts = <19 IRQ_TYPE_LEVEL_HIGH 0>;
                                clocks = <&adc_clk>,
index 2a3b1c1313a0c474bed0c681fea43029ba8fe20d..58a0d60b95f1b9064d790b60aef80b69edb2a962 100644 (file)
@@ -23,7 +23,7 @@
 
 &gpio {
        pinctrl-names = "default";
-       pinctrl-0 = <&gpioout &alt0 &alt3>;
+       pinctrl-0 = <&gpioout &alt0 &alt2 &alt3>;
 
        gpioout: gpioout {
                brcm,pins = <6>;
                brcm,pins = <48 49 50 51 52 53>;
                brcm,function = <7>; /* alt3 */
        };
+
+       /* I2S interface */
+       alt2: alt2 {
+               brcm,pins = <28 29 30 31>;
+               brcm,function = <6>; /* alt2 */
+       };
 };
 
 &i2c0 {
index b8473c43e88827de921d727001ef7871704736c7..3342cb1407bc927be59f42ece4410c4b38b4e472 100644 (file)
@@ -99,6 +99,7 @@
                        dmas = <&dma 2>,
                               <&dma 3>;
                        dma-names = "tx", "rx";
+                       status = "disabled";
                };
 
                spi: spi@7e204000 {
diff --git a/arch/arm/boot/dts/cros-adc-thermistors.dtsi b/arch/arm/boot/dts/cros-adc-thermistors.dtsi
new file mode 100644 (file)
index 0000000..acd4fe1
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Thermistor dts fragment for devices that use Thermistors as
+ * children of the IIO based ADC.
+ *
+ * Currently, used by Exynos5420 based Peach PIT and
+ * Exynos5800 based Peach PI.
+ *
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * 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.
+*/
+
+&adc {
+       ncp15wb473@3 {
+               compatible = "murata,ncp15wb473";
+               pullup-uv = <1800000>;
+               pullup-ohm = <47000>;
+               pulldown-ohm = <0>;
+               io-channels = <&adc 3>;
+       };
+       ncp15wb473@4 {
+               compatible = "murata,ncp15wb473";
+               pullup-uv = <1800000>;
+               pullup-ohm = <47000>;
+               pulldown-ohm = <0>;
+               io-channels = <&adc 4>;
+       };
+       ncp15wb473@5 {
+               compatible = "murata,ncp15wb473";
+               pullup-uv = <1800000>;
+               pullup-ohm = <47000>;
+               pulldown-ohm = <0>;
+               io-channels = <&adc 5>;
+       };
+       ncp15wb473@6 {
+               compatible = "murata,ncp15wb473";
+               pullup-uv = <1800000>;
+               pullup-ohm = <47000>;
+               pulldown-ohm = <0>;
+               io-channels = <&adc 6>;
+       };
+};
index 1e11e5a5f7231e58a2f19ed13d1ded0d21ffe3db..4f935ad9f27ba208b337b3b911cfc29fb4986c84 100644 (file)
        soc {
                pmx_core: pinmux@1c14120 {
                        status = "okay";
+
+                       mcasp0_pins: pinmux_mcasp0_pins {
+                               pinctrl-single,bits = <
+                                       /*
+                                        * AHCLKX, ACLKX, AFSX, AHCLKR, ACLKR,
+                                        * AFSR, AMUTE
+                                        */
+                                       0x00 0x11111111 0xffffffff
+                                       /* AXR11, AXR12 */
+                                       0x04 0x00011000 0x000ff000
+                               >;
+                       };
                };
                serial0: serial@1c42000 {
                        status = "okay";
                        tps: tps@48 {
                                reg = <0x48>;
                        };
+                       tlv320aic3106: tlv320aic3106@18 {
+                               #sound-dai-cells = <0>;
+                               compatible = "ti,tlv320aic3106";
+                               reg = <0x18>;
+                               status = "okay";
+
+                               /* Regulators */
+                               IOVDD-supply = <&vdcdc2_reg>;
+                               /* Derived from VBAT: Baseboard 3.3V / 1.8V */
+                               AVDD-supply = <&vbat>;
+                               DRVDD-supply = <&vbat>;
+                               DVDD-supply = <&vbat>;
+                       };
+
                };
                wdt: wdt@1c21000 {
                        status = "okay";
                regulator-max-microvolt = <5000000>;
                regulator-boot-on;
        };
+
+       sound {
+               compatible = "simple-audio-card";
+               simple-audio-card,name = "DA850/OMAP-L138 EVM";
+               simple-audio-card,widgets =
+                       "Line", "Line In",
+                       "Line", "Line Out";
+               simple-audio-card,routing =
+                       "LINE1L", "Line In",
+                       "LINE1R", "Line In",
+                       "Line Out", "LLOUT",
+                       "Line Out", "RLOUT";
+               simple-audio-card,format = "dsp_b";
+               simple-audio-card,bitclock-master = <&link0_codec>;
+               simple-audio-card,frame-master = <&link0_codec>;
+               simple-audio-card,bitclock-inversion;
+
+               simple-audio-card,cpu {
+                       sound-dai = <&mcasp0>;
+                       system-clock-frequency = <24576000>;
+               };
+
+               link0_codec: simple-audio-card,codec {
+                       sound-dai = <&tlv320aic3106>;
+                       system-clock-frequency = <24576000>;
+               };
+       };
 };
 
 /include/ "tps6507x.dtsi"
                };
        };
 };
+
+&mcasp0 {
+       #sound-dai-cells = <0>;
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&mcasp0_pins>;
+
+       op-mode = <0>;          /* MCASP_IIS_MODE */
+       tdm-slots = <2>;
+       /* 4 serializer */
+       serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
+               0 0 0 0
+               0 0 0 0
+               0 0 0 1
+               2 0 0 0
+       >;
+       tx-num-evt = <32>;
+       rx-num-evt = <32>;
+};
index b695548dbb4e7e7ebae851b53bfc747dfbd05ec8..0bd98cd00816c752b6c8cd6cbf40e92649212524 100644 (file)
                        };
 
                };
+               edma0: edma@01c00000 {
+                       compatible = "ti,edma3";
+                       reg =   <0x0 0x10000>;
+                       interrupts = <11 13 12>;
+                       #dma-cells = <1>;
+               };
                serial0: serial@1c42000 {
                        compatible = "ns16550a";
                        reg = <0x42000 0x100>;
                        ti,davinci-gpio-unbanked = <0>;
                        status = "disabled";
                };
+
+               mcasp0: mcasp@01d00000 {
+                       compatible = "ti,da830-mcasp-audio";
+                       reg = <0x100000 0x2000>,
+                             <0x102000 0x400000>;
+                       reg-names = "mpu", "dat";
+                       interrupts = <54>;
+                       interrupt-names = "common";
+                       status = "disabled";
+                       dmas = <&edma0 1>,
+                               <&edma0 0>;
+                       dma-names = "tx", "rx";
+               };
        };
        nand_cs3@62000000 {
                compatible = "ti,davinci-nand";
index b40cdadb1f87b1057fc52cbdd1257ab0e7f1a429..c6ce6258434fa78ddbdc240de34dcb3cd3e0e1da 100644 (file)
        status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&uart1_pins>;
+       interrupts-extended = <&gic GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
+                             <&dra7_pmx_core 0x3e0>;
 };
 
 &uart2 {
index e09b1afdaef20f9b2f4574c4e7363b0dcb3e496e..9cc98436a98237336581d1a7447a231d7b7525bd 100644 (file)
                };
 
                dra7_pmx_core: pinmux@4a003400 {
-                       compatible = "pinctrl-single";
+                       compatible = "ti,dra7-padconf", "pinctrl-single";
                        reg = <0x4a003400 0x0464>;
                        #address-cells = <1>;
                        #size-cells = <0>;
+                       #interrupt-cells = <1>;
+                       interrupt-controller;
                        pinctrl-single,register-width = <32>;
                        pinctrl-single,function-mask = <0x3fffffff>;
                };
                uart1: serial@4806a000 {
                        compatible = "ti,omap4-uart";
                        reg = <0x4806a000 0x100>;
-                       interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupts-extended = <&gic GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart1";
                        clock-frequency = <48000000>;
                        status = "disabled";
                uart2: serial@4806c000 {
                        compatible = "ti,omap4-uart";
                        reg = <0x4806c000 0x100>;
-                       interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupts-extended = <&gic GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart2";
                        clock-frequency = <48000000>;
                        status = "disabled";
                uart3: serial@48020000 {
                        compatible = "ti,omap4-uart";
                        reg = <0x48020000 0x100>;
-                       interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupts-extended = <&gic GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart3";
                        clock-frequency = <48000000>;
                        status = "disabled";
                uart4: serial@4806e000 {
                        compatible = "ti,omap4-uart";
                        reg = <0x4806e000 0x100>;
-                       interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupts-extended = <&gic GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart4";
                        clock-frequency = <48000000>;
                         status = "disabled";
                uart5: serial@48066000 {
                        compatible = "ti,omap4-uart";
                        reg = <0x48066000 0x100>;
-                       interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupts-extended = <&gic GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart5";
                        clock-frequency = <48000000>;
                        status = "disabled";
                uart6: serial@48068000 {
                        compatible = "ti,omap4-uart";
                        reg = <0x48068000 0x100>;
-                       interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupts-extended = <&gic GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart6";
                        clock-frequency = <48000000>;
                        status = "disabled";
                uart7: serial@48420000 {
                        compatible = "ti,omap4-uart";
                        reg = <0x48420000 0x100>;
-                       interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupts-extended = <&gic GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart7";
                        clock-frequency = <48000000>;
                        status = "disabled";
                uart8: serial@48422000 {
                        compatible = "ti,omap4-uart";
                        reg = <0x48422000 0x100>;
-                       interrupts = <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupts-extended = <&gic GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart8";
                        clock-frequency = <48000000>;
                        status = "disabled";
                uart9: serial@48424000 {
                        compatible = "ti,omap4-uart";
                        reg = <0x48424000 0x100>;
-                       interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupts-extended = <&gic GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart9";
                        clock-frequency = <48000000>;
                        status = "disabled";
                uart10: serial@4ae2b000 {
                        compatible = "ti,omap4-uart";
                        reg = <0x4ae2b000 0x100>;
-                       interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupts-extended = <&gic GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart10";
                        clock-frequency = <48000000>;
                        status = "disabled";
index 514702348818d25e91bcc860f730a1b56dcc905a..41074288adfa2003b07baa3d0b27f99255d0e0c4 100644 (file)
        };
 };
 
+&dra7_pmx_core {
+       i2c1_pins: pinmux_i2c1_pins {
+               pinctrl-single,pins = <
+                       0x400 (PIN_INPUT | MUX_MODE0) /* i2c1_sda.i2c1_sda */
+                       0x404 (PIN_INPUT | MUX_MODE0) /* i2c1_scl.i2c1_scl */
+               >;
+       };
+};
+
+&i2c1 {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c1_pins>;
+       clock-frequency = <400000>;
+
+       tps65917: tps65917@58 {
+               compatible = "ti,tps65917";
+               reg = <0x58>;
+
+               interrupts = <GIC_SPI 2 IRQ_TYPE_NONE>;  /* IRQ_SYS_1N */
+               interrupt-parent = <&gic>;
+               interrupt-controller;
+               #interrupt-cells = <2>;
+
+               ti,system-power-controller;
+
+               tps65917_pmic {
+                       compatible = "ti,tps65917-pmic";
+
+                       regulators {
+                               smps1_reg: smps1 {
+                                       /* VDD_MPU */
+                                       regulator-name = "smps1";
+                                       regulator-min-microvolt = <850000>;
+                                       regulator-max-microvolt = <1250000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                               };
+
+                               smps2_reg: smps2 {
+                                       /* VDD_CORE */
+                                       regulator-name = "smps2";
+                                       regulator-min-microvolt = <850000>;
+                                       regulator-max-microvolt = <1030000>;
+                                       regulator-boot-on;
+                                       regulator-always-on;
+                               };
+
+                               smps3_reg: smps3 {
+                                       /* VDD_GPU IVA DSPEVE */
+                                       regulator-name = "smps3";
+                                       regulator-min-microvolt = <850000>;
+                                       regulator-max-microvolt = <1250000>;
+                                       regulator-boot-on;
+                                       regulator-always-on;
+                               };
+
+                               smps4_reg: smps4 {
+                                       /* VDDS1V8 */
+                                       regulator-name = "smps4";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                               };
+
+                               smps5_reg: smps5 {
+                                       /* VDD_DDR */
+                                       regulator-name = "smps5";
+                                       regulator-min-microvolt = <1350000>;
+                                       regulator-max-microvolt = <1350000>;
+                                       regulator-boot-on;
+                                       regulator-always-on;
+                               };
+
+                               ldo1_reg: ldo1 {
+                                       /* LDO1_OUT --> SDIO  */
+                                       regulator-name = "ldo1";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <3300000>;
+                                       regulator-boot-on;
+                               };
+
+                               ldo2_reg: ldo2 {
+                                       /* LDO2_OUT --> TP1017 (UNUSED)  */
+                                       regulator-name = "ldo2";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <3300000>;
+                               };
+
+                               ldo3_reg: ldo3 {
+                                       /* VDDA_1V8_PHY */
+                                       regulator-name = "ldo3";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-boot-on;
+                                       regulator-always-on;
+                               };
+
+                               ldo5_reg: ldo5 {
+                                       /* VDDA_1V8_PLL */
+                                       regulator-name = "ldo5";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                               };
+
+                               ldo4_reg: ldo4 {
+                                       /* VDDA_3V_USB: VDDA_USBHS33 */
+                                       regulator-name = "ldo4";
+                                       regulator-min-microvolt = <3300000>;
+                                       regulator-max-microvolt = <3300000>;
+                                       regulator-boot-on;
+                               };
+                       };
+               };
+       };
+};
+
 &uart1 {
        status = "okay";
 };
index f1ec22f6ebf4b16c5efe8043ffef0e7113916d78..e5a3d23a3df122895fc0672667e3cc41ac2b25e6 100644 (file)
@@ -22,4 +22,9 @@
                        reg = <0>;
                };
        };
+
+       pmu {
+               compatible = "arm,cortex-a15-pmu";
+               interrupts = <GIC_SPI DIRECT_IRQ(131) IRQ_TYPE_LEVEL_HIGH>;
+       };
 };
index a4e8bb9f95c0acee60005cdeb4b71f0336542b02..3be544c4891ff86a0541175254317e6484561a4e 100644 (file)
                        reg = <1>;
                };
        };
+
+       pmu {
+               compatible = "arm,cortex-a15-pmu";
+               interrupts = <GIC_SPI DIRECT_IRQ(131) IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI DIRECT_IRQ(132) IRQ_TYPE_LEVEL_HIGH>;
+       };
 };
index adadaf97ac01b78cf02c05d2e117ae181f1a09a0..c697ff01ae8dd4e214125b1e93ab223daccf1578 100644 (file)
                status = "okay";
 
                num-slots = <1>;
-               supports-highspeed;
                broken-cd;
                card-detect-delay = <200>;
                samsung,dw-mshc-ciu-div = <3>;
                samsung,dw-mshc-sdr-timing = <2 3>;
                samsung,dw-mshc-ddr-timing = <1 2>;
-
-               slot@0 {
-                       reg = <0>;
-                       bus-width = <8>;
-               };
+               bus-width = <8>;
+               cap-mmc-highspeed;
        };
 
        watchdog@10060000 {
index e925c9fbfb07f95e173823970f43bace333a685a..de15114fd07cafa2ef7bc4b39f41196ac9fd2337 100644 (file)
                status = "okay";
 
                num-slots = <1>;
-               supports-highspeed;
                broken-cd;
                card-detect-delay = <200>;
                samsung,dw-mshc-ciu-div = <3>;
                samsung,dw-mshc-sdr-timing = <2 3>;
                samsung,dw-mshc-ddr-timing = <1 2>;
-
-               slot@0 {
-                       reg = <0>;
-                       bus-width = <8>;
-               };
+               bus-width = <8>;
+               cap-mmc-highspeed;
        };
 
        codec@13400000 {
index 11967f4561e023430e4f192b77c0c29c1aef3e7b..5e066cd87f6653595142d2b34d533a973fc1b78c 100644 (file)
 
        mmc@12550000 {
                num-slots = <1>;
-               supports-highspeed;
                broken-cd;
                non-removable;
                card-detect-delay = <200>;
                pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
                pinctrl-names = "default";
                status = "okay";
-
-               slot@0 {
-                       reg = <0>;
-                       bus-width = <8>;
-               };
+               bus-width = <8>;
+               cap-mmc-highspeed;
        };
 
        serial@13800000 {
index d0de1f50d15b28e5aea79024b16602617705d14d..3acd97eb6630f2b78fdfad4e4f4fb45e95f0fc0f 100644 (file)
        mmc_0: mmc@12200000 {
                status = "okay";
                num-slots = <1>;
-               supports-highspeed;
                broken-cd;
                card-detect-delay = <200>;
                samsung,dw-mshc-ciu-div = <3>;
                vmmc-supply = <&mmc_reg>;
                pinctrl-names = "default";
                pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
-
-               slot@0 {
-                       reg = <0>;
-                       bus-width = <8>;
-               };
+               bus-width = <8>;
+               cap-mmc-highspeed;
        };
 
        mmc_2: mmc@12220000 {
                status = "okay";
                num-slots = <1>;
-               supports-highspeed;
                card-detect-delay = <200>;
                samsung,dw-mshc-ciu-div = <3>;
                samsung,dw-mshc-sdr-timing = <2 3>;
                vmmc-supply = <&mmc_reg>;
                pinctrl-names = "default";
                pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
-
-               slot@0 {
-                       reg = <0>;
-                       bus-width = <4>;
-                       disable-wp;
-               };
+               bus-width = <4>;
+               disable-wp;
+               cap-sd-highspeed;
        };
 
        i2s0: i2s@03830000 {
                        connect-gpios = <&gpd1 7 1>;
                };
        };
-
-       usb@12110000 {
-               usb-phy = <&usb2_phy>;
-       };
 };
diff --git a/arch/arm/boot/dts/exynos5250-cros-common.dtsi b/arch/arm/boot/dts/exynos5250-cros-common.dtsi
deleted file mode 100644 (file)
index e603e9c..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Common device tree include for all Exynos 5250 boards based off of Daisy.
- *
- * Copyright (c) 2012 Google, Inc
- *
- * 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.
-*/
-
-/ {
-       aliases {
-       };
-
-       memory {
-               reg = <0x40000000 0x80000000>;
-       };
-
-       chosen {
-       };
-
-       pinctrl@11400000 {
-               /*
-                * Disabled pullups since external part has its own pullups and
-                * double-pulling gets us out of spec in some cases.
-                */
-               i2c2_bus: i2c2-bus {
-                       samsung,pin-pud = <0>;
-               };
-       };
-
-       i2c@12C60000 {
-               status = "okay";
-               samsung,i2c-sda-delay = <100>;
-               samsung,i2c-max-bus-freq = <378000>;
-       };
-
-       i2c@12C70000 {
-               status = "okay";
-               samsung,i2c-sda-delay = <100>;
-               samsung,i2c-max-bus-freq = <378000>;
-       };
-
-       i2c@12C80000 {
-               status = "okay";
-               samsung,i2c-sda-delay = <100>;
-               samsung,i2c-max-bus-freq = <66000>;
-
-               hdmiddc@50 {
-                       compatible = "samsung,exynos4210-hdmiddc";
-                       reg = <0x50>;
-               };
-       };
-
-       i2c@12C90000 {
-               status = "okay";
-               samsung,i2c-sda-delay = <100>;
-               samsung,i2c-max-bus-freq = <66000>;
-       };
-
-       i2c@12CA0000 {
-               status = "okay";
-               samsung,i2c-sda-delay = <100>;
-               samsung,i2c-max-bus-freq = <66000>;
-       };
-
-       i2c@12CB0000 {
-               status = "okay";
-               samsung,i2c-sda-delay = <100>;
-               samsung,i2c-max-bus-freq = <66000>;
-       };
-
-       i2c@12CD0000 {
-               status = "okay";
-               samsung,i2c-sda-delay = <100>;
-               samsung,i2c-max-bus-freq = <66000>;
-       };
-
-       i2c@12CE0000 {
-               status = "okay";
-               samsung,i2c-sda-delay = <100>;
-               samsung,i2c-max-bus-freq = <378000>;
-
-               hdmiphy: hdmiphy@38 {
-                       compatible = "samsung,exynos4212-hdmiphy";
-                       reg = <0x38>;
-               };
-       };
-
-       mmc@12200000 {
-               num-slots = <1>;
-               supports-highspeed;
-               broken-cd;
-               card-detect-delay = <200>;
-               samsung,dw-mshc-ciu-div = <3>;
-               samsung,dw-mshc-sdr-timing = <2 3>;
-               samsung,dw-mshc-ddr-timing = <1 2>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4 &sd0_bus8>;
-
-               slot@0 {
-                       reg = <0>;
-                       bus-width = <8>;
-               };
-       };
-
-       mmc@12220000 {
-               num-slots = <1>;
-               supports-highspeed;
-               card-detect-delay = <200>;
-               samsung,dw-mshc-ciu-div = <3>;
-               samsung,dw-mshc-sdr-timing = <2 3>;
-               samsung,dw-mshc-ddr-timing = <1 2>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
-
-               slot@0 {
-                       reg = <0>;
-                       bus-width = <4>;
-                       wp-gpios = <&gpc2 1 0>;
-               };
-       };
-
-       mmc@12230000 {
-               num-slots = <1>;
-               supports-highspeed;
-               broken-cd;
-               card-detect-delay = <200>;
-               samsung,dw-mshc-ciu-div = <3>;
-               samsung,dw-mshc-sdr-timing = <2 3>;
-               samsung,dw-mshc-ddr-timing = <1 2>;
-               /* See board-specific dts files for pin setup */
-
-               slot@0 {
-                       reg = <0>;
-                       bus-width = <4>;
-               };
-       };
-
-       spi_1: spi@12d30000 {
-               status = "okay";
-               samsung,spi-src-clk = <0>;
-               num-cs = <1>;
-       };
-
-       hdmi {
-               hpd-gpio = <&gpx3 7 0>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&hdmi_hpd_irq>;
-               phy = <&hdmiphy>;
-               ddc = <&i2c_2>;
-       };
-
-       gpio-keys {
-               compatible = "gpio-keys";
-
-               power {
-                       label = "Power";
-                       gpios = <&gpx1 3 1>;
-                       linux,code = <116>; /* KEY_POWER */
-                       gpio-key,wakeup;
-               };
-       };
-};
index b4b35adae565e0fe22eaf933ecd79e9203224293..6a0f4c0ff763f64c0846d539d74abd0d8fccd52e 100644 (file)
        mmc@12200000 {
                status = "okay";
                num-slots = <1>;
-               supports-highspeed;
                broken-cd;
                card-detect-delay = <200>;
                samsung,dw-mshc-ciu-div = <3>;
                samsung,dw-mshc-ddr-timing = <1 2>;
                pinctrl-names = "default";
                pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
-
-               slot@0 {
-                       reg = <0>;
-                       bus-width = <8>;
-               };
+               bus-width = <8>;
+               cap-mmc-highspeed;
        };
 
        mmc@12220000 {
                status = "okay";
                num-slots = <1>;
-               supports-highspeed;
                card-detect-delay = <200>;
                samsung,dw-mshc-ciu-div = <3>;
                samsung,dw-mshc-sdr-timing = <2 3>;
                samsung,dw-mshc-ddr-timing = <1 2>;
                pinctrl-names = "default";
                pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
-
-               slot@0 {
-                       reg = <0>;
-                       bus-width = <4>;
-                       disable-wp;
-               };
+               bus-width = <4>;
+               disable-wp;
+               cap-sd-highspeed;
        };
 
        spi_1: spi@12d30000 {
index f2b8c411654110cf56a8a03ba21768be0621d3d2..e51fcef884a43d629ab12132e549cc8a0b731405 100644 (file)
@@ -9,8 +9,8 @@
 */
 
 /dts-v1/;
+#include <dt-bindings/gpio/gpio.h>
 #include "exynos5250.dtsi"
-#include "exynos5250-cros-common.dtsi"
 
 / {
        model = "Google Snow";
                i2c104 = &i2c_104;
        };
 
+       memory {
+               reg = <0x40000000 0x80000000>;
+       };
+
+       chosen {
+       };
+
        rtc@101E0000 {
                status = "okay";
        };
        gpio-keys {
                compatible = "gpio-keys";
 
+               power {
+                       label = "Power";
+                       gpios = <&gpx1 3 1>;
+                       linux,code = <116>; /* KEY_POWER */
+                       gpio-key,wakeup;
+               };
+
                lid-switch {
                        label = "Lid";
                        gpios = <&gpx3 5 1>;
                                        dcdc3 {
                                                ti,enable-ext-control;
                                        };
-                                       fet1 {
+                                       fet1: fet1 {
                                                regulator-name = "vcd_led";
                                                ti,overcurrent-wait = <3>;
                                        };
                                                regulator-always-on;
                                                ti,overcurrent-wait = <3>;
                                        };
-                                       fet6 {
+                                       fet6: fet6 {
                                                regulator-name = "lcd_vdd";
                                                ti,overcurrent-wait = <3>;
                                        };
                };
        };
 
-       mmc@12200000 {
-               status = "okay";
-       };
-
-       mmc@12220000 {
-               status = "okay";
-       };
-
-       /*
-        * On Snow we've got SIP WiFi and so can keep drive strengths low to
-        * reduce EMI.
-        */
-       mmc@12230000 {
-               status = "okay";
-               slot@0 {
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
-               };
-       };
-
        i2c@12CD0000 {
                max98095: codec@11 {
                        compatible = "maxim,max98095";
                        pinctrl-0 = <&max98095_en>;
                        pinctrl-names = "default";
                };
+
+               ptn3460: lvds-bridge@20 {
+                       compatible = "nxp,ptn3460";
+                       reg = <0x20>;
+                       powerdown-gpios = <&gpy2 5 GPIO_ACTIVE_HIGH>;
+                       reset-gpios = <&gpx1 5 GPIO_ACTIVE_HIGH>;
+                       edid-emulation = <5>;
+                       panel = <&panel>;
+               };
        };
 
        i2s0: i2s@03830000 {
        };
 
        hdmi {
+               hpd-gpio = <&gpx3 7 0>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&hdmi_hpd_irq>;
+               phy = <&hdmiphy>;
+               ddc = <&i2c_2>;
                hdmi-en-supply = <&tps65090_fet7>;
                vdd-supply = <&ldo8_reg>;
                vdd_osc-supply = <&ldo10_reg>;
                vdd_pll-supply = <&ldo8_reg>;
        };
 
-       backlight {
+       backlight: backlight {
                compatible = "pwm-backlight";
                pwms = <&pwm 0 1000000 0>;
                brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
                default-brightness-level = <7>;
+               enable-gpios = <&gpx3 0 GPIO_ACTIVE_HIGH>;
+               power-supply = <&fet1>;
                pinctrl-0 = <&pwm0_out>;
                pinctrl-names = "default";
        };
                samsung,invert-vclk;
        };
 
+       panel: panel {
+               compatible = "auo,b116xw03";
+               power-supply = <&fet6>;
+               backlight = <&backlight>;
+       };
+
        dp-controller@145B0000 {
                status = "okay";
                pinctrl-names = "default";
                samsung,link-rate = <0x0a>;
                samsung,lane-count = <2>;
                samsung,hpd-gpio = <&gpx0 7 0>;
-
-               display-timings {
-                       native-mode = <&timing1>;
-
-                       timing1: timing@1 {
-                               clock-frequency = <70589280>;
-                               hactive = <1366>;
-                               vactive = <768>;
-                               hfront-porch = <40>;
-                               hback-porch = <40>;
-                               hsync-len = <32>;
-                               vback-porch = <10>;
-                               vfront-porch = <12>;
-                               vsync-len = <6>;
-                       };
-               };
+               bridge = <&ptn3460>;
        };
 };
 
 &i2c_0 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <378000>;
+
        max77686@09 {
                compatible = "maxim,max77686";
                interrupt-parent = <&gpx3>;
 };
 
 &i2c_1 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <378000>;
+
        trackpad {
                reg = <0x67>;
                compatible = "cypress,cyapa";
        };
 };
 
+/*
+ * Disabled pullups since external part has its own pullups and
+ * double-pulling gets us out of spec in some cases.
+ */
+&i2c2_bus {
+       samsung,pin-pud = <0>;
+};
+
+&i2c_2 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <66000>;
+
+       hdmiddc@50 {
+               compatible = "samsung,exynos4210-hdmiddc";
+               reg = <0x50>;
+       };
+};
+
+&i2c_3 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <66000>;
+};
+
+&i2c_4 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <66000>;
+};
+
+&i2c_5 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <66000>;
+};
+
+&i2c_7 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <66000>;
+};
+
+&i2c_8 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <378000>;
+
+       hdmiphy: hdmiphy@38 {
+               compatible = "samsung,exynos4212-hdmiphy";
+               reg = <0x38>;
+       };
+};
+
+&mmc_0 {
+       status = "okay";
+       num-slots = <1>;
+       broken-cd;
+       card-detect-delay = <200>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <2 3>;
+       samsung,dw-mshc-ddr-timing = <1 2>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4 &sd0_bus8>;
+       bus-width = <8>;
+       cap-mmc-highspeed;
+};
+
+&mmc_2 {
+       status = "okay";
+       num-slots = <1>;
+       card-detect-delay = <200>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <2 3>;
+       samsung,dw-mshc-ddr-timing = <1 2>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
+       bus-width = <4>;
+       wp-gpios = <&gpc2 1 0>;
+       cap-sd-highspeed;
+};
+
+/*
+ * On Snow we've got SIP WiFi and so can keep drive strengths low to
+ * reduce EMI.
+ */
+&mmc_3 {
+       status = "okay";
+       num-slots = <1>;
+       broken-cd;
+       card-detect-delay = <200>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <2 3>;
+       samsung,dw-mshc-ddr-timing = <1 2>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
+       bus-width = <4>;
+       cap-sd-highspeed;
+};
+
 &pinctrl_0 {
        max77686_irq: max77686-irq {
                samsung,pins = "gpx3-2";
        };
 };
 
+&spi_1 {
+       status = "okay";
+       samsung,spi-src-clk = <0>;
+       num-cs = <1>;
+};
+
 #include "cros-ec-keyboard.dtsi"
index 492e1eff37bd96dd652caf976bdfb88c7c9f9d34..f21b9aa00fbb214f4dee8b0b1980884f5411c70f 100644 (file)
                };
        };
 
-       usb2_phy: usbphy@12130000 {
-               compatible = "samsung,exynos5250-usb2phy";
-               reg = <0x12130000 0x100>;
-               clocks = <&clock CLK_FIN_PLL>, <&clock CLK_USB2>;
-               clock-names = "ext_xtal", "usbhost";
-               #address-cells = <1>;
-               #size-cells = <1>;
-               ranges;
-
-               usbphy-sys {
-                       reg = <0x10040704 0x8>,
-                             <0x10050230 0x4>;
-               };
-       };
-
        usb2_phy_gen: phy@12130000 {
                compatible = "samsung,exynos5250-usb2-phy";
                reg = <0x12130000 0x100>;
index 8c84ab27c19b2c33bc6aea943ddd55843216610a..a803b605051b29c4754e889ce6a2cfb930bd1d14 100644 (file)
@@ -69,7 +69,7 @@
        num-slots = <1>;
        broken-cd;
        bypass-smu;
-       supports-highspeed;
+       cap-mmc-highspeed;
        supports-hs200-mode; /* 200 Mhz */
        card-detect-delay = <200>;
        samsung,dw-mshc-ciu-div = <3>;
        samsung,dw-mshc-ddr-timing = <0 2>;
        pinctrl-names = "default";
        pinctrl-0 = <&sd0_rdqs &sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
-
-       slot@0 {
-               reg = <0>;
-               bus-width = <8>;
-       };
+       bus-width = <8>;
 };
 
 &mmc_2 {
        status = "okay";
        num-slots = <1>;
-       supports-highspeed;
+       cap-sd-highspeed;
        card-detect-delay = <200>;
        samsung,dw-mshc-ciu-div = <3>;
        samsung,dw-mshc-sdr-timing = <2 3>;
        samsung,dw-mshc-ddr-timing = <1 2>;
        pinctrl-names = "default";
        pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
-
-       slot@0 {
-               reg = <0>;
-               bus-width = <4>;
-               disable-wp;
-       };
+       bus-width = <4>;
+       disable-wp;
 };
index 7275bbd6fc4b2d7c52c2710fa4f6228a081a3482..be3e02530b42881b2cbe6e35d7d16f0a4f547b77 100644 (file)
 &mmc_0 {
        status = "okay";
        num-slots = <1>;
-       supports-highspeed;
+       cap-mmc-highspeed;
        broken-cd;
        card-detect-delay = <200>;
        samsung,dw-mshc-ciu-div = <3>;
        samsung,dw-mshc-sdr-timing = <2 3>;
        samsung,dw-mshc-ddr-timing = <1 2>;
-
-       slot@0 {
-               reg = <0>;
-               bus-width = <8>;
-       };
+       bus-width = <8>;
 };
 
 &mmc_2 {
        status = "okay";
        num-slots = <1>;
-       supports-highspeed;
+       cap-sd-highspeed;
        card-detect-delay = <200>;
        samsung,dw-mshc-ciu-div = <3>;
        samsung,dw-mshc-sdr-timing = <2 3>;
        samsung,dw-mshc-ddr-timing = <1 2>;
-
-       slot@0 {
-               reg = <0>;
-               bus-width = <4>;
-               disable-wp;
-       };
+       bus-width = <4>;
+       disable-wp;
 };
 
 &uart0 {
index 434fd9d3e09dc12f7065a9f96c45c896fd9f0158..70a559cf1a3d11b0d191fedcbe15779011560fc8 100644 (file)
@@ -50,7 +50,6 @@
        mmc@12200000 {
                status = "okay";
                broken-cd;
-               supports-highspeed;
                card-detect-delay = <200>;
                samsung,dw-mshc-ciu-div = <3>;
                samsung,dw-mshc-sdr-timing = <0 4>;
                pinctrl-names = "default";
                pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
                vmmc-supply = <&ldo10_reg>;
-
-               slot@0 {
-                       reg = <0>;
-                       bus-width = <8>;
-               };
+               bus-width = <8>;
+               cap-mmc-highspeed;
        };
 
        mmc@12220000 {
                status = "okay";
-               supports-highspeed;
                card-detect-delay = <200>;
                samsung,dw-mshc-ciu-div = <3>;
                samsung,dw-mshc-sdr-timing = <2 3>;
                pinctrl-names = "default";
                pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
                vmmc-supply = <&ldo10_reg>;
-
-               slot@0 {
-                       reg = <0>;
-                       bus-width = <4>;
-               };
+               bus-width = <4>;
+               cap-sd-highspeed;
        };
 
        hsi2c_4: i2c@12CA0000 {
index 228a6b1e0aa10378f604c7f08feb0cf6c9ad4919..9a233828539cfbce55a3ea81ccc504a0a7ad434d 100644 (file)
@@ -11,6 +11,7 @@
 /dts-v1/;
 #include <dt-bindings/input/input.h>
 #include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
 #include "exynos5420.dtsi"
 
 / {
                i2c20 = "/spi@12d40000/cros-ec@0/i2c-tunnel";
        };
 
-       backlight {
+       backlight: backlight {
                compatible = "pwm-backlight";
                pwms = <&pwm 0 1000000 0>;
                brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
                default-brightness-level = <7>;
+               power-supply = <&tps65090_fet1>;
                pinctrl-0 = <&pwm0_out>;
                pinctrl-names = "default";
        };
                regulator-boot-on;
                regulator-always-on;
        };
+
+       panel: panel {
+               compatible = "auo,b116xw03";
+               power-supply = <&tps65090_fet6>;
+               backlight = <&backlight>;
+       };
+};
+
+&adc {
+       status = "okay";
+       vdd-supply = <&ldo9_reg>;
 };
 
 &dp {
        samsung,link-rate = <0x06>;
        samsung,lane-count = <2>;
        samsung,hpd-gpio = <&gpx2 6 0>;
-
-       display-timings {
-               native-mode = <&timing1>;
-
-               timing1: timing@1 {
-                       clock-frequency = <70589280>;
-                       hactive = <1366>;
-                       vactive = <768>;
-                       hfront-porch = <40>;
-                       hback-porch = <40>;
-                       hsync-len = <32>;
-                       vback-porch = <10>;
-                       vfront-porch = <12>;
-                       vsync-len = <6>;
-               };
-       };
+       bridge = <&ps8625>;
 };
 
 &fimd {
        pinctrl-names = "default";
        pinctrl-0 = <&hdmi_hpd_irq>;
        ddc = <&i2c_2>;
+
+       hdmi-en-supply = <&tps65090_fet7>;
+       vdd-supply = <&ldo8_reg>;
+       vdd_osc-supply = <&ldo10_reg>;
+       vdd_pll-supply = <&ldo8_reg>;
+};
+
+&hsi2c_4 {
+       status = "okay";
+       clock-frequency = <400000>;
+
+       max77802-pmic@9 {
+               compatible = "maxim,max77802";
+               interrupt-parent = <&gpx3>;
+               interrupts = <1 IRQ_TYPE_NONE>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&max77802_irq>, <&pmic_selb>,
+                           <&pmic_dvs_1>, <&pmic_dvs_2>, <&pmic_dvs_3>;
+               wakeup-source;
+               reg = <0x9>;
+               #clock-cells = <1>;
+
+               inb1-supply = <&tps65090_dcdc2>;
+               inb2-supply = <&tps65090_dcdc1>;
+               inb3-supply = <&tps65090_dcdc2>;
+               inb4-supply = <&tps65090_dcdc2>;
+               inb5-supply = <&tps65090_dcdc1>;
+               inb6-supply = <&tps65090_dcdc2>;
+               inb7-supply = <&tps65090_dcdc1>;
+               inb8-supply = <&tps65090_dcdc1>;
+               inb9-supply = <&tps65090_dcdc1>;
+               inb10-supply = <&tps65090_dcdc1>;
+
+               inl1-supply = <&buck5_reg>;
+               inl2-supply = <&buck7_reg>;
+               inl3-supply = <&buck9_reg>;
+               inl4-supply = <&buck9_reg>;
+               inl5-supply = <&buck9_reg>;
+               inl6-supply = <&tps65090_dcdc2>;
+               inl7-supply = <&buck9_reg>;
+               inl9-supply = <&tps65090_dcdc2>;
+               inl10-supply = <&buck7_reg>;
+
+               regulators {
+                       buck1_reg: BUCK1 {
+                               regulator-name = "vdd_mif";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1300000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-ramp-delay = <12500>;
+                       };
+
+                       buck2_reg: BUCK2 {
+                               regulator-name = "vdd_arm";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1500000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-ramp-delay = <12500>;
+                       };
+
+                       buck3_reg: BUCK3 {
+                               regulator-name = "vdd_int";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1400000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-ramp-delay = <12500>;
+                       };
+
+                       buck4_reg: BUCK4 {
+                               regulator-name = "vdd_g3d";
+                               regulator-min-microvolt = <700000>;
+                               regulator-max-microvolt = <1400000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-ramp-delay = <12500>;
+                       };
+
+                       buck5_reg: BUCK5 {
+                               regulator-name = "vdd_1v2";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       buck6_reg: BUCK6 {
+                               regulator-name = "vdd_kfc";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1500000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-ramp-delay = <12500>;
+                       };
+
+                       buck7_reg: BUCK7 {
+                               regulator-name = "vdd_1v35";
+                               regulator-min-microvolt = <1350000>;
+                               regulator-max-microvolt = <1350000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       buck8_reg: BUCK8 {
+                               regulator-name = "vdd_emmc";
+                               regulator-min-microvolt = <2850000>;
+                               regulator-max-microvolt = <2850000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       buck9_reg: BUCK9 {
+                               regulator-name = "vdd_2v";
+                               regulator-min-microvolt = <2000000>;
+                               regulator-max-microvolt = <2000000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       buck10_reg: BUCK10 {
+                               regulator-name = "vdd_1v8";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       ldo1_reg: LDO1 {
+                               regulator-name = "vdd_1v0";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                       };
+
+                       ldo2_reg: LDO2 {
+                               regulator-name = "vdd_1v2_2";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                       };
+
+                       ldo3_reg: LDO3 {
+                               regulator-name = "vdd_1v8_3";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       vqmmc_sdcard: ldo4_reg: LDO4 {
+                               regulator-name = "vdd_sd";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <2800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo5_reg: LDO5 {
+                               regulator-name = "vdd_1v8_5";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo6_reg: LDO6 {
+                               regulator-name = "vdd_1v8_6";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo7_reg: LDO7 {
+                               regulator-name = "vdd_1v8_7";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
+
+                       ldo8_reg: LDO8 {
+                               regulator-name = "vdd_ldo8";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                       };
+
+                       ldo9_reg: LDO9 {
+                               regulator-name = "vdd_ldo9";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo10_reg: LDO10 {
+                               regulator-name = "vdd_ldo10";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo11_reg: LDO11 {
+                               regulator-name = "vdd_ldo11";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo12_reg: LDO12 {
+                               regulator-name = "vdd_ldo12";
+                               regulator-min-microvolt = <3000000>;
+                               regulator-max-microvolt = <3000000>;
+                               regulator-always-on;
+                       };
+
+                       ldo13_reg: LDO13 {
+                               regulator-name = "vdd_ldo13";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo14_reg: LDO14 {
+                               regulator-name = "vdd_ldo14";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo15_reg: LDO15 {
+                               regulator-name = "vdd_ldo15";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                       };
+
+                       ldo17_reg: LDO17 {
+                               regulator-name = "vdd_g3ds";
+                               regulator-min-microvolt = <900000>;
+                               regulator-max-microvolt = <1400000>;
+                               regulator-always-on;
+                       };
+
+                       ldo18_reg: LDO18 {
+                               regulator-name = "ldo_18";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
+
+                       ldo19_reg: LDO19 {
+                               regulator-name = "ldo_19";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
+
+                       ldo20_reg: LDO20 {
+                               regulator-name = "ldo_20";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo21_reg: LDO21 {
+                               regulator-name = "ldo_21";
+                               regulator-min-microvolt = <2800000>;
+                               regulator-max-microvolt = <2800000>;
+                       };
+
+                       ldo23_reg: LDO23 {
+                               regulator-name = "ldo_23";
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                       };
+                       ldo24_reg: LDO24 {
+                               regulator-name = "ldo_24";
+                               regulator-min-microvolt = <2800000>;
+                               regulator-max-microvolt = <2800000>;
+                       };
+
+                       ldo25_reg: LDO25 {
+                               regulator-name = "ldo_25";
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                       };
+
+                       ldo26_reg: LDO26 {
+                               regulator-name = "ldo_26";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                       };
+
+                       ldo27_reg: LDO27 {
+                               regulator-name = "ldo_27";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                       };
+
+                       ldo28_reg: LDO28 {
+                               regulator-name = "ldo_28";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
+
+                       ldo29_reg: LDO29 {
+                               regulator-name = "ldo_29";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
+
+                       ldo30_reg: LDO30 {
+                               regulator-name = "vdd_mifs";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                       };
+
+                       ldo32_reg: LDO32 {
+                               regulator-name = "ldo_32";
+                               regulator-min-microvolt = <3000000>;
+                               regulator-max-microvolt = <3000000>;
+                       };
+
+                       ldo33_reg: LDO33 {
+                               regulator-name = "ldo_33";
+                               regulator-min-microvolt = <2800000>;
+                               regulator-max-microvolt = <2800000>;
+                       };
+
+                       ldo34_reg: LDO34 {
+                               regulator-name = "ldo_34";
+                               regulator-min-microvolt = <3000000>;
+                               regulator-max-microvolt = <3000000>;
+                       };
+
+                       ldo35_reg: LDO35 {
+                               regulator-name = "ldo_35";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                       };
+               };
+       };
 };
 
 &hsi2c_7 {
        status = "okay";
+       clock-frequency = <400000>;
 
        max98090: codec@10 {
                compatible = "maxim,max98090";
                pinctrl-names = "default";
                pinctrl-0 = <&max98090_irq>;
        };
+
+       light-sensor@44 {
+               compatible = "isil,isl29018";
+               reg = <0x44>;
+               vcc-supply = <&tps65090_fet5>;
+       };
+
+       ps8625: lvds-bridge@48 {
+               compatible = "parade,ps8625";
+               reg = <0x48>;
+               sleep-gpios = <&gpx3 5 GPIO_ACTIVE_HIGH>;
+               reset-gpios = <&gpy7 7 GPIO_ACTIVE_HIGH>;
+               lane-count = <2>;
+               panel = <&panel>;
+               use-external-pwm;
+       };
+};
+
+&hsi2c_8 {
+       status = "okay";
+       clock-frequency = <333000>;
+
+       /* Atmel mXT336S */
+       trackpad@4b {
+               compatible = "atmel,maxtouch";
+               reg = <0x4b>;
+               interrupt-parent = <&gpx1>;
+               interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
+               wakeup-source;
+               pinctrl-names = "default";
+               pinctrl-0 = <&trackpad_irq>;
+               linux,gpio-keymap = <KEY_RESERVED
+                                    KEY_RESERVED
+                                    KEY_RESERVED       /* GPIO0 */
+                                    KEY_RESERVED       /* GPIO1 */
+                                    KEY_RESERVED       /* GPIO2 */
+                                    BTN_LEFT>;         /* GPIO3 */
+       };
 };
 
 &hsi2c_9 {
        num-slots = <1>;
        broken-cd;
        caps2-mmc-hs200-1_8v;
-       supports-highspeed;
+       cap-mmc-highspeed;
        non-removable;
        card-detect-delay = <200>;
        clock-frequency = <400000000>;
        samsung,dw-mshc-ddr-timing = <0 2>;
        pinctrl-names = "default";
        pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
-
-       slot@0 {
-               reg = <0>;
-               bus-width = <8>;
-       };
+       bus-width = <8>;
 };
 
 &mmc_2 {
        status = "okay";
        num-slots = <1>;
-       supports-highspeed;
+       cap-sd-highspeed;
        card-detect-delay = <200>;
        clock-frequency = <400000000>;
        samsung,dw-mshc-ciu-div = <3>;
        samsung,dw-mshc-ddr-timing = <1 2>;
        pinctrl-names = "default";
        pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
-
-       slot@0 {
-               reg = <0>;
-               bus-width = <4>;
-       };
+       bus-width = <4>;
 };
 
 
                samsung,pin-drv = <0>;
        };
 
+       trackpad_irq: trackpad-irq {
+               samsung,pins = "gpx1-1";
+               samsung,pin-function = <0xf>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
        power_key_irq: power-key-irq {
                samsung,pins = "gpx1-2";
                samsung,pin-function = <0>;
                samsung,pin-drv = <0>;
        };
 
+       max77802_irq: max77802-irq {
+               samsung,pins = "gpx3-1";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
        hdmi_hpd_irq: hdmi-hpd-irq {
                samsung,pins = "gpx3-7";
                samsung,pin-function = <0>;
                samsung,pin-pud = <1>;
                samsung,pin-drv = <0>;
        };
+
+       pmic_dvs_1: pmic-dvs-1 {
+               samsung,pins = "gpy7-6";
+               samsung,pin-function = <1>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+};
+
+&pinctrl_2 {
+       pmic_dvs_2: pmic-dvs-2 {
+               samsung,pins = "gpj4-2";
+               samsung,pin-function = <1>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
+       pmic_dvs_3: pmic-dvs-3 {
+               samsung,pins = "gpj4-3";
+               samsung,pin-function = <1>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
 };
 
 &pinctrl_3 {
                samsung,pin-pud = <0>;
                samsung,pin-drv = <0>;
        };
+
+       pmic_selb: pmic-selb {
+               samsung,pins = "gph0-2", "gph0-3", "gph0-4", "gph0-5",
+                              "gph0-6";
+               samsung,pin-function = <1>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
 };
 
 &rtc {
                                vsys2-supply = <&vbat>;
                                vsys3-supply = <&vbat>;
                                infet1-supply = <&vbat>;
-                               infet2-supply = <&vbat>;
-                               infet3-supply = <&vbat>;
-                               infet4-supply = <&vbat>;
-                               infet5-supply = <&vbat>;
-                               infet6-supply = <&vbat>;
-                               infet7-supply = <&vbat>;
+                               infet2-supply = <&tps65090_dcdc1>;
+                               infet3-supply = <&tps65090_dcdc2>;
+                               infet4-supply = <&tps65090_dcdc2>;
+                               infet5-supply = <&tps65090_dcdc2>;
+                               infet6-supply = <&tps65090_dcdc2>;
+                               infet7-supply = <&tps65090_dcdc1>;
                                vsys-l1-supply = <&vbat>;
                                vsys-l2-supply = <&vbat>;
 
 };
 
 #include "cros-ec-keyboard.dtsi"
+#include "cros-adc-thermistors.dtsi"
index 6052aa9c5659988a72a0aca8a94bc89025f3393d..8be3d7b489ff3585dad03e38f8177a300cbef00f 100644 (file)
        mmc@12200000 {
                status = "okay";
                broken-cd;
-               supports-highspeed;
                card-detect-delay = <200>;
                samsung,dw-mshc-ciu-div = <3>;
                samsung,dw-mshc-sdr-timing = <0 4>;
                samsung,dw-mshc-ddr-timing = <0 2>;
                pinctrl-names = "default";
                pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
-
-               slot@0 {
-                       reg = <0>;
-                       bus-width = <8>;
-               };
+               bus-width = <8>;
+               cap-mmc-highspeed;
        };
 
        mmc@12220000 {
                status = "okay";
-               supports-highspeed;
                card-detect-delay = <200>;
                samsung,dw-mshc-ciu-div = <3>;
                samsung,dw-mshc-sdr-timing = <2 3>;
                samsung,dw-mshc-ddr-timing = <1 2>;
                pinctrl-names = "default";
                pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
-
-               slot@0 {
-                       reg = <0>;
-                       bus-width = <4>;
-               };
+               bus-width = <4>;
+               cap-sd-highspeed;
        };
 
        dp-controller@145B0000 {
index f3ee48bbe05f57d0a308f626dca96b5668b177c2..1d31c813255849087233fda0e52c7dc61d1faa10 100644 (file)
@@ -11,6 +11,7 @@
 /dts-v1/;
 #include <dt-bindings/input/input.h>
 #include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
 #include "exynos5800.dtsi"
 
 / {
                i2c20 = "/spi@12d40000/cros-ec@0/i2c-tunnel";
        };
 
-       backlight {
+       backlight: backlight {
                compatible = "pwm-backlight";
                pwms = <&pwm 0 1000000 0>;
                brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
                default-brightness-level = <7>;
+               enable-gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
+               power-supply = <&tps65090_fet1>;
                pinctrl-0 = <&pwm0_out>;
                pinctrl-names = "default";
        };
                regulator-boot-on;
                regulator-always-on;
        };
+
+       panel: panel {
+               compatible = "auo,b133htn01";
+               power-supply = <&tps65090_fet6>;
+               backlight = <&backlight>;
+       };
+};
+
+&adc {
+       status = "okay";
+       vdd-supply = <&ldo9_reg>;
 };
 
 &dp {
        samsung,link-rate = <0x0a>;
        samsung,lane-count = <2>;
        samsung,hpd-gpio = <&gpx2 6 0>;
-
-       display-timings {
-               native-mode = <&timing1>;
-
-               timing1: timing@1 {
-                       clock-frequency = <150660000>;
-                       hactive = <1920>;
-                       vactive = <1080>;
-                       hfront-porch = <60>;
-                       hback-porch = <172>;
-                       hsync-len = <80>;
-                       vback-porch = <25>;
-                       vfront-porch = <10>;
-                       vsync-len = <10>;
-               };
-       };
+       panel = <&panel>;
 };
 
 &fimd {
        pinctrl-names = "default";
        pinctrl-0 = <&hdmi_hpd_irq>;
        ddc = <&i2c_2>;
+
+       hdmi-en-supply = <&tps65090_fet7>;
+       vdd-supply = <&ldo8_reg>;
+       vdd_osc-supply = <&ldo10_reg>;
+       vdd_pll-supply = <&ldo8_reg>;
+};
+
+&hsi2c_4 {
+       status = "okay";
+       clock-frequency = <400000>;
+
+       max77802-pmic@9 {
+               compatible = "maxim,max77802";
+               interrupt-parent = <&gpx3>;
+               interrupts = <1 IRQ_TYPE_NONE>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&max77802_irq>, <&pmic_selb>,
+                           <&pmic_dvs_1>, <&pmic_dvs_2>, <&pmic_dvs_3>;
+               wakeup-source;
+               reg = <0x9>;
+               #clock-cells = <1>;
+
+               inb1-supply = <&tps65090_dcdc2>;
+               inb2-supply = <&tps65090_dcdc1>;
+               inb3-supply = <&tps65090_dcdc2>;
+               inb4-supply = <&tps65090_dcdc2>;
+               inb5-supply = <&tps65090_dcdc1>;
+               inb6-supply = <&tps65090_dcdc2>;
+               inb7-supply = <&tps65090_dcdc1>;
+               inb8-supply = <&tps65090_dcdc1>;
+               inb9-supply = <&tps65090_dcdc1>;
+               inb10-supply = <&tps65090_dcdc1>;
+
+               inl1-supply = <&buck5_reg>;
+               inl2-supply = <&buck7_reg>;
+               inl3-supply = <&buck9_reg>;
+               inl4-supply = <&buck9_reg>;
+               inl5-supply = <&buck9_reg>;
+               inl6-supply = <&tps65090_dcdc2>;
+               inl7-supply = <&buck9_reg>;
+               inl9-supply = <&tps65090_dcdc2>;
+               inl10-supply = <&buck7_reg>;
+
+               regulators {
+                       buck1_reg: BUCK1 {
+                               regulator-name = "vdd_mif";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1300000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-ramp-delay = <12500>;
+                       };
+
+                       buck2_reg: BUCK2 {
+                               regulator-name = "vdd_arm";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1500000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-ramp-delay = <12500>;
+                       };
+
+                       buck3_reg: BUCK3 {
+                               regulator-name = "vdd_int";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1400000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-ramp-delay = <12500>;
+                       };
+
+                       buck4_reg: BUCK4 {
+                               regulator-name = "vdd_g3d";
+                               regulator-min-microvolt = <700000>;
+                               regulator-max-microvolt = <1400000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-ramp-delay = <12500>;
+                       };
+
+                       buck5_reg: BUCK5 {
+                               regulator-name = "vdd_1v2";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       buck6_reg: BUCK6 {
+                               regulator-name = "vdd_kfc";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1500000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-ramp-delay = <12500>;
+                       };
+
+                       buck7_reg: BUCK7 {
+                               regulator-name = "vdd_1v35";
+                               regulator-min-microvolt = <1350000>;
+                               regulator-max-microvolt = <1350000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       buck8_reg: BUCK8 {
+                               regulator-name = "vdd_emmc";
+                               regulator-min-microvolt = <2850000>;
+                               regulator-max-microvolt = <2850000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       buck9_reg: BUCK9 {
+                               regulator-name = "vdd_2v";
+                               regulator-min-microvolt = <2000000>;
+                               regulator-max-microvolt = <2000000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       buck10_reg: BUCK10 {
+                               regulator-name = "vdd_1v8";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       ldo1_reg: LDO1 {
+                               regulator-name = "vdd_1v0";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                       };
+
+                       ldo2_reg: LDO2 {
+                               regulator-name = "vdd_1v2_2";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                       };
+
+                       ldo3_reg: LDO3 {
+                               regulator-name = "vdd_1v8_3";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       vqmmc_sdcard: ldo4_reg: LDO4 {
+                               regulator-name = "vdd_sd";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <2800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo5_reg: LDO5 {
+                               regulator-name = "vdd_1v8_5";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo6_reg: LDO6 {
+                               regulator-name = "vdd_1v8_6";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo7_reg: LDO7 {
+                               regulator-name = "vdd_1v8_7";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
+
+                       ldo8_reg: LDO8 {
+                               regulator-name = "vdd_ldo8";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                       };
+
+                       ldo9_reg: LDO9 {
+                               regulator-name = "vdd_ldo9";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo10_reg: LDO10 {
+                               regulator-name = "vdd_ldo10";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo11_reg: LDO11 {
+                               regulator-name = "vdd_ldo11";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo12_reg: LDO12 {
+                               regulator-name = "vdd_ldo12";
+                               regulator-min-microvolt = <3000000>;
+                               regulator-max-microvolt = <3000000>;
+                               regulator-always-on;
+                       };
+
+                       ldo13_reg: LDO13 {
+                               regulator-name = "vdd_ldo13";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo14_reg: LDO14 {
+                               regulator-name = "vdd_ldo14";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo15_reg: LDO15 {
+                               regulator-name = "vdd_ldo15";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                       };
+
+                       ldo17_reg: LDO17 {
+                               regulator-name = "vdd_g3ds";
+                               regulator-min-microvolt = <900000>;
+                               regulator-max-microvolt = <1400000>;
+                               regulator-always-on;
+                       };
+
+                       ldo18_reg: LDO18 {
+                               regulator-name = "ldo_18";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
+
+                       ldo19_reg: LDO19 {
+                               regulator-name = "ldo_19";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
+
+                       ldo20_reg: LDO20 {
+                               regulator-name = "ldo_20";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo21_reg: LDO21 {
+                               regulator-name = "ldo_21";
+                               regulator-min-microvolt = <2800000>;
+                               regulator-max-microvolt = <2800000>;
+                       };
+
+                       ldo23_reg: LDO23 {
+                               regulator-name = "ldo_23";
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                       };
+                       ldo24_reg: LDO24 {
+                               regulator-name = "ldo_24";
+                               regulator-min-microvolt = <2800000>;
+                               regulator-max-microvolt = <2800000>;
+                       };
+
+                       ldo25_reg: LDO25 {
+                               regulator-name = "ldo_25";
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                       };
+
+                       ldo26_reg: LDO26 {
+                               regulator-name = "ldo_26";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                       };
+
+                       ldo27_reg: LDO27 {
+                               regulator-name = "ldo_27";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                       };
+
+                       ldo28_reg: LDO28 {
+                               regulator-name = "ldo_28";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
+
+                       ldo29_reg: LDO29 {
+                               regulator-name = "ldo_29";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
+
+                       ldo30_reg: LDO30 {
+                               regulator-name = "vdd_mifs";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                       };
+
+                       ldo32_reg: LDO32 {
+                               regulator-name = "ldo_32";
+                               regulator-min-microvolt = <3000000>;
+                               regulator-max-microvolt = <3000000>;
+                       };
+
+                       ldo33_reg: LDO33 {
+                               regulator-name = "ldo_33";
+                               regulator-min-microvolt = <2800000>;
+                               regulator-max-microvolt = <2800000>;
+                       };
+
+                       ldo34_reg: LDO34 {
+                               regulator-name = "ldo_34";
+                               regulator-min-microvolt = <3000000>;
+                               regulator-max-microvolt = <3000000>;
+                       };
+
+                       ldo35_reg: LDO35 {
+                               regulator-name = "ldo_35";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                       };
+               };
+       };
 };
 
 &hsi2c_7 {
        status = "okay";
+       clock-frequency = <400000>;
 
        max98091: codec@10 {
                compatible = "maxim,max98091";
                pinctrl-names = "default";
                pinctrl-0 = <&max98091_irq>;
        };
+
+       light-sensor@44 {
+               compatible = "isil,isl29018";
+               reg = <0x44>;
+               vcc-supply = <&tps65090_fet5>;
+       };
+};
+
+&hsi2c_8 {
+       status = "okay";
+       clock-frequency = <333000>;
+       /* Atmel mXT540S */
+       trackpad@4b {
+               compatible = "atmel,maxtouch";
+               reg = <0x4b>;
+               interrupt-parent = <&gpx1>;
+               interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
+               wakeup-source;
+               pinctrl-names = "default";
+               pinctrl-0 = <&trackpad_irq>;
+               linux,gpio-keymap = <KEY_RESERVED
+                                    KEY_RESERVED
+                                    KEY_RESERVED       /* GPIO 0 */
+                                    KEY_RESERVED       /* GPIO 1 */
+                                    BTN_LEFT           /* GPIO 2 */
+                                    KEY_RESERVED>;     /* GPIO 3 */
+       };
 };
 
 &hsi2c_9 {
        num-slots = <1>;
        broken-cd;
        caps2-mmc-hs200-1_8v;
-       supports-highspeed;
+       cap-mmc-highspeed;
        non-removable;
        card-detect-delay = <200>;
        clock-frequency = <400000000>;
        samsung,dw-mshc-ddr-timing = <0 2>;
        pinctrl-names = "default";
        pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
-
-       slot@0 {
-               reg = <0>;
-               bus-width = <8>;
-       };
+       bus-width = <8>;
 };
 
 &mmc_2 {
        status = "okay";
        num-slots = <1>;
-       supports-highspeed;
+       cap-sd-highspeed;
        card-detect-delay = <200>;
        clock-frequency = <400000000>;
        samsung,dw-mshc-ciu-div = <3>;
        samsung,dw-mshc-ddr-timing = <1 2>;
        pinctrl-names = "default";
        pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
-
-       slot@0 {
-               reg = <0>;
-               bus-width = <4>;
-       };
+       bus-width = <4>;
 };
 
 
                samsung,pin-drv = <0>;
        };
 
+       trackpad_irq: trackpad-irq {
+               samsung,pins = "gpx1-1";
+               samsung,pin-function = <0xf>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
        power_key_irq: power-key-irq {
                samsung,pins = "gpx1-2";
                samsung,pin-function = <0>;
                samsung,pin-drv = <0>;
        };
 
+       max77802_irq: max77802-irq {
+               samsung,pins = "gpx3-1";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
        hdmi_hpd_irq: hdmi-hpd-irq {
                samsung,pins = "gpx3-7";
                samsung,pin-function = <0>;
                samsung,pin-pud = <1>;
                samsung,pin-drv = <0>;
        };
+
+       pmic_dvs_1: pmic-dvs-1 {
+               samsung,pins = "gpy7-6";
+               samsung,pin-function = <1>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+};
+
+&pinctrl_2 {
+       pmic_dvs_2: pmic-dvs-2 {
+               samsung,pins = "gpj4-2";
+               samsung,pin-function = <1>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
+       pmic_dvs_3: pmic-dvs-3 {
+               samsung,pins = "gpj4-3";
+               samsung,pin-function = <1>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
 };
 
 &pinctrl_3 {
                samsung,pin-pud = <0>;
                samsung,pin-drv = <0>;
        };
+
+       pmic_selb: pmic-selb {
+               samsung,pins = "gph0-2", "gph0-3", "gph0-4", "gph0-5",
+                              "gph0-6";
+               samsung,pin-function = <1>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
 };
 
 &rtc {
                                vsys2-supply = <&vbat>;
                                vsys3-supply = <&vbat>;
                                infet1-supply = <&vbat>;
-                               infet2-supply = <&vbat>;
-                               infet3-supply = <&vbat>;
-                               infet4-supply = <&vbat>;
-                               infet5-supply = <&vbat>;
-                               infet6-supply = <&vbat>;
-                               infet7-supply = <&vbat>;
+                               infet2-supply = <&tps65090_dcdc1>;
+                               infet3-supply = <&tps65090_dcdc2>;
+                               infet4-supply = <&tps65090_dcdc2>;
+                               infet5-supply = <&tps65090_dcdc2>;
+                               infet6-supply = <&tps65090_dcdc2>;
+                               infet7-supply = <&tps65090_dcdc1>;
                                vsys-l1-supply = <&vbat>;
                                vsys-l2-supply = <&vbat>;
 
 };
 
 #include "cros-ec-keyboard.dtsi"
+#include "cros-adc-thermistors.dtsi"
diff --git a/arch/arm/boot/dts/imx1-ads.dts b/arch/arm/boot/dts/imx1-ads.dts
new file mode 100644 (file)
index 0000000..af4eee5
--- /dev/null
@@ -0,0 +1,152 @@
+/*
+ * Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru>
+ *
+ * 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 "imx1.dtsi"
+
+/ {
+       model = "Freescale MX1 ADS";
+       compatible = "fsl,imx1ads", "fsl,imx1";
+
+       chosen {
+               stdout-path = &uart1;
+       };
+
+       memory {
+               reg = <0x08000000 0x04000000>;
+       };
+
+       clocks {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               clk32 {
+                       compatible = "fsl,imx-clk32", "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <32000>;
+               };
+       };
+};
+
+&cspi1 {
+       pinctrl-0 = <&pinctrl_cspi1>;
+       fsl,spi-num-chipselects = <1>;
+       cs-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
+       status = "okay";
+};
+
+&i2c {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c>;
+       status = "okay";
+
+       extgpio0: pcf8575@22 {
+               compatible = "nxp,pcf8575";
+               reg = <0x22>;
+               gpio-controller;
+               #gpio-cells = <2>;
+       };
+
+       extgpio1: pcf8575@24 {
+               compatible = "nxp,pcf8575";
+               reg = <0x24>;
+               gpio-controller;
+               #gpio-cells = <2>;
+       };
+};
+
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart1>;
+       fsl,uart-has-rtscts;
+       status = "okay";
+};
+
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart2>;
+       fsl,uart-has-rtscts;
+       status = "okay";
+};
+
+&weim {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_weim>;
+       status = "okay";
+
+       nor: nor@0,0 {
+               compatible = "cfi-flash";
+               reg = <0 0x00000000 0x02000000>;
+               bank-width = <4>;
+               fsl,weim-cs-timing = <0x00003e00 0x00000801>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+       };
+};
+
+&iomuxc {
+       imx1-ads {
+               pinctrl_cspi1: cspi1grp {
+                       fsl,pins = <
+                               MX1_PAD_SPI1_MISO__SPI1_MISO    0x0
+                               MX1_PAD_SPI1_MOSI__SPI1_MOSI    0x0
+                               MX1_PAD_SPI1_RDY__SPI1_RDY      0x0
+                               MX1_PAD_SPI1_SCLK__SPI1_SCLK    0x0
+                               MX1_PAD_SPI1_SS__GPIO3_15       0x0
+                       >;
+               };
+
+               pinctrl_i2c: i2cgrp {
+                       fsl,pins = <
+                               MX1_PAD_I2C_SCL__I2C_SCL        0x0
+                               MX1_PAD_I2C_SDA__I2C_SDA        0x0
+                       >;
+               };
+
+               pinctrl_uart1: uart1grp {
+                       fsl,pins = <
+                               MX1_PAD_UART1_TXD__UART1_TXD    0x0
+                               MX1_PAD_UART1_RXD__UART1_RXD    0x0
+                               MX1_PAD_UART1_CTS__UART1_CTS    0x0
+                               MX1_PAD_UART1_RTS__UART1_RTS    0x0
+                       >;
+               };
+
+               pinctrl_uart2: uart2grp {
+                       fsl,pins = <
+                               MX1_PAD_UART2_TXD__UART2_TXD    0x0
+                               MX1_PAD_UART2_RXD__UART2_RXD    0x0
+                               MX1_PAD_UART2_CTS__UART2_CTS    0x0
+                               MX1_PAD_UART2_RTS__UART2_RTS    0x0
+                       >;
+               };
+
+               pinctrl_weim: weimgrp {
+                       fsl,pins = <
+                               MX1_PAD_A0__A0                  0x0
+                               MX1_PAD_A16__A16                0x0
+                               MX1_PAD_A17__A17                0x0
+                               MX1_PAD_A18__A18                0x0
+                               MX1_PAD_A19__A19                0x0
+                               MX1_PAD_A20__A20                0x0
+                               MX1_PAD_A21__A21                0x0
+                               MX1_PAD_A22__A22                0x0
+                               MX1_PAD_A23__A23                0x0
+                               MX1_PAD_A24__A24                0x0
+                               MX1_PAD_BCLK__BCLK              0x0
+                               MX1_PAD_CS4__CS4                0x0
+                               MX1_PAD_DTACK__DTACK            0x0
+                               MX1_PAD_ECB__ECB                0x0
+                               MX1_PAD_LBA__LBA                0x0
+                       >;
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/imx1-apf9328.dts b/arch/arm/boot/dts/imx1-apf9328.dts
new file mode 100644 (file)
index 0000000..07d92fb
--- /dev/null
@@ -0,0 +1,129 @@
+/*
+ * Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru>
+ *
+ * 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 "imx1.dtsi"
+
+/ {
+       model = "Armadeus APF9328";
+       compatible = "armadeus,imx1-apf9328", "fsl,imx1";
+
+       chosen {
+               stdout-path = &uart1;
+       };
+
+       memory {
+               reg = <0x08000000 0x00800000>;
+       };
+};
+
+&i2c {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c>;
+       status = "okay";
+};
+
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart1>;
+       fsl,uart-has-rtscts;
+       status = "okay";
+};
+
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart2>;
+       fsl,uart-has-rtscts;
+       status = "okay";
+};
+
+&weim {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_weim>;
+       status = "okay";
+
+       nor: nor@0,0 {
+               compatible = "cfi-flash";
+               reg = <0 0x00000000 0x02000000>;
+               bank-width = <2>;
+               fsl,weim-cs-timing = <0x00330e04 0x00000d01>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+       };
+
+       eth: eth@4,c00000 {
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_eth>;
+               compatible = "davicom,dm9000";
+               reg = <
+                       4 0x00c00000 0x2
+                       4 0x00c00002 0x2
+               >;
+               interrupt-parent = <&gpio2>;
+               interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
+               fsl,weim-cs-timing = <0x0000c700 0x19190d01>;
+       };
+};
+
+&iomuxc {
+       imx1-apf9328 {
+               pinctrl_eth: ethgrp {
+                       fsl,pins = <
+                               MX1_PAD_SIM_SVEN__GPIO2_14      0x0
+                       >;
+               };
+
+               pinctrl_i2c: i2cgrp {
+                       fsl,pins = <
+                               MX1_PAD_I2C_SCL__I2C_SCL        0x0
+                               MX1_PAD_I2C_SDA__I2C_SDA        0x0
+                       >;
+               };
+
+               pinctrl_uart1: uart1grp {
+                       fsl,pins = <
+                               MX1_PAD_UART1_TXD__UART1_TXD    0x0
+                               MX1_PAD_UART1_RXD__UART1_RXD    0x0
+                               MX1_PAD_UART1_CTS__UART1_CTS    0x0
+                               MX1_PAD_UART1_RTS__UART1_RTS    0x0
+                       >;
+               };
+
+               pinctrl_uart2: uart2grp {
+                       fsl,pins = <
+                               MX1_PAD_UART2_TXD__UART2_TXD    0x0
+                               MX1_PAD_UART2_RXD__UART2_RXD    0x0
+                               MX1_PAD_UART2_CTS__UART2_CTS    0x0
+                               MX1_PAD_UART2_RTS__UART2_RTS    0x0
+                       >;
+               };
+
+               pinctrl_weim: weimgrp {
+                       fsl,pins = <
+                               MX1_PAD_A0__A0                  0x0
+                               MX1_PAD_A16__A16                0x0
+                               MX1_PAD_A17__A17                0x0
+                               MX1_PAD_A18__A18                0x0
+                               MX1_PAD_A19__A19                0x0
+                               MX1_PAD_A20__A20                0x0
+                               MX1_PAD_A21__A21                0x0
+                               MX1_PAD_A22__A22                0x0
+                               MX1_PAD_A23__A23                0x0
+                               MX1_PAD_A24__A24                0x0
+                               MX1_PAD_BCLK__BCLK              0x0
+                               MX1_PAD_CS4__CS4                0x0
+                               MX1_PAD_DTACK__DTACK            0x0
+                               MX1_PAD_ECB__ECB                0x0
+                               MX1_PAD_LBA__LBA                0x0
+                       >;
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/imx1-pinfunc.h b/arch/arm/boot/dts/imx1-pinfunc.h
new file mode 100644 (file)
index 0000000..22bec8b
--- /dev/null
@@ -0,0 +1,302 @@
+/*
+ * Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru>
+ *
+ * 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
+ */
+
+#ifndef __DTS_IMX1_PINFUNC_H
+#define __DTS_IMX1_PINFUNC_H
+
+/*
+ * The pin function ID is a tuple of
+ * <pin mux_id>
+ * mux_id consists of
+ * function + (direction << 2) + (gpio_oconf << 4) + (gpio_iconfa << 8) + (gpio_iconfb << 10)
+ *
+ * function:      0 - Primary function
+ *                1 - Alternate function
+ *                2 - GPIO
+ * direction:     0 - Input
+ *                1 - Output
+ * gpio_oconf:    0 - A_IN
+ *                1 - B_IN
+ *                2 - A_OUT
+ *                3 - Data Register
+ * gpio_iconfa/b: 0 - GPIO_IN
+ *                1 - Interrupt Status Register
+ *                2 - 0
+ *                3 - 1
+ *
+ * 'pin' is an integer between 0 and 0xbf. i.MX1 has 4 ports with 32 configurable
+ * configurable pins each. 'pin' is PORT * 32 + PORT_PIN, PORT_PIN is the pin
+ * number on the specific port (between 0 and 31).
+ */
+
+#define MX1_PAD_A24__A24                       0x00 0x004
+#define MX1_PAD_A24__GPIO1_0                   0x00 0x032
+#define MX1_PAD_A24__SPI2_CLK                  0x00 0x006
+#define MX1_PAD_TIN__TIN                       0x01 0x000
+#define MX1_PAD_TIN__GPIO1_1                   0x01 0x032
+#define MX1_PAD_TIN__SPI2_RXD                  0x01 0x022
+#define MX1_PAD_PWMO__PWMO                     0x02 0x004
+#define MX1_PAD_PWMO__GPIO1_2                  0x02 0x032
+#define MX1_PAD_CSI_MCLK__CSI_MCLK             0x03 0x004
+#define MX1_PAD_CSI_MCLK__GPIO1_3              0x03 0x032
+#define MX1_PAD_CSI_D0__CSI_D0                 0x04 0x000
+#define MX1_PAD_CSI_D0__GPIO1_4                        0x04 0x032
+#define MX1_PAD_CSI_D1__CSI_D1                 0x05 0x000
+#define MX1_PAD_CSI_D1__GPIO1_5                        0x05 0x032
+#define MX1_PAD_CSI_D2__CSI_D2                 0x06 0x000
+#define MX1_PAD_CSI_D2__GPIO1_6                        0x06 0x032
+#define MX1_PAD_CSI_D3__CSI_D3                 0x07 0x000
+#define MX1_PAD_CSI_D3__GPIO1_7                        0x07 0x032
+#define MX1_PAD_CSI_D4__CSI_D4                 0x08 0x000
+#define MX1_PAD_CSI_D4__GPIO1_8                        0x08 0x032
+#define MX1_PAD_CSI_D5__CSI_D5                 0x09 0x000
+#define MX1_PAD_CSI_D5__GPIO1_9                        0x09 0x032
+#define MX1_PAD_CSI_D6__CSI_D6                 0x0a 0x000
+#define MX1_PAD_CSI_D6__GPIO1_10               0x0a 0x032
+#define MX1_PAD_CSI_D7__CSI_D7                 0x0b 0x000
+#define MX1_PAD_CSI_D7__GPIO1_11               0x0b 0x032
+#define MX1_PAD_CSI_VSYNC__CSI_VSYNC           0x0c 0x000
+#define MX1_PAD_CSI_VSYNC__GPIO1_12            0x0c 0x032
+#define MX1_PAD_CSI_HSYNC__CSI_HSYNC           0x0d 0x000
+#define MX1_PAD_CSI_HSYNC__GPIO1_13            0x0d 0x032
+#define MX1_PAD_CSI_PIXCLK__CSI_PIXCLK         0x0e 0x000
+#define MX1_PAD_CSI_PIXCLK__GPIO1_14           0x0e 0x032
+#define MX1_PAD_I2C_SDA__I2C_SDA               0x0f 0x000
+#define MX1_PAD_I2C_SDA__GPIO1_15              0x0f 0x032
+#define MX1_PAD_I2C_SCL__I2C_SCL               0x10 0x004
+#define MX1_PAD_I2C_SCL__GPIO1_16              0x10 0x032
+#define MX1_PAD_DTACK__DTACK                   0x11 0x000
+#define MX1_PAD_DTACK__GPIO1_17                        0x11 0x032
+#define MX1_PAD_DTACK__SPI2_SS                 0x11 0x002
+#define MX1_PAD_DTACK__A25                     0x11 0x016
+#define MX1_PAD_BCLK__BCLK                     0x12 0x004
+#define MX1_PAD_BCLK__GPIO1_18                 0x12 0x032
+#define MX1_PAD_LBA__LBA                       0x13 0x004
+#define MX1_PAD_LBA__GPIO1_19                  0x13 0x032
+#define MX1_PAD_ECB__ECB                       0x14 0x000
+#define MX1_PAD_ECB__GPIO1_20                  0x14 0x032
+#define MX1_PAD_A0__A0                         0x15 0x004
+#define MX1_PAD_A0__GPIO1_21                   0x15 0x032
+#define MX1_PAD_CS4__CS4                       0x16 0x004
+#define MX1_PAD_CS4__GPIO1_22                  0x16 0x032
+#define MX1_PAD_CS5__CS5                       0x17 0x004
+#define MX1_PAD_CS5__GPIO1_23                  0x17 0x032
+#define MX1_PAD_A16__A16                       0x18 0x004
+#define MX1_PAD_A16__GPIO1_24                  0x18 0x032
+#define MX1_PAD_A17__A17                       0x19 0x004
+#define MX1_PAD_A17__GPIO1_25                  0x19 0x032
+#define MX1_PAD_A18__A18                       0x1a 0x004
+#define MX1_PAD_A18__GPIO1_26                  0x1a 0x032
+#define MX1_PAD_A19__A19                       0x1b 0x004
+#define MX1_PAD_A19__GPIO1_27                  0x1b 0x032
+#define MX1_PAD_A20__A20                       0x1c 0x004
+#define MX1_PAD_A20__GPIO1_28                  0x1c 0x032
+#define MX1_PAD_A21__A21                       0x1d 0x004
+#define MX1_PAD_A21__GPIO1_29                  0x1d 0x032
+#define MX1_PAD_A22__A22                       0x1e 0x004
+#define MX1_PAD_A22__GPIO1_30                  0x1e 0x032
+#define MX1_PAD_A23__A23                       0x1f 0x004
+#define MX1_PAD_A23__GPIO1_31                  0x1f 0x032
+#define MX1_PAD_SD_DAT0__SD_DAT0               0x28 0x000
+#define MX1_PAD_SD_DAT0__MS_PI0                        0x28 0x001
+#define MX1_PAD_SD_DAT0__GPIO2_8               0x28 0x032
+#define MX1_PAD_SD_DAT1__SD_DAT1               0x29 0x000
+#define MX1_PAD_SD_DAT1__MS_PI1                        0x29 0x001
+#define MX1_PAD_SD_DAT1__GPIO2_9               0x29 0x032
+#define MX1_PAD_SD_DAT2__SD_DAT2               0x2a 0x000
+#define MX1_PAD_SD_DAT2__MS_SCLKI              0x2a 0x001
+#define MX1_PAD_SD_DAT2__GPIO2_10              0x2a 0x032
+#define MX1_PAD_SD_DAT3__SD_DAT3               0x2b 0x000
+#define MX1_PAD_SD_DAT3__MS_SDIO               0x2b 0x001
+#define MX1_PAD_SD_DAT3__GPIO2_11              0x2b 0x032
+#define MX1_PAD_SD_SCLK__SD_SCLK               0x2c 0x004
+#define MX1_PAD_SD_SCLK__MS_SCLKO              0x2c 0x005
+#define MX1_PAD_SD_SCLK__GPIO2_12              0x2c 0x032
+#define MX1_PAD_SD_CMD__SD_CMD                 0x2d 0x000
+#define MX1_PAD_SD_CMD__MS_BS                  0x2d 0x005
+#define MX1_PAD_SD_CMD__GPIO2_13               0x2d 0x032
+#define MX1_PAD_SIM_SVEN__SIM_SVEN             0x2e 0x004
+#define MX1_PAD_SIM_SVEN__SSI_RXFS             0x2e 0x001
+#define MX1_PAD_SIM_SVEN__GPIO2_14             0x2e 0x032
+#define MX1_PAD_SIM_PD__SIM_PD                 0x2f 0x000
+#define MX1_PAD_SIM_PD__SSI_RXCLK              0x2f 0x001
+#define MX1_PAD_SIM_PD__GPIO2_15               0x2f 0x032
+#define MX1_PAD_SIM_TX__SIM_TX                 0x30 0x000
+#define MX1_PAD_SIM_TX__SSI_RXDAT              0x30 0x001
+#define MX1_PAD_SIM_TX__GPIO2_16               0x30 0x032
+#define MX1_PAD_SIM_RX__SIM_RX                 0x31 0x000
+#define MX1_PAD_SIM_RX__SSI_TXDAT              0x31 0x005
+#define MX1_PAD_SIM_RX__GPIO2_17               0x31 0x032
+#define MX1_PAD_SIM_RST__SIM_RST               0x32 0x004
+#define MX1_PAD_SIM_RST__SSI_TXFS              0x32 0x001
+#define MX1_PAD_SIM_RST__GPIO2_18              0x32 0x032
+#define MX1_PAD_SIM_CLK__SIM_CLK               0x33 0x004
+#define MX1_PAD_SIM_CLK__SSI_TXCLK             0x33 0x001
+#define MX1_PAD_SIM_CLK__GPIO2_19              0x33 0x032
+#define MX1_PAD_USBD_AFE__USBD_AFE             0x34 0x004
+#define MX1_PAD_USBD_AFE__GPIO2_20             0x34 0x032
+#define MX1_PAD_USBD_OE__USBD_OE               0x35 0x004
+#define MX1_PAD_USBD_OE__GPIO2_21              0x35 0x032
+#define MX1_PAD_USBD_RCV__USBD_RCV             0x36 0x000
+#define MX1_PAD_USBD_RCV__GPIO2_22             0x36 0x032
+#define MX1_PAD_USBD_SUSPND__USBD_SUSPND       0x37 0x004
+#define MX1_PAD_USBD_SUSPND__GPIO2_23          0x37 0x032
+#define MX1_PAD_USBD_VP__USBD_VP               0x38 0x000
+#define MX1_PAD_USBD_VP__GPIO2_24              0x38 0x032
+#define MX1_PAD_USBD_VM__USBD_VM               0x39 0x000
+#define MX1_PAD_USBD_VM__GPIO2_25              0x39 0x032
+#define MX1_PAD_USBD_VPO__USBD_VPO             0x3a 0x004
+#define MX1_PAD_USBD_VPO__GPIO2_26             0x3a 0x032
+#define MX1_PAD_USBD_VMO__USBD_VMO             0x3b 0x004
+#define MX1_PAD_USBD_VMO__GPIO2_27             0x3b 0x032
+#define MX1_PAD_UART2_CTS__UART2_CTS           0x3c 0x004
+#define MX1_PAD_UART2_CTS__GPIO2_28            0x3c 0x032
+#define MX1_PAD_UART2_RTS__UART2_RTS           0x3d 0x000
+#define MX1_PAD_UART2_RTS__GPIO2_29            0x3d 0x032
+#define MX1_PAD_UART2_TXD__UART2_TXD           0x3e 0x004
+#define MX1_PAD_UART2_TXD__GPIO2_30            0x3e 0x032
+#define MX1_PAD_UART2_RXD__UART2_RXD           0x3f 0x000
+#define MX1_PAD_UART2_RXD__GPIO2_31            0x3f 0x032
+#define MX1_PAD_SSI_RXFS__SSI_RXFS             0x43 0x000
+#define MX1_PAD_SSI_RXFS__GPIO3_3              0x43 0x032
+#define MX1_PAD_SSI_RXCLK__SSI_RXCLK           0x44 0x000
+#define MX1_PAD_SSI_RXCLK__GPIO3_4             0x44 0x032
+#define MX1_PAD_SSI_RXDAT__SSI_RXDAT           0x45 0x000
+#define MX1_PAD_SSI_RXDAT__GPIO3_5             0x45 0x032
+#define MX1_PAD_SSI_TXDAT__SSI_TXDAT           0x46 0x004
+#define MX1_PAD_SSI_TXDAT__GPIO3_6             0x46 0x032
+#define MX1_PAD_SSI_TXFS__SSI_TXFS             0x47 0x000
+#define MX1_PAD_SSI_TXFS__GPIO3_7              0x47 0x032
+#define MX1_PAD_SSI_TXCLK__SSI_TXCLK           0x48 0x000
+#define MX1_PAD_SSI_TXCLK__GPIO3_8             0x48 0x032
+#define MX1_PAD_UART1_CTS__UART1_CTS           0x49 0x004
+#define MX1_PAD_UART1_CTS__GPIO3_9             0x49 0x032
+#define MX1_PAD_UART1_RTS__UART1_RTS           0x4a 0x000
+#define MX1_PAD_UART1_RTS__GPIO3_10            0x4a 0x032
+#define MX1_PAD_UART1_TXD__UART1_TXD           0x4b 0x004
+#define MX1_PAD_UART1_TXD__GPIO3_11            0x4b 0x032
+#define MX1_PAD_UART1_RXD__UART1_RXD           0x4c 0x000
+#define MX1_PAD_UART1_RXD__GPIO3_12            0x4c 0x032
+#define MX1_PAD_SPI1_RDY__SPI1_RDY             0x4d 0x000
+#define MX1_PAD_SPI1_RDY__GPIO3_13             0x4d 0x032
+#define MX1_PAD_SPI1_SCLK__SPI1_SCLK           0x4e 0x004
+#define MX1_PAD_SPI1_SCLK__GPIO3_14            0x4e 0x032
+#define MX1_PAD_SPI1_SS__SPI1_SS               0x4f 0x000
+#define MX1_PAD_SPI1_SS__GPIO3_15              0x4f 0x032
+#define MX1_PAD_SPI1_MISO__SPI1_MISO           0x50 0x000
+#define MX1_PAD_SPI1_MISO__GPIO3_16            0x50 0x032
+#define MX1_PAD_SPI1_MOSI__SPI1_MOSI           0x51 0x004
+#define MX1_PAD_SPI1_MOSI__GPIO3_17            0x51 0x032
+#define MX1_PAD_BT13__BT13                     0x53 0x004
+#define MX1_PAD_BT13__SSI2_RXCLK               0x53 0x001
+#define MX1_PAD_BT13__GPIO3_19                 0x53 0x032
+#define MX1_PAD_BT12__BT12                     0x54 0x004
+#define MX1_PAD_BT12__SSI2_TXFS                        0x54 0x001
+#define MX1_PAD_BT12__GPIO3_20                 0x54 0x032
+#define MX1_PAD_BT11__BT11                     0x55 0x004
+#define MX1_PAD_BT11__SSI2_TXCLK               0x55 0x001
+#define MX1_PAD_BT11__GPIO3_21                 0x55 0x032
+#define MX1_PAD_BT10__BT10                     0x56 0x004
+#define MX1_PAD_BT10__SSI2_TX                  0x56 0x001
+#define MX1_PAD_BT10__GPIO3_22                 0x56 0x032
+#define MX1_PAD_BT9__BT9                       0x57 0x004
+#define MX1_PAD_BT9__SSI2_RX                   0x57 0x001
+#define MX1_PAD_BT9__GPIO3_23                  0x57 0x032
+#define MX1_PAD_BT8__BT8                       0x58 0x004
+#define MX1_PAD_BT8__SSI2_RXFS                 0x58 0x001
+#define MX1_PAD_BT8__GPIO3_24                  0x58 0x032
+#define MX1_PAD_BT8__UART3_RI                  0x58 0x016
+#define MX1_PAD_BT7__BT7                       0x59 0x004
+#define MX1_PAD_BT7__GPIO3_25                  0x59 0x032
+#define MX1_PAD_BT7__UART3_DSR                 0x59 0x016
+#define MX1_PAD_BT6__BT6                       0x5a 0x004
+#define MX1_PAD_BT6__GPIO3_26                  0x5a 0x032
+#define MX1_PAD_BT6__SPI2_SS3                  0x5a 0x016
+#define MX1_PAD_BT6__UART3_DTR                 0x5a 0x022
+#define MX1_PAD_BT5__BT5                       0x5b 0x000
+#define MX1_PAD_BT5__GPIO3_27                  0x5b 0x032
+#define MX1_PAD_BT5__UART3_DCD                 0x5b 0x016
+#define MX1_PAD_BT4__BT4                       0x5c 0x000
+#define MX1_PAD_BT4__GPIO3_28                  0x5c 0x032
+#define MX1_PAD_BT4__UART3_CTS                 0x5c 0x016
+#define MX1_PAD_BT3__BT3                       0x5d 0x000
+#define MX1_PAD_BT3__GPIO3_29                  0x5d 0x032
+#define MX1_PAD_BT3__UART3_RTS                 0x5d 0x022
+#define MX1_PAD_BT2__BT2                       0x5e 0x004
+#define MX1_PAD_BT2__GPIO3_30                  0x5e 0x032
+#define MX1_PAD_BT2__UART3_TX                  0x5e 0x016
+#define MX1_PAD_BT1__BT1                       0x5f 0x000
+#define MX1_PAD_BT1__GPIO3_31                  0x5f 0x032
+#define MX1_PAD_BT1__UART3_RX                  0x5f 0x022
+#define MX1_PAD_LSCLK__LSCLK                   0x66 0x004
+#define MX1_PAD_LSCLK__GPIO4_6                 0x66 0x032
+#define MX1_PAD_REV__REV                       0x67 0x004
+#define MX1_PAD_REV__UART2_DTR                 0x67 0x001
+#define MX1_PAD_REV__GPIO4_7                   0x67 0x032
+#define MX1_PAD_REV__SPI2_CLK                  0x67 0x006
+#define MX1_PAD_CLS__CLS                       0x68 0x004
+#define MX1_PAD_CLS__UART2_DCD                 0x68 0x005
+#define MX1_PAD_CLS__GPIO4_8                   0x68 0x032
+#define MX1_PAD_CLS__SPI2_SS                   0x68 0x002
+#define MX1_PAD_PS__PS                         0x69 0x004
+#define MX1_PAD_PS__UART2_RI                   0x69 0x005
+#define MX1_PAD_PS__GPIO4_9                    0x69 0x032
+#define MX1_PAD_PS__SPI2_RXD                   0x69 0x022
+#define MX1_PAD_SPL_SPR__SPL_SPR               0x6a 0x004
+#define MX1_PAD_SPL_SPR__UART2_DSR             0x6a 0x005
+#define MX1_PAD_SPL_SPR__GPIO4_10              0x6a 0x032
+#define MX1_PAD_SPL_SPR__SPI2_TXD              0x6a 0x006
+#define MX1_PAD_CONTRAST__CONTRAST             0x6b 0x004
+#define MX1_PAD_CONTRAST__GPIO4_11             0x6b 0x032
+#define MX1_PAD_CONTRAST__SPI2_SS2             0x6b 0x012
+#define MX1_PAD_ACD_OE__ACD_OE                 0x6c 0x004
+#define MX1_PAD_ACD_OE__GPIO4_12               0x6c 0x032
+#define MX1_PAD_LP_HSYNC__LP_HSYNC             0x6d 0x004
+#define MX1_PAD_LP_HSYNC__GPIO4_13             0x6d 0x032
+#define MX1_PAD_FLM_VSYNC__FLM_VSYNC           0x6e 0x004
+#define MX1_PAD_FLM_VSYNC__GPIO4_14            0x6e 0x032
+#define MX1_PAD_LD0__LD0                       0x6f 0x004
+#define MX1_PAD_LD0__GPIO4_15                  0x6f 0x032
+#define MX1_PAD_LD1__LD1                       0x70 0x004
+#define MX1_PAD_LD1__GPIO4_16                  0x70 0x032
+#define MX1_PAD_LD2__LD2                       0x71 0x004
+#define MX1_PAD_LD2__GPIO4_17                  0x71 0x032
+#define MX1_PAD_LD3__LD3                       0x72 0x004
+#define MX1_PAD_LD3__GPIO4_18                  0x72 0x032
+#define MX1_PAD_LD4__LD4                       0x73 0x004
+#define MX1_PAD_LD4__GPIO4_19                  0x73 0x032
+#define MX1_PAD_LD5__LD5                       0x74 0x004
+#define MX1_PAD_LD5__GPIO4_20                  0x74 0x032
+#define MX1_PAD_LD6__LD6                       0x75 0x004
+#define MX1_PAD_LD6__GPIO4_21                  0x75 0x032
+#define MX1_PAD_LD7__LD7                       0x76 0x004
+#define MX1_PAD_LD7__GPIO4_22                  0x76 0x032
+#define MX1_PAD_LD8__LD8                       0x77 0x004
+#define MX1_PAD_LD8__GPIO4_23                  0x77 0x032
+#define MX1_PAD_LD9__LD9                       0x78 0x004
+#define MX1_PAD_LD9__GPIO4_24                  0x78 0x032
+#define MX1_PAD_LD10__LD10                     0x79 0x004
+#define MX1_PAD_LD10__GPIO4_25                 0x79 0x032
+#define MX1_PAD_LD11__LD11                     0x7a 0x004
+#define MX1_PAD_LD11__GPIO4_26                 0x7a 0x032
+#define MX1_PAD_LD12__LD12                     0x7b 0x004
+#define MX1_PAD_LD12__GPIO4_27                 0x7b 0x032
+#define MX1_PAD_LD13__LD13                     0x7c 0x004
+#define MX1_PAD_LD13__GPIO4_28                 0x7c 0x032
+#define MX1_PAD_LD14__LD14                     0x7d 0x004
+#define MX1_PAD_LD14__GPIO4_29                 0x7d 0x032
+#define MX1_PAD_LD15__LD15                     0x7e 0x004
+#define MX1_PAD_LD15__GPIO4_30                 0x7e 0x032
+#define MX1_PAD_TMR2OUT__TMR2OUT               0x7f 0x000
+#define MX1_PAD_TMR2OUT__GPIO4_31              0x7f 0x032
+#define MX1_PAD_TMR2OUT__SPI2_TXD              0x7f 0x006
+
+#endif
diff --git a/arch/arm/boot/dts/imx1.dtsi b/arch/arm/boot/dts/imx1.dtsi
new file mode 100644 (file)
index 0000000..22f5d1d
--- /dev/null
@@ -0,0 +1,266 @@
+/*
+ * Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru>
+ *
+ * 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"
+#include "imx1-pinfunc.h"
+
+#include <dt-bindings/clock/imx1-clock.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/ {
+       aliases {
+               gpio0 = &gpio1;
+               gpio1 = &gpio2;
+               gpio2 = &gpio3;
+               gpio3 = &gpio4;
+               i2c0 = &i2c;
+               serial0 = &uart1;
+               serial1 = &uart2;
+               serial2 = &uart3;
+               spi0 = &cspi1;
+               spi1 = &cspi2;
+       };
+
+       aitc: aitc-interrupt-controller@00223000 {
+               compatible = "fsl,imx1-aitc", "fsl,avic";
+               interrupt-controller;
+               #interrupt-cells = <1>;
+               reg = <0x00223000 0x1000>;
+       };
+
+       cpus {
+               #size-cells = <0>;
+               #address-cells = <1>;
+
+               cpu: cpu@0 {
+                       device_type = "cpu";
+                       compatible = "arm,arm920t";
+                       operating-points = <200000 1900000>;
+                       clock-latency = <62500>;
+                       clocks = <&clks IMX1_CLK_MCU>;
+                       voltage-tolerance = <5>;
+               };
+       };
+
+       soc {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "simple-bus";
+               interrupt-parent = <&aitc>;
+               ranges;
+
+               aipi@00200000 {
+                       compatible = "fsl,aipi-bus", "simple-bus";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = <0x00200000 0x10000>;
+                       ranges;
+
+                       gpt1: timer@00202000 {
+                               compatible = "fsl,imx1-gpt";
+                               reg = <0x00202000 0x1000>;
+                               interrupts = <59>;
+                               clocks = <&clks IMX1_CLK_HCLK>,
+                                        <&clks IMX1_CLK_PER1>;
+                               clock-names = "ipg", "per";
+                       };
+
+                       gpt2: timer@00203000 {
+                               compatible = "fsl,imx1-gpt";
+                               reg = <0x00203000 0x1000>;
+                               interrupts = <58>;
+                               clocks = <&clks IMX1_CLK_HCLK>,
+                                        <&clks IMX1_CLK_PER1>;
+                               clock-names = "ipg", "per";
+                       };
+
+                       fb: fb@00205000 {
+                               compatible = "fsl,imx1-fb";
+                               reg = <0x00205000 0x1000>;
+                               interrupts = <14>;
+                               clocks = <&clks IMX1_CLK_DUMMY>,
+                                        <&clks IMX1_CLK_DUMMY>,
+                                        <&clks IMX1_CLK_PER2>;
+                               clock-names = "ipg", "ahb", "per";
+                               status = "disabled";
+                       };
+
+                       uart1: serial@00206000 {
+                               compatible = "fsl,imx1-uart";
+                               reg = <0x00206000 0x1000>;
+                               interrupts = <30 29 26>;
+                               clocks = <&clks IMX1_CLK_HCLK>,
+                                        <&clks IMX1_CLK_PER1>;
+                               clock-names = "ipg", "per";
+                               status = "disabled";
+                       };
+
+                       uart2: serial@00207000 {
+                               compatible = "fsl,imx1-uart";
+                               reg = <0x00207000 0x1000>;
+                               interrupts = <24 23 20>;
+                               clocks = <&clks IMX1_CLK_HCLK>,
+                                        <&clks IMX1_CLK_PER1>;
+                               clock-names = "ipg", "per";
+                               status = "disabled";
+                       };
+
+                       pwm: pwm@00208000 {
+                               #pwm-cells = <2>;
+                               compatible = "fsl,imx1-pwm";
+                               reg = <0x00208000 0x1000>;
+                               interrupts = <34>;
+                               clocks = <&clks IMX1_CLK_DUMMY>,
+                                        <&clks IMX1_CLK_PER1>;
+                               clock-names = "ipg", "per";
+                       };
+
+                       dma: dma@00209000 {
+                               compatible = "fsl,imx1-dma";
+                               reg = <0x00209000 0x1000>;
+                               interrupts = <61 60>;
+                               clocks = <&clks IMX1_CLK_HCLK>,
+                                        <&clks IMX1_CLK_DMA_GATE>;
+                               clock-names = "ipg", "ahb";
+                               #dma-cells = <1>;
+                       };
+
+                       uart3: serial@0020a000 {
+                               compatible = "fsl,imx1-uart";
+                               reg = <0x0020a000 0x1000>;
+                               interrupts = <54 4 1>;
+                               clocks = <&clks IMX1_CLK_UART3_GATE>,
+                                        <&clks IMX1_CLK_PER1>;
+                               clock-names = "ipg", "per";
+                               status = "disabled";
+                       };
+               };
+
+               aipi@00210000 {
+                       compatible = "fsl,aipi-bus", "simple-bus";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = <0x00210000 0x10000>;
+                       ranges;
+
+                       cspi1: cspi@00213000 {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               compatible = "fsl,imx1-cspi";
+                               reg = <0x00213000 0x1000>;
+                               interrupts = <41>;
+                               clocks = <&clks IMX1_CLK_DUMMY>,
+                                        <&clks IMX1_CLK_PER1>;
+                               clock-names = "ipg", "per";
+                               status = "disabled";
+                       };
+
+                       i2c: i2c@00217000 {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               compatible = "fsl,imx1-i2c";
+                               reg = <0x00217000 0x1000>;
+                               interrupts = <39>;
+                               clocks = <&clks IMX1_CLK_HCLK>;
+                               status = "disabled";
+                       };
+
+                       cspi2: cspi@00219000 {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               compatible = "fsl,imx1-cspi";
+                               reg = <0x00219000 0x1000>;
+                               interrupts = <40>;
+                               clocks = <&clks IMX1_CLK_DUMMY>,
+                                        <&clks IMX1_CLK_PER1>;
+                               clock-names = "ipg", "per";
+                               status = "disabled";
+                       };
+
+                       clks: ccm@0021b000 {
+                               compatible = "fsl,imx1-ccm";
+                               reg = <0x0021b000 0x1000>;
+                               #clock-cells = <1>;
+                       };
+
+                       iomuxc: iomuxc@0021c000 {
+                               compatible = "fsl,imx1-iomuxc";
+                               reg = <0x0021c000 0x1000>;
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               ranges;
+
+                               gpio1: gpio@0021c000 {
+                                       compatible = "fsl,imx1-gpio";
+                                       reg = <0x0021c000 0x100>;
+                                       interrupts = <11>;
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                                       interrupt-controller;
+                                       #interrupt-cells = <2>;
+                               };
+
+                               gpio2: gpio@0021c100 {
+                                       compatible = "fsl,imx1-gpio";
+                                       reg = <0x0021c100 0x100>;
+                                       interrupts = <12>;
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                                       interrupt-controller;
+                                       #interrupt-cells = <2>;
+                               };
+
+                               gpio3: gpio@0021c200 {
+                                       compatible = "fsl,imx1-gpio";
+                                       reg = <0x0021c200 0x100>;
+                                       interrupts = <13>;
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                                       interrupt-controller;
+                                       #interrupt-cells = <2>;
+                               };
+
+                               gpio4: gpio@0021c300 {
+                                       compatible = "fsl,imx1-gpio";
+                                       reg = <0x0021c300 0x100>;
+                                       interrupts = <62>;
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                                       interrupt-controller;
+                                       #interrupt-cells = <2>;
+                               };
+                       };
+               };
+
+               weim: weim@00220000 {
+                       #address-cells = <2>;
+                       #size-cells = <1>;
+                       compatible = "fsl,imx1-weim";
+                       reg = <0x00220000 0x1000>;
+                       clocks = <&clks IMX1_CLK_DUMMY>;
+                       ranges = <
+                               0 0 0x10000000 0x02000000
+                               1 0 0x12000000 0x01000000
+                               2 0 0x13000000 0x01000000
+                               3 0 0x14000000 0x01000000
+                               4 0 0x15000000 0x01000000
+                               5 0 0x16000000 0x01000000
+                       >;
+                       status = "disabled";
+               };
+
+               esram: esram@00300000 {
+                       compatible = "mmio-sram";
+                       reg = <0x00300000 0x20000>;
+               };
+       };
+};
index a33f66c11b73edbf3671f02017e7780704c36b05..57e29977ba06c0ed82d60b220e08973d30b3da02 100644 (file)
                                pinctrl-names = "default";
                                pinctrl-0 = <&lcdif_24bit_pins_a>;
                                lcd-supply = <&reg_lcd_3v3>;
-                               display = <&display>;
+                               display = <&display0>;
                                status = "okay";
 
-                               display: display {
+                               display0: display0 {
                                        bits-per-pixel = <32>;
                                        bus-width = <24>;
 
index 9238a95d8e626630e0e8f7a9cd26cdb717ce8ca2..88eebb15da6a9ed45586e2ddfba37e9e28d85336 100644 (file)
 #define MX25_PAD_OE_ACD__GPIO_1_25             0x114 0x30c 0x000 0x15 0x000
 
 #define MX25_PAD_CONTRAST__CONTRAST            0x118 0x310 0x000 0x10 0x000
+#define MX25_PAD_CONTRAST__CC4                 0x118 0x310 0x000 0x11 0x000
 #define MX25_PAD_CONTRAST__PWM4_PWMO           0x118 0x310 0x000 0x14 0x000
 #define MX25_PAD_CONTRAST__FEC_CRS             0x118 0x310 0x508 0x15 0x001
 
 #define MX25_PAD_CSI_D2__CSPI3_MOSI            0x120 0x318 0x000 0x17 0x000
 
 #define MX25_PAD_CSI_D3__CSI_D3                        0x124 0x31c 0x000 0x10 0x000
+#define MX25_PAD_CSI_D3__UART5_TXD_MUX         0x124 0x31c 0x000 0x11 0x000
 #define MX25_PAD_CSI_D3__GPIO_1_28             0x124 0x31c 0x000 0x15 0x000
 #define MX25_PAD_CSI_D3__CSPI3_MISO            0x124 0x31c 0x4b4 0x17 0x001
 
 #define MX25_PAD_CSI_D4__CSPI3_SCLK            0x128 0x320 0x000 0x17 0x000
 
 #define MX25_PAD_CSI_D5__CSI_D5                        0x12c 0x324 0x000 0x10 0x000
+#define MX25_PAD_CSI_D5__UART5_CTS             0x12c 0x324 0x000 0x11 0x001
 #define MX25_PAD_CSI_D5__GPIO_1_30             0x12c 0x324 0x000 0x15 0x000
 #define MX25_PAD_CSI_D5__CSPI3_RDY             0x12c 0x324 0x000 0x17 0x000
 
 #define MX25_PAD_CSI_D6__CSI_D6                        0x130 0x328 0x000 0x10 0x000
+#define MX25_PAD_CSI_D6__SDHC2_CMD             0x130 0x328 0x4e0 0x12 0x001
 #define MX25_PAD_CSI_D6__GPIO_1_31             0x130 0x328 0x000 0x15 0x000
 
 #define MX25_PAD_CSI_D7__CSI_D7                        0x134 0x32c 0x000 0x10 0x000
+#define MX25_PAD_CSI_D7__SDHC2_DAT_CLK         0x134 0x32C 0x4dc 0x12 0x001
 #define MX25_PAD_CSI_D7__GPIO_1_6              0x134 0x32c 0x000 0x15 0x000
 
 #define MX25_PAD_CSI_D8__CSI_D8                        0x138 0x330 0x000 0x10 0x000
+#define MX25_PAD_CSI_D8__AUD6_RXC              0x138 0x330 0x000 0x12 0x001
 #define MX25_PAD_CSI_D8__GPIO_1_7              0x138 0x330 0x000 0x15 0x000
+#define MX25_PAD_CSI_D8__CSPI3_SS2             0x138 0x330 0x4c4 0x17 0x000
 
 #define MX25_PAD_CSI_D9__CSI_D9                        0x13c 0x334 0x000 0x10 0x000
+#define MX25_PAD_CSI_D9__AUD6_RXFS             0x13c 0x334 0x000 0x12 0x001
 #define MX25_PAD_CSI_D9__GPIO_4_21             0x13c 0x334 0x000 0x15 0x000
+#define MX25_PAD_CSI_D9__CSPI3_SS3             0x13c 0x334 0x4c8 0x17 0x000
 
 #define MX25_PAD_CSI_MCLK__CSI_MCLK            0x140 0x338 0x000 0x10 0x000
+#define MX25_PAD_CSI_MCLK__AUD6_TXD            0x140 0x338 0x000 0x11 0x001
+#define MX25_PAD_CSI_MCLK__SDHC2_DAT0          0x140 0x338 0x4e4 0x12 0x001
 #define MX25_PAD_CSI_MCLK__GPIO_1_8            0x140 0x338 0x000 0x15 0x000
 
 #define MX25_PAD_CSI_VSYNC__CSI_VSYNC          0x144 0x33c 0x000 0x10 0x000
+#define MX25_PAD_CSI_VSYNC__AUD6_RXD           0x144 0x33c 0x000 0x11 0x001
+#define MX25_PAD_CSI_VSYNC__SDHC2_DAT1         0x144 0x33c 0x4e8 0x12 0x001
 #define MX25_PAD_CSI_VSYNC__GPIO_1_9           0x144 0x33c 0x000 0x15 0x000
 
 #define MX25_PAD_CSI_HSYNC__CSI_HSYNC          0x148 0x340 0x000 0x10 0x000
+#define MX25_PAD_CSI_HSYNC__AUD6_TXC           0x148 0x340 0x000 0x11 0x001
+#define MX25_PAD_CSI_HSYNC__SDHC2_DAT2         0x148 0x340 0x4ec 0x12 0x001
 #define MX25_PAD_CSI_HSYNC__GPIO_1_10          0x148 0x340 0x000 0x15 0x000
 
 #define MX25_PAD_CSI_PIXCLK__CSI_PIXCLK                0x14c 0x344 0x000 0x10 0x000
+#define MX25_PAD_CSI_PIXCLK__AUD6_TXFS         0x14c 0x344 0x000 0x11 0x001
+#define MX25_PAD_CSI_PIXCLK__SDHC2_DAT3                0x14c 0x344 0x4f0 0x12 0x001
 #define MX25_PAD_CSI_PIXCLK__GPIO_1_11         0x14c 0x344 0x000 0x15 0x000
 
 #define MX25_PAD_I2C1_CLK__I2C1_CLK            0x150 0x348 0x000 0x10 0x000
 #define MX25_PAD_I2C1_DAT__GPIO_1_13           0x154 0x34c 0x000 0x15 0x000
 
 #define MX25_PAD_CSPI1_MOSI__CSPI1_MOSI                0x158 0x350 0x000 0x10 0x000
+#define MX25_PAD_CSPI1_MOSI__UART3_RXD         0x158 0x350 0x000 0x12 0x000
 #define MX25_PAD_CSPI1_MOSI__GPIO_1_14         0x158 0x350 0x000 0x15 0x000
 
 #define MX25_PAD_CSPI1_MISO__CSPI1_MISO                0x15c 0x354 0x000 0x10 0x000
+#define MX25_PAD_CSPI1_MISO__UART3_TXD         0x15c 0x354 0x000 0x12 0x000
 #define MX25_PAD_CSPI1_MISO__GPIO_1_15         0x15c 0x354 0x000 0x15 0x000
 
 #define MX25_PAD_CSPI1_SS0__CSPI1_SS0          0x160 0x358 0x000 0x10 0x000
+#define MX25_PAD_CSPI1_SS0__PWM2_PWMO          0x160 0x358 0x000 0x12 0x000
 #define MX25_PAD_CSPI1_SS0__GPIO_1_16          0x160 0x358 0x000 0x15 0x000
 
 #define MX25_PAD_CSPI1_SS1__CSPI1_SS1          0x164 0x35c 0x000 0x10 0x000
+#define MX25_PAD_CSPI1_SS1__I2C3_DAT           0x164 0x35C 0x528 0x11 0x001
+#define MX25_PAD_CSPI1_SS1__UART3_RTS          0x164 0x35c 0x000 0x12 0x000
 #define MX25_PAD_CSPI1_SS1__GPIO_1_17          0x164 0x35c 0x000 0x15 0x000
 
 #define MX25_PAD_CSPI1_SCLK__CSPI1_SCLK                0x168 0x360 0x000 0x10 0x000
+#define MX25_PAD_CSPI1_SCLK__UART3_CTS         0x168 0x360 0x000 0x12 0x000
 #define MX25_PAD_CSPI1_SCLK__GPIO_1_18         0x168 0x360 0x000 0x15 0x000
 
 #define MX25_PAD_CSPI1_RDY__CSPI1_RDY          0x16c 0x364 0x000 0x10 0x000
 
 #define MX25_PAD_UART1_RTS__UART1_RTS          0x178 0x370 0x000 0x10 0x000
 #define MX25_PAD_UART1_RTS__CSI_D0             0x178 0x370 0x488 0x11 0x001
+#define MX25_PAD_UART1_RTS__CC3                        0x178 0x370 0x000 0x12 0x000
 #define MX25_PAD_UART1_RTS__GPIO_4_24          0x178 0x370 0x000 0x15 0x000
 
 #define MX25_PAD_UART1_CTS__UART1_CTS          0x17c 0x374 0x000 0x10 0x000
 
 #define MX25_PAD_UART2_RTS__UART2_RTS          0x188 0x380 0x000 0x10 0x000
 #define MX25_PAD_UART2_RTS__FEC_COL            0x188 0x380 0x504 0x12 0x002
+#define MX25_PAD_UART2_RTS__CC1                        0x188 0x380 0x000 0x13 0x000
 #define MX25_PAD_UART2_RTS__GPIO_4_28          0x188 0x380 0x000 0x15 0x000
 
 #define MX25_PAD_UART2_CTS__FEC_RX_ER          0x18c 0x384 0x518 0x12 0x002
 #define MX25_PAD_UART2_CTS__GPIO_4_29          0x18c 0x384 0x000 0x15 0x000
 
 #define MX25_PAD_SD1_CMD__SD1_CMD              0x190 0x388 0x000 0x10 0x000
+#define MX25_PAD_SD1_CMD__CSPI2_MOSI           0x190 0x388 0x4a0 0x11 0x001
 #define MX25_PAD_SD1_CMD__FEC_RDATA2           0x190 0x388 0x50c 0x12 0x002
 #define MX25_PAD_SD1_CMD__GPIO_2_23            0x190 0x388 0x000 0x15 0x000
 
 #define MX25_PAD_SD1_CLK__SD1_CLK              0x194 0x38c 0x000 0x10 0x000
+#define MX25_PAD_SD1_CLK__CSPI2_MISO           0x194 0x38c 0x49c 0x11 0x001
 #define MX25_PAD_SD1_CLK__FEC_RDATA3           0x194 0x38c 0x510 0x12 0x002
 #define MX25_PAD_SD1_CLK__GPIO_2_24            0x194 0x38c 0x000 0x15 0x000
 
 #define MX25_PAD_SD1_DATA0__SD1_DATA0          0x198 0x390 0x000 0x10 0x000
+#define MX25_PAD_SD1_DATA0__CSPI2_SCLK         0x198 0x390 0x494 0x11 0x001
 #define MX25_PAD_SD1_DATA0__GPIO_2_25          0x198 0x390 0x000 0x15 0x000
 
 #define MX25_PAD_SD1_DATA1__SD1_DATA1          0x19c 0x394 0x000 0x10 0x000
 #define MX25_PAD_GPIO_C__CAN2_TX               0x1fc 0x3f8 0x000 0x16 0x000
 
 #define MX25_PAD_GPIO_D__GPIO_D                        0x200 0x3fc 0x000 0x10 0x000
-#define MX25_PAD_GPIO_E__LD16                  0x204 0x400 0x000 0x02 0x000
 #define MX25_PAD_GPIO_D__CAN2_RX               0x200 0x3fc 0x484 0x16 0x001
 
 #define MX25_PAD_GPIO_E__GPIO_E                        0x204 0x400 0x000 0x10 0x000
-#define MX25_PAD_GPIO_F__LD17                  0x208 0x404 0x000 0x02 0x000
+#define MX25_PAD_GPIO_E__I2C3_CLK              0x204 0x400 0x524 0x11 0x002
+#define MX25_PAD_GPIO_E__LD16                  0x204 0x400 0x000 0x12 0x000
 #define MX25_PAD_GPIO_E__AUD7_TXD              0x204 0x400 0x000 0x14 0x000
 
 #define MX25_PAD_GPIO_F__GPIO_F                        0x208 0x404 0x000 0x10 0x000
+#define MX25_PAD_GPIO_F__LD17                  0x208 0x404 0x000 0x12 0x000
 #define MX25_PAD_GPIO_F__AUD7_TXC              0x208 0x404 0x000 0x14 0x000
 
 #define MX25_PAD_EXT_ARMCLK__EXT_ARMCLK                0x20c 0x000 0x000 0x10 0x000
index c1740396b2c95ef8f0860ae5c4ce5c829a22ecab..58d3c3cf2923f5ffae5e1657140fc7b94f4090c1 100644 (file)
                        };
 
                        ssi2: ssi@50014000 {
+                               #sound-dai-cells = <0>;
                                compatible = "fsl,imx25-ssi", "fsl,imx21-ssi";
                                reg = <0x50014000 0x4000>;
                                interrupts = <11>;
                        };
 
                        ssi1: ssi@50034000 {
+                               #sound-dai-cells = <0>;
                                compatible = "fsl,imx25-ssi", "fsl,imx21-ssi";
                                reg = <0x50034000 0x4000>;
                                interrupts = <12>;
                        };
 
                        sdma: sdma@53fd4000 {
-                               compatible = "fsl,imx25-sdma", "fsl,imx35-sdma";
+                               compatible = "fsl,imx25-sdma";
                                reg = <0x53fd4000 0x4000>;
                                clocks = <&clks 112>, <&clks 68>;
                                clock-names = "ipg", "ahb";
index 2b6d489dae69f750280d5ea8ce04de1c489b78bf..da306c5dd6782862e67d1470c0e5ddcbc4a7dfd0 100644 (file)
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_cspi1 &pinctrl_cspi1_cs>;
        status = "okay";
+
+       adc@0 {
+               compatible = "maxim,max1027";
+               reg = <0>;
+               interrupt-parent = <&gpio5>;
+               interrupts = <15 IRQ_TYPE_EDGE_FALLING>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_max1027>;
+               spi-max-frequency = <10000000>;
+       };
 };
 
 &cspi2 {
                        >;
                };
 
+               pinctrl_max1027: max1027 {
+                        fsl,pins = <
+                                MX27_PAD_UART1_CTS__GPIO5_14 0x0 /* CNVST */
+                                MX27_PAD_UART1_RTS__GPIO5_15 0x0 /* EOC */
+                       >;
+               };
+
                pinctrl_pwm: pwmgrp {
                        fsl,pins = <
                                MX27_PAD_PWMO__PWMO 0x0
index 221cac4fb2cdd94b1d634f76688989c136daf346..1f38a052ad4b0d8767b712994d3c97ca110ca8ff 100644 (file)
                                pinctrl-names = "default";
                                pinctrl-0 = <&lcdif_16bit_pins_a
                                                &lcdif_pins_apf28dev>;
-                               display = <&display>;
+                               display = <&display0>;
                                status = "okay";
 
-                               display: display {
+                               display0: display0 {
                                        bits-per-pixel = <16>;
                                        bus-width = <16>;
 
index e1ce9179db63b612839a85d35b5122fd3fd4dd59..1092b761d7acc9bd06b0b0b5b333b94e04bf7280 100644 (file)
                                pinctrl-names = "default";
                                pinctrl-0 = <&lcdif_24bit_pins_a
                                             &lcdif_pins_apx4>;
-                               display = <&display>;
+                               display = <&display0>;
                                status = "okay";
 
-                               display: display {
+                               display0: display0 {
                                        bits-per-pixel = <32>;
                                        bus-width = <24>;
 
index 7d51459de5e82038d391ce03c115410787815482..ef944b6d4f012326f382c75e10fa6bfbdf743253 100644 (file)
                                pinctrl-0 = <&lcdif_18bit_pins_cfa10049
                                             &lcdif_pins_cfa10049
                                             &lcdif_pins_cfa10049_pullup>;
-                               display = <&display>;
+                               display = <&display0>;
                                status = "okay";
 
-                               display: display {
+                               display0: display0 {
                                        bits-per-pixel = <32>;
                                        bus-width = <18>;
 
index c3900e7ba3318e3d8f191b49edc35597824ae91d..6a34114bec294b7c3f57a48024f3ca3d71cc37ab 100644 (file)
                                pinctrl-0 = <&lcdif_18bit_pins_cfa10055
                                             &lcdif_pins_cfa10055
                                             &lcdif_pins_cfa10055_pullup>;
-                               display = <&display>;
+                               display = <&display0>;
                                status = "okay";
 
-                               display: display {
+                               display0: display0 {
                                        bits-per-pixel = <32>;
                                        bus-width = <18>;
 
index cef959a97219b8e14bca15b01c96d6e93cf1730a..ba6495ca44d246ccdd10e7801e5f99e3a2c396b0 100644 (file)
                                pinctrl-0 = <&lcdif_24bit_pins_a
                                                &lcdif_pins_cfa10056
                                                &lcdif_pins_cfa10056_pullup >;
-                               display = <&display>;
+                               display = <&display0>;
                                status = "okay";
 
-                               display: display {
+                               display0: display0 {
                                        bits-per-pixel = <32>;
                                        bus-width = <24>;
 
index c4e00ce4b6daf19b2cdb0ead0c299899b154a1dd..5df0b24eaf59e857cefe09b7c19e2975b0f6ad4a 100644 (file)
                                pinctrl-names = "default";
                                pinctrl-0 = <&lcdif_18bit_pins_cfa10057
                                             &lcdif_pins_cfa10057>;
-                               display = <&display>;
+                               display = <&display0>;
                                status = "okay";
 
-                               display: display {
+                               display0: display0 {
                                        bits-per-pixel = <32>;
                                        bus-width = <18>;
 
index 7c9cc783f0d1a4c93d4385aabaab508c786dc465..f5c6dce34abece85594ce4674af9618d5c879157 100644 (file)
                                pinctrl-names = "default";
                                pinctrl-0 = <&lcdif_24bit_pins_a
                                                 &lcdif_pins_cfa10058>;
-                               display = <&display>;
+                               display = <&display0>;
                                status = "okay";
 
-                               display: display {
+                               display0: display0 {
                                        bits-per-pixel = <32>;
                                        bus-width = <24>;
 
index e4cc44c98585f415744e30a41fd4d066797043a3..09664fcf5afb047c0923fa5e5fe7c343e0f2171e 100644 (file)
                                pinctrl-0 = <&lcdif_24bit_pins_a
                                             &lcdif_pins_evk>;
                                lcd-supply = <&reg_lcd_3v3>;
-                               display = <&display>;
+                               display = <&display0>;
                                status = "okay";
 
-                               display: display {
+                               display0: display0 {
                                        bits-per-pixel = <32>;
                                        bus-width = <24>;
 
index 9348ce59dda47c947ca1df5442b05f0f849dc90c..2df63bee6f4e1a5df65a00fd9620951dac3e9e5e 100644 (file)
                                pinctrl-names = "default";
                                pinctrl-0 = <&lcdif_24bit_pins_a
                                             &lcdif_pins_m28>;
-                               display = <&display>;
+                               display = <&display0>;
                                status = "okay";
 
-                               display: display0 {
+                               display0: display0 {
                                        bits-per-pixel = <32>;
                                        bus-width = <24>;
 
index b3c09ae3b92850ffe5a2c73259f06ca48d93bffc..e35cc6ba3ca6ac660267b979ccf8ef939b2f1ff4 100644 (file)
                                pinctrl-names = "default";
                                pinctrl-0 = <&lcdif_24bit_pins_a
                                             &lcdif_pins_m28>;
-                               display = <&display>;
+                               display = <&display0>;
                                status = "okay";
 
-                               display: display {
+                               display0: display0 {
                                        bits-per-pixel = <16>;
                                        bus-width = <18>;
 
index e14bd86f3e9999a50e0f60a7b443ed2b06ecbd07..a5b27c85a91c8b14464feabd30d2af7ec03b9d8c 100644 (file)
        aliases {
                can0 = &can0;
                can1 = &can1;
-               display = &display;
+               display = &display0;
                ds1339 = &ds1339;
                gpio5 = &gpio5;
                lcdif = &lcdif;
                lcdif_23bit_pins = &tx28_lcdif_23bit_pins;
                lcdif_24bit_pins = &lcdif_24bit_pins_a;
+               reg_can_xcvr = &reg_can_xcvr;
+               spi_gpio = &spi_gpio;
+               spi_mxs = &ssp3;
                stk5led = &user_led;
                usbotg = &usb0;
        };
@@ -37,7 +40,7 @@
 
        onewire {
                compatible = "w1-gpio";
-               gpios = <&gpio2 7 0>;
+               gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
                status = "disabled";
        };
 
@@ -52,7 +55,7 @@
                        regulator-name = "usb0_vbus";
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
-                       gpio = <&gpio0 18 0>;
+                       gpio = <&gpio0 18 GPIO_ACTIVE_HIGH>;
                        enable-active-high;
                };
 
@@ -62,7 +65,7 @@
                        regulator-name = "usb1_vbus";
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
-                       gpio = <&gpio3 27 0>;
+                       gpio = <&gpio3 27 GPIO_ACTIVE_HIGH>;
                        enable-active-high;
                };
 
@@ -90,7 +93,7 @@
                        regulator-name = "CAN XCVR";
                        regulator-min-microvolt = <3300000>;
                        regulator-max-microvolt = <3300000>;
-                       gpio = <&gpio1 0 0>;
+                       gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&tx28_flexcan_xcvr_pins>;
                };
                        regulator-name = "LCD POWER";
                        regulator-min-microvolt = <3300000>;
                        regulator-max-microvolt = <3300000>;
-                       gpio = <&gpio1 31 0>;
+                       gpio = <&gpio1 31 GPIO_ACTIVE_HIGH>;
                        enable-active-high;
                };
 
                        regulator-name = "LCD RESET";
                        regulator-min-microvolt = <3300000>;
                        regulator-max-microvolt = <3300000>;
-                       gpio = <&gpio3 30 0>;
+                       gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
                        startup-delay-us = <300000>;
                        enable-active-high;
                        regulator-always-on;
 
                user_led: user {
                        label = "Heartbeat";
-                       gpios = <&gpio4 10 0>;
+                       gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>;
                        linux,default-trigger = "heartbeat";
                };
        };
        matrix_keypad: matrix-keypad@0 {
                compatible = "gpio-matrix-keypad";
                col-gpios = <
-                       &gpio5 0 0
-                       &gpio5 1 0
-                       &gpio5 2 0
-                       &gpio5 3 0
+                       &gpio5 0 GPIO_ACTIVE_HIGH
+                       &gpio5 1 GPIO_ACTIVE_HIGH
+                       &gpio5 2 GPIO_ACTIVE_HIGH
+                       &gpio5 3 GPIO_ACTIVE_HIGH
                >;
                row-gpios = <
-                       &gpio5 4 0
-                       &gpio5 5 0
-                       &gpio5 6 0
-                       &gpio5 7 0
+                       &gpio5 4 GPIO_ACTIVE_HIGH
+                       &gpio5 5 GPIO_ACTIVE_HIGH
+                       &gpio5 6 GPIO_ACTIVE_HIGH
+                       &gpio5 7 GPIO_ACTIVE_HIGH
                >;
                /* sample keymap */
                linux,keymap = <
                col-scan-delay-us = <5000>;
                linux,no-autorepeat;
        };
+
+       spi_gpio: spi-gpio {
+               compatible = "spi-gpio";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&tx28_spi_gpio_pins>;
+
+               gpio-sck = <&gpio2 24 GPIO_ACTIVE_HIGH>;
+               gpio-mosi = <&gpio2 25 GPIO_ACTIVE_HIGH>;
+               gpio-miso = <&gpio2 26 GPIO_ACTIVE_HIGH>;
+               num-chipselects = <3>;
+               cs-gpios = <
+                       &gpio2 27 GPIO_ACTIVE_LOW
+                       &gpio3 8 GPIO_ACTIVE_LOW
+                       &gpio3 9 GPIO_ACTIVE_LOW
+               >;
+               /* enable this and disable ssp3 below, if you need full duplex SPI transfer */
+               status = "disabled";
+
+               spi@0 {
+                       compatible = "spidev";
+                       reg = <0>;
+                       spi-max-frequency = <57600000>;
+               };
+
+               spi@1 {
+                       compatible = "spidev";
+                       reg = <1>;
+                       spi-max-frequency = <57600000>;
+               };
+
+               spi@2 {
+                       compatible = "spidev";
+                       reg = <2>;
+                       spi-max-frequency = <57600000>;
+               };
+       };
 };
 
 /* 2nd TX-Std UART - (A)UART1  */
                pinctrl-0 = <&tx28_edt_ft5x06_pins>;
                interrupt-parent = <&gpio2>;
                interrupts = <5 0>;
-               reset-gpios = <&gpio2 6 1>;
-               wake-gpios = <&gpio4 9 0>;
+               reset-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>;
+               wake-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>;
        };
 
        touchscreen: tsc2007@48 {
                pinctrl-0 = <&tx28_tsc2007_pins>;
                interrupt-parent = <&gpio3>;
                interrupts = <20 0>;
-               pendown-gpio = <&gpio3 20 1>;
+               pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>;
                ti,x-plate-ohms = /bits/ 16 <660>;
        };
 
        pinctrl-names = "default";
        pinctrl-0 = <&lcdif_24bit_pins_a &lcdif_sync_pins_a &tx28_lcdif_ctrl_pins>;
        lcd-supply = <&reg_lcd>;
-       display = <&display>;
+       display = <&display0>;
        status = "okay";
 
-       display: display@0 {
+       display0: display0 {
                bits-per-pixel = <32>;
                bus-width = <24>;
                display-timings {
                fsl,pull-up = <MXS_PULL_DISABLE>;
        };
 
+       tx28_spi_gpio_pins: spi-gpiogrp {
+               fsl,pinmux-ids = <
+                       MX28_PAD_AUART2_RX__GPIO_3_8
+                       MX28_PAD_AUART2_TX__GPIO_3_9
+                       MX28_PAD_SSP3_SCK__GPIO_2_24
+                       MX28_PAD_SSP3_MOSI__GPIO_2_25
+                       MX28_PAD_SSP3_MISO__GPIO_2_26
+                       MX28_PAD_SSP3_SS0__GPIO_2_27
+               >;
+               fsl,drive-strength = <MXS_DRIVE_8mA>;
+               fsl,voltage = <MXS_VOLTAGE_HIGH>;
+               fsl,pull-up = <MXS_PULL_DISABLE>;
+       };
+
        tx28_tsc2007_pins: tx28-tsc2007-pins {
                fsl,pinmux-ids = <
                        MX28_PAD_SAIF0_MCLK__GPIO_3_20 /* TSC2007 IRQ */
        clock-frequency = <57600000>;
        status = "okay";
 
-       spidev0: spi@0 {
+       spi@0 {
                compatible = "spidev";
                reg = <0>;
                spi-max-frequency = <57600000>;
        };
 
-       spidev1: spi@1 {
+       spi@1 {
                compatible = "spidev";
                reg = <1>;
                spi-max-frequency = <57600000>;
        };
+
+       spi@2 {
+               compatible = "spidev";
+               reg = <2>;
+               spi-max-frequency = <57600000>;
+       };
 };
 
 &usb0 {
index a95cc5358ff460cc688d97535bccc8722c9f0358..47f68ac868d4b6ab20751d5d2d457a31f10a7ef6 100644 (file)
                                        fsl,pull-up = <MXS_PULL_DISABLE>;
                                };
 
+                               mmc1_4bit_pins_a: mmc1-4bit@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
+                                               MX28_PAD_GPMI_D00__SSP1_D0
+                                               MX28_PAD_GPMI_D01__SSP1_D1
+                                               MX28_PAD_GPMI_D02__SSP1_D2
+                                               MX28_PAD_GPMI_D03__SSP1_D3
+                                               MX28_PAD_GPMI_RDY1__SSP1_CMD
+                                               MX28_PAD_GPMI_RDY0__SSP1_CARD_DETECT
+                                               MX28_PAD_GPMI_WRN__SSP1_SCK
+                                       >;
+                                       fsl,drive-strength = <MXS_DRIVE_8mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_ENABLE>;
+                               };
+
+                               mmc1_cd_cfg: mmc1-cd-cfg {
+                                       fsl,pinmux-ids = <
+                                               MX28_PAD_GPMI_RDY0__SSP1_CARD_DETECT
+                                       >;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
+                               };
+
+                               mmc1_sck_cfg: mmc1-sck-cfg {
+                                       fsl,pinmux-ids = <
+                                               MX28_PAD_GPMI_WRN__SSP1_SCK
+                                       >;
+                                       fsl,drive-strength = <MXS_DRIVE_12mA>;
+                                       fsl,pull-up = <MXS_PULL_DISABLE>;
+                               };
+
+
                                mmc2_4bit_pins_a: mmc2-4bit@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
                                        fsl,pull-up = <MXS_PULL_ENABLE>;
                                };
 
+                               i2c1_pins_b: i2c1@1 {
+                                       reg = <1>;
+                                       fsl,pinmux-ids = <
+                                               MX28_PAD_AUART2_CTS__I2C1_SCL
+                                               MX28_PAD_AUART2_RTS__I2C1_SDA
+                                       >;
+                                       fsl,drive-strength = <MXS_DRIVE_8mA>;
+                                       fsl,voltage = <MXS_VOLTAGE_HIGH>;
+                                       fsl,pull-up = <MXS_PULL_ENABLE>;
+                               };
+
                                saif0_pins_a: saif0@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
index 442e216ca9d96ef5b8b81fc85bd3a45f723c35e0..6932928f3b45c99cc4d807edacf9475e55650056 100644 (file)
                        };
 
                        ssi1: ssi@43fa0000 {
+                               #sound-dai-cells = <0>;
                                compatible = "fsl,imx35-ssi", "fsl,imx21-ssi";
                                reg = <0x43fa0000 0x4000>;
                                interrupts = <11>;
index c0e0f60ab6b22b4f5c80c77594eb908ca547298d..620b0f030591209f26dc0ad19af226b9a8310ed8 100644 (file)
                                };
 
                                ssi2: ssi@50014000 {
+                                       #sound-dai-cells = <0>;
                                        compatible = "fsl,imx50-ssi",
                                                        "fsl,imx51-ssi",
                                                        "fsl,imx21-ssi";
                        };
 
                        ssi1: ssi@63fcc000 {
+                               #sound-dai-cells = <0>;
                                compatible = "fsl,imx50-ssi", "fsl,imx51-ssi",
                                                        "fsl,imx21-ssi";
                                reg = <0x63fcc000 0x4000>;
index 17c05a6fa77688930e730f40d35a5e777325f1b9..92660e1fe1fc416669ac0ce7e821e0e849e4e80e 100644 (file)
                                };
 
                                ssi2: ssi@70014000 {
+                                       #sound-dai-cells = <0>;
                                        compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
                                        reg = <0x70014000 0x4000>;
                                        interrupts = <30>;
                        };
 
                        ssi1: ssi@83fcc000 {
+                               #sound-dai-cells = <0>;
                                compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
                                reg = <0x83fcc000 0x4000>;
                                interrupts = <29>;
                        };
 
                        ssi3: ssi@83fe8000 {
+                               #sound-dai-cells = <0>;
                                compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
                                reg = <0x83fe8000 0x4000>;
                                interrupts = <96>;
index 5ec1590ff7bcc328540b0c92609c26a75cccc52b..1d325576bcc04d4a119d96f7c85612f2f4bd62a2 100644 (file)
        };
 
        pmic: dialog@48 {
-               compatible = "dialog,da9053", "dialog,da9052";
+               compatible = "dlg,da9053", "dlg,da9052";
                reg = <0x48>;
        };
 };
index 6b675a02066fbe6fb5575d6260a8a891847748d9..f91725b2e8ab4f76b3583ab786bca65a64c9e9c8 100644 (file)
                                };
 
                                ssi2: ssi@50014000 {
+                                       #sound-dai-cells = <0>;
                                        compatible = "fsl,imx53-ssi",
                                                        "fsl,imx51-ssi",
                                                        "fsl,imx21-ssi";
                        };
 
                        ssi1: ssi@63fcc000 {
+                               #sound-dai-cells = <0>;
                                compatible = "fsl,imx53-ssi", "fsl,imx51-ssi",
                                                "fsl,imx21-ssi";
                                reg = <0x63fcc000 0x4000>;
                        };
 
                        ssi3: ssi@63fe8000 {
+                               #sound-dai-cells = <0>;
                                compatible = "fsl,imx53-ssi", "fsl,imx51-ssi",
                                                "fsl,imx21-ssi";
                                reg = <0x63fe8000 0x4000>;
                        reg = <0xf8000000 0x20000>;
                        clocks = <&clks IMX5_CLK_OCRAM>;
                };
+
+               pmu {
+                       compatible = "arm,cortex-a8-pmu";
+                       interrupts = <77>;
+               };
        };
 };
diff --git a/arch/arm/boot/dts/imx6dl-gw552x.dts b/arch/arm/boot/dts/imx6dl-gw552x.dts
new file mode 100644 (file)
index 0000000..a4b700c
--- /dev/null
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2014 Gateworks Corporation
+ *
+ * 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 "imx6dl.dtsi"
+#include "imx6qdl-gw552x.dtsi"
+
+/ {
+       model = "Gateworks Ventana i.MX6 DualLite/Solo GW552X";
+       compatible = "gw,imx6dl-gw552x", "gw,ventana", "fsl,imx6dl";
+};
index 71598546087f366c19baf0faf55b63ceee1ae3ec..44a0e6736bb1217369b3c45e32ad4dbb007cea03 100644 (file)
 /*
- * Copyright (C) 2013,2014 Russell King
+ * Copyright (C) 2014 Rabeeh Khoury (rabeeh@solid-run.com)
+ * Based on dt work by Russell King
  */
 /dts-v1/;
 
 #include "imx6dl.dtsi"
-#include "imx6qdl-microsom.dtsi"
-#include "imx6qdl-microsom-ar8035.dtsi"
+#include "imx6qdl-hummingboard.dtsi"
 
 / {
-       model = "SolidRun HummingBoard DL/Solo";
-       compatible = "solidrun,hummingboard", "fsl,imx6dl";
-
-       chosen {
-               stdout-path = &uart1;
-       };
-
-       ir_recv: ir-receiver {
-               compatible = "gpio-ir-receiver";
-               gpios = <&gpio1 2 1>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_hummingboard_gpio1_2>;
-       };
-
-       regulators {
-               compatible = "simple-bus";
-
-               reg_3p3v: 3p3v {
-                       compatible = "regulator-fixed";
-                       regulator-name = "3P3V";
-                       regulator-min-microvolt = <3300000>;
-                       regulator-max-microvolt = <3300000>;
-                       regulator-always-on;
-               };
-
-               reg_usbh1_vbus: usb-h1-vbus {
-                       compatible = "regulator-fixed";
-                       enable-active-high;
-                       gpio = <&gpio1 0 0>;
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&pinctrl_hummingboard_usbh1_vbus>;
-                       regulator-name = "usb_h1_vbus";
-                       regulator-min-microvolt = <5000000>;
-                       regulator-max-microvolt = <5000000>;
-               };
-
-               reg_usbotg_vbus: usb-otg-vbus {
-                       compatible = "regulator-fixed";
-                       enable-active-high;
-                       gpio = <&gpio3 22 0>;
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&pinctrl_hummingboard_usbotg_vbus>;
-                       regulator-name = "usb_otg_vbus";
-                       regulator-min-microvolt = <5000000>;
-                       regulator-max-microvolt = <5000000>;
-               };
-       };
-
-       sound-spdif {
-               compatible = "fsl,imx-audio-spdif";
-               model = "On-board SPDIF";
-               /* IMX6 doesn't implement this yet */
-               spdif-controller = <&spdif>;
-               spdif-out;
-       };
-};
-
-&can1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_hummingboard_flexcan1>;
-       status = "okay";
-};
-
-&hdmi {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_hummingboard_hdmi>;
-       ddc-i2c-bus = <&i2c2>;
-       status = "okay";
-};
-
-&i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_hummingboard_i2c1>;
-
-       /*
-        * Not fitted on Carrier-1 board... yet
-       status = "okay";
-
-       rtc: pcf8523@68 {
-               compatible = "nxp,pcf8523";
-               reg = <0x68>;
-       };
-        */
-};
-
-&i2c2 {
-       clock-frequency = <100000>;
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_hummingboard_i2c2>;
-       status = "okay";
-};
-
-&iomuxc {
-       hummingboard {
-               pinctrl_hummingboard_flexcan1: hummingboard-flexcan1 {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD3_CLK__FLEXCAN1_RX 0x80000000
-                               MX6QDL_PAD_SD3_CMD__FLEXCAN1_TX 0x80000000
-                       >;
-               };
-
-               pinctrl_hummingboard_gpio1_2: hummingboard-gpio1_2 {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000
-                       >;
-               };
-
-               pinctrl_hummingboard_hdmi: hummingboard-hdmi {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0
-                       >;
-               };
-
-               pinctrl_hummingboard_i2c1: hummingboard-i2c1 {
-                       fsl,pins = <
-                               MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
-                               MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
-                       >;
-               };
-
-               pinctrl_hummingboard_i2c2: hummingboard-i2c2 {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
-                               MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
-                       >;
-               };
-
-               pinctrl_hummingboard_spdif: hummingboard-spdif {
-                       fsl,pins = <MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x13091>;
-               };
-
-               pinctrl_hummingboard_usbh1_vbus: hummingboard-usbh1-vbus {
-                       fsl,pins = <MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0>;
-               };
-
-               pinctrl_hummingboard_usbotg_id: hummingboard-usbotg-id {
-                       /*
-                        * Similar to pinctrl_usbotg_2, but we want it
-                        * pulled down for a fixed host connection.
-                        */
-                       fsl,pins = <MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x13059>;
-               };
-
-               pinctrl_hummingboard_usbotg_vbus: hummingboard-usbotg-vbus {
-                       fsl,pins = <MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b0>;
-               };
-
-               pinctrl_hummingboard_usdhc2_aux: hummingboard-usdhc2-aux {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_4__GPIO1_IO04    0x1f071
-                       >;
-               };
-
-               pinctrl_hummingboard_usdhc2: hummingboard-usdhc2 {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD2_CMD__SD2_CMD    0x17059
-                               MX6QDL_PAD_SD2_CLK__SD2_CLK    0x10059
-                               MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059
-                               MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059
-                               MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059
-                               MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x13059
-                       >;
-               };
-       };
-};
-
-&spdif {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_hummingboard_spdif>;
-       status = "okay";
-};
-
-&usbh1 {
-       disable-over-current;
-       vbus-supply = <&reg_usbh1_vbus>;
-       status = "okay";
-};
-
-&usbotg {
-       disable-over-current;
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_hummingboard_usbotg_id>;
-       vbus-supply = <&reg_usbotg_vbus>;
-       status = "okay";
-};
-
-&usdhc2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <
-               &pinctrl_hummingboard_usdhc2_aux
-               &pinctrl_hummingboard_usdhc2
-       >;
-       vmmc-supply = <&reg_3p3v>;
-       cd-gpios = <&gpio1 4 0>;
-       status = "okay";
+       model = "SolidRun HummingBoard Solo/DualLite";
+       compatible = "solidrun,hummingboard/dl", "fsl,imx6dl";
 };
index 22e6f8e657d2389f97b2c12bc14181d34d34819e..822ffb231c57833dac53abdea3347f1369ee1bb5 100644 (file)
@@ -10,6 +10,7 @@
  */
 
 /dts-v1/;
+#include <dt-bindings/gpio/gpio.h>
 #include "imx6q.dtsi"
 
 / {
@@ -18,7 +19,6 @@
 
        /* these are used by bootloader for disabling nodes */
        aliases {
-               ethernet0 = &fec;
                ethernet1 = &eth1;
                i2c0 = &i2c1;
                i2c1 = &i2c2;
                led0 = &led0;
                led1 = &led1;
                led2 = &led2;
-               sky2 = &eth1;
                ssi0 = &ssi1;
                spi0 = &ecspi1;
                usb0 = &usbh1;
                usb1 = &usbotg;
-               usdhc2 = &usdhc3;
        };
 
        chosen {
 
        leds {
                compatible = "gpio-leds";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_gpio_leds>;
 
                led0: user1 {
                        label = "user1";
-                       gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
+                       gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* 102 -> MX6_PANLEDG */
                        default-state = "on";
                        linux,default-trigger = "heartbeat";
                };
 
                led1: user2 {
                        label = "user2";
-                       gpios = <&gpio4 10 0>; /* 106 -> MX6_PANLEDR */
+                       gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>; /* 106 -> MX6_PANLEDR */
                        default-state = "off";
                };
 
                led2: user3 {
                        label = "user3";
-                       gpios = <&gpio4 15 1>; /* 111 -> MX6_LOCLED# */
+                       gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; /* 111 -> MX6_LOCLED# */
                        default-state = "off";
                };
        };
@@ -67,7 +67,9 @@
 
        pps {
                compatible = "pps-gpio";
-               gpios = <&gpio1 5 0>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_gpio_leds>;
+               gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
                status = "okay";
        };
 
                        regulator-name = "usb_otg_vbus";
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
-                       gpio = <&gpio3 22 0>;
+                       gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
                        enable-active-high;
                };
        };
 
 &ecspi1 {
        fsl,spi-num-chipselects = <1>;
-       cs-gpios = <&gpio3 19 0>;
+       cs-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_ecspi1>;
        status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_enet>;
        phy-mode = "rgmii";
-       phy-reset-gpios = <&gpio1 30 0>;
+       phy-reset-gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>;
        status = "okay";
 };
 
                #gpio-cells = <2>;
        };
 
-       hwmon: gsc@29 {
-               compatible = "gw,gsp";
-               reg = <0x29>;
-       };
-
        rtc: ds1672@68 {
                compatible = "dallas,ds1672";
                reg = <0x68>;
                        };
                };
        };
-
-       pciswitch: pex8609@3f {
-               compatible = "plx,pex8609";
-               reg = <0x3f>;
-       };
-
-       pciclkgen: si52147@6b {
-               compatible = "sil,si52147";
-               reg = <0x6b>;
-       };
 };
 
 &i2c3 {
                VDDIO-supply = <&reg_3p3v>;
        };
 
-       hdmiin: adv7611@4c {
-               compatible = "adi,adv7611";
-               reg = <0x4c>;
-       };
-
        touchscreen: egalax_ts@04 {
                compatible = "eeti,egalax_ts";
                reg = <0x04>;
                interrupt-parent = <&gpio7>;
-               interrupts = <12 2>; /* gpio7_12 active low */
-               wakeup-gpios = <&gpio7 12 0>;
+               interrupts = <12 2>;
+               wakeup-gpios = <&gpio7 12 GPIO_ACTIVE_LOW>;
        };
+};
 
-       videoout: adv7393@2a {
-               compatible = "adi,adv7393";
-               reg = <0x2a>;
-       };
+&ldb {
+       status = "okay";
+};
+
+&pcie {
+       reset-gpio = <&gpio1 29 GPIO_ACTIVE_LOW>;
+       status = "okay";
 
-       videoin: adv7180@20 {
-               compatible = "adi,adv7180";
-               reg = <0x20>;
+       eth1: sky2@8 { /* MAC/PHY on bus 8 */
+               compatible = "marvell,sky2";
        };
 };
 
-&iomuxc {
+&ssi1 {
+       status = "okay";
+};
+
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart1>;
+       status = "okay";
+};
+
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart2>;
+       status = "okay";
+};
+
+&uart5 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart5>;
+       status = "okay";
+};
+
+&usbotg {
+       vbus-supply = <&reg_usb_otg_vbus>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usbotg>;
+       disable-over-current;
+       status = "okay";
+};
+
+&usbh1 {
+       vbus-supply = <&reg_usb_h1_vbus>;
+       status = "okay";
+};
+
+&usdhc3 {
        pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_hog>;
+       pinctrl-0 = <&pinctrl_usdhc3>;
+       cd-gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
+       vmmc-supply = <&reg_3p3v>;
+       status = "okay";
+};
 
+&iomuxc {
        imx6q-gw5400-a {
-               pinctrl_hog: hoggrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_EIM_D22__GPIO3_IO22    0x80000000 /* OTG_PWR_EN */
-                               MX6QDL_PAD_EIM_D19__GPIO3_IO19    0x80000000 /* SPINOR_CS0# */
-                               MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28 0x80000000 /* PCIE IRQ */
-                               MX6QDL_PAD_ENET_TXD1__GPIO1_IO29  0x80000000 /* PCIE RST */
-                               MX6QDL_PAD_GPIO_0__CCM_CLKO1      0x000130b0 /* AUD4_MCK */
-                               MX6QDL_PAD_GPIO_5__GPIO1_IO05     0x80000000 /* GPS_PPS */
-                               MX6QDL_PAD_GPIO_17__GPIO7_IO12    0x80000000 /* TOUCH_IRQ# */
-                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06   0x80000000 /* user1 led */
-                               MX6QDL_PAD_KEY_COL2__GPIO4_IO10   0x80000000 /* user2 led */
-                               MX6QDL_PAD_KEY_ROW4__GPIO4_IO15   0x80000000 /* user3 led */
-                               MX6QDL_PAD_SD1_DAT0__GPIO1_IO16   0x80000000 /* USBHUB_RST# */
-                               MX6QDL_PAD_SD1_DAT3__GPIO1_IO21   0x80000000 /* MIPI_DIO */
-                        >;
-               };
 
                pinctrl_audmux: audmuxgrp {
                        fsl,pins = <
                                MX6QDL_PAD_SD2_DAT3__AUD4_TXC           0x130b0
                                MX6QDL_PAD_SD2_DAT2__AUD4_TXD           0x110b0
                                MX6QDL_PAD_SD2_DAT1__AUD4_TXFS          0x130b0
+                               MX6QDL_PAD_GPIO_0__CCM_CLKO1            0x130b0 /* AUD4_MCK */
                        >;
                };
 
                                MX6QDL_PAD_EIM_D17__ECSPI1_MISO         0x100b1
                                MX6QDL_PAD_EIM_D18__ECSPI1_MOSI         0x100b1
                                MX6QDL_PAD_EIM_D16__ECSPI1_SCLK         0x100b1
+                               MX6QDL_PAD_EIM_D19__GPIO3_IO19          0x1b0b0 /* SPINOR_CS0# */
                        >;
                };
 
                        >;
                };
 
+               pinctrl_gpio_leds: gpioledsgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06         0x1b0b0 /* user1 led */
+                               MX6QDL_PAD_KEY_COL2__GPIO4_IO10         0x1b0b0 /* user2 led */
+                               MX6QDL_PAD_KEY_ROW4__GPIO4_IO15         0x1b0b0 /* user3 led */
+                       >;
+               };
+
                pinctrl_i2c1: i2c1grp {
                        fsl,pins = <
                                MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
                        >;
                };
 
+               pinctrl_pcie: pciegrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28       0x1b0b0 /* PCIE IRQ */
+                               MX6QDL_PAD_ENET_TXD1__GPIO1_IO29        0x1b0b0 /* PCIE RST */
+                       >;
+               };
+
+               pinctrl_pps: ppsgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_GPIO_5__GPIO1_IO05           0x1b0b0 /* GPS_PPS */
+                       >;
+               };
+
                pinctrl_uart1: uart1grp {
                        fsl,pins = <
                                MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA      0x1b0b1
                pinctrl_usbotg: usbotggrp {
                        fsl,pins = <
                                MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
+                               MX6QDL_PAD_EIM_D22__GPIO3_IO22          0x1b0b0 /* OTG_PWR_EN */
                        >;
                };
 
                };
        };
 };
-
-&ldb {
-       status = "okay";
-};
-
-&pcie {
-       reset-gpio = <&gpio1 29 0>;
-       status = "okay";
-
-       eth1: sky2@8 { /* MAC/PHY on bus 8 */
-               compatible = "marvell,sky2";
-       };
-};
-
-&ssi1 {
-       status = "okay";
-};
-
-&uart1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_uart1>;
-       status = "okay";
-};
-
-&uart2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_uart2>;
-       status = "okay";
-};
-
-&uart5 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_uart5>;
-       status = "okay";
-};
-
-&usbotg {
-       vbus-supply = <&reg_usb_otg_vbus>;
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_usbotg>;
-       disable-over-current;
-       status = "okay";
-};
-
-&usbh1 {
-       vbus-supply = <&reg_usb_h1_vbus>;
-       status = "okay";
-};
-
-&usdhc3 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_usdhc3>;
-       cd-gpios = <&gpio7 0 0>;
-       vmmc-supply = <&reg_3p3v>;
-       status = "okay";
-};
diff --git a/arch/arm/boot/dts/imx6q-gw552x.dts b/arch/arm/boot/dts/imx6q-gw552x.dts
new file mode 100644 (file)
index 0000000..f87a8fa
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2014 Gateworks Corporation
+ *
+ * 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 "imx6q.dtsi"
+#include "imx6qdl-gw552x.dtsi"
+
+/ {
+       model = "Gateworks Ventana i.MX6 Dual/Quad GW552X";
+       compatible = "gw,imx6q-gw552x", "gw,ventana", "fsl,imx6q";
+};
+
+&sata {
+       status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx6q-hummingboard.dts b/arch/arm/boot/dts/imx6q-hummingboard.dts
new file mode 100644 (file)
index 0000000..c2bf847
--- /dev/null
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 2014 Rabeeh Khoury (rabeeh@solid-run.com)
+ * Based on dt work by Russell King
+ */
+/dts-v1/;
+
+#include "imx6q.dtsi"
+#include "imx6qdl-hummingboard.dtsi"
+
+/ {
+       model = "SolidRun HummingBoard Dual/Quad";
+       compatible = "solidrun,hummingboard/q", "fsl,imx6q";
+};
+
+&sata {
+       status = "okay";
+       fsl,transmit-level-mV = <1025>;
+       fsl,transmit-boost-mdB = <3330>;
+       fsl,transmit-atten-16ths = <9>;
+       fsl,receive-eq-mdB = <3000>;
+};
index 0db15af41cb10d2a919df2b2c497be7937c80f33..f2867c4b34a858c3b07fda639a123d9688708249 100644 (file)
@@ -9,11 +9,11 @@
  * http://www.gnu.org/copyleft/gpl.html
  */
 
+#include <dt-bindings/gpio/gpio.h>
+
 / {
        /* these are used by bootloader for disabling nodes */
        aliases {
-               can0 = &can1;
-               ethernet0 = &fec;
                led0 = &led0;
                led1 = &led1;
                nand = &gpmi;
 
        leds {
                compatible = "gpio-leds";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_gpio_leds>;
 
                led0: user1 {
                        label = "user1";
-                       gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
+                       gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDG */
                        default-state = "on";
                        linux,default-trigger = "heartbeat";
                };
 
                led1: user2 {
                        label = "user2";
-                       gpios = <&gpio4 7 0>; /* 103 -> MX6_PANLEDR */
+                       gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDR */
                        default-state = "off";
                };
        };
@@ -48,7 +50,9 @@
 
        pps {
                compatible = "pps-gpio";
-               gpios = <&gpio1 26 0>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_pps>;
+               gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>;
                status = "okay";
        };
 
@@ -81,7 +85,7 @@
                        regulator-name = "usb_otg_vbus";
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
-                       gpio = <&gpio3 22 0>;
+                       gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
                        enable-active-high;
                };
        };
@@ -91,7 +95,7 @@
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_enet>;
        phy-mode = "rgmii";
-       phy-reset-gpios = <&gpio1 30 0>;
+       phy-reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
        status = "okay";
 };
 
                #gpio-cells = <2>;
        };
 
-       hwmon: gsc@29 {
-               compatible = "gw,gsp";
-               reg = <0x29>;
-       };
-
        rtc: ds1672@68 {
                compatible = "dallas,ds1672";
                reg = <0x68>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_i2c2>;
        status = "okay";
-
-       pmic: ltc3676@3c {
-               compatible = "lltc,ltc3676";
-               reg = <0x3c>;
-
-               regulators {
-                       sw1_reg: ltc3676__sw1 {
-                               regulator-min-microvolt = <1175000>;
-                               regulator-max-microvolt = <1175000>;
-                               regulator-boot-on;
-                               regulator-always-on;
-                       };
-
-                       sw2_reg: ltc3676__sw2 {
-                               regulator-min-microvolt = <1800000>;
-                               regulator-max-microvolt = <1800000>;
-                               regulator-boot-on;
-                               regulator-always-on;
-                       };
-
-                       sw3_reg: ltc3676__sw3 {
-                               regulator-min-microvolt = <1175000>;
-                               regulator-max-microvolt = <1175000>;
-                               regulator-boot-on;
-                               regulator-always-on;
-                       };
-
-                       sw4_reg: ltc3676__sw4 {
-                               regulator-min-microvolt = <1500000>;
-                               regulator-max-microvolt = <1500000>;
-                               regulator-boot-on;
-                               regulator-always-on;
-                       };
-
-                       ldo2_reg: ltc3676__ldo2 {
-                               regulator-min-microvolt = <2500000>;
-                               regulator-max-microvolt = <2500000>;
-                               regulator-boot-on;
-                               regulator-always-on;
-                       };
-
-                       ldo4_reg: ltc3676__ldo4 {
-                               regulator-min-microvolt = <3000000>;
-                               regulator-max-microvolt = <3000000>;
-                       };
-               };
-       };
 };
 
 &i2c3 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_i2c3>;
        status = "okay";
+};
 
-       videoin: adv7180@20 {
-               compatible = "adi,adv7180";
-               reg = <0x20>;
-       };
+&pcie {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pcie>;
+       reset-gpio = <&gpio1 0 GPIO_ACTIVE_LOW>;
+       status = "okay";
 };
 
-&iomuxc {
+&uart1 {
        pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_hog>;
+       pinctrl-0 = <&pinctrl_uart1>;
+       status = "okay";
+};
 
-       imx6qdl-gw51xx {
-               pinctrl_hog: hoggrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_EIM_A19__GPIO2_IO19   0x80000000 /* MEZZ_DIO0 */
-                               MX6QDL_PAD_EIM_A20__GPIO2_IO18   0x80000000 /* MEZZ_DIO1 */
-                               MX6QDL_PAD_EIM_D22__GPIO3_IO22   0x80000000 /* OTG_PWR_EN */
-                               MX6QDL_PAD_ENET_RXD1__GPIO1_IO26 0x80000000 /* GPS_PPS */
-                               MX6QDL_PAD_ENET_TXD0__GPIO1_IO30 0x80000000 /* PHY Reset */
-                               MX6QDL_PAD_GPIO_0__GPIO1_IO00    0x80000000 /* PCIE_RST# */
-                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06  0x80000000 /* user1 led */
-                               MX6QDL_PAD_KEY_ROW0__GPIO4_IO07  0x80000000 /* user2 led */
-                        >;
-               };
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart2>;
+       status = "okay";
+};
 
+&uart3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart3>;
+       status = "okay";
+};
+
+&uart5 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart5>;
+       status = "okay";
+};
+
+&usbotg {
+       vbus-supply = <&reg_usb_otg_vbus>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usbotg>;
+       disable-over-current;
+       status = "okay";
+};
+
+&usbh1 {
+       status = "okay";
+};
+
+&iomuxc {
+       imx6qdl-gw51xx {
                pinctrl_enet: enetgrp {
                        fsl,pins = <
                                MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b0b0
                                MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
                                MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
                                MX6QDL_PAD_GPIO_16__ENET_REF_CLK        0x4001b0a8
+                               MX6QDL_PAD_ENET_TXD0__GPIO1_IO30        0x1b0b0 /* PHY Reset */
+                       >;
+               };
+
+               pinctrl_gpio_leds: gpioledsgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06         0x1b0b0
+                               MX6QDL_PAD_KEY_ROW0__GPIO4_IO07         0x1b0b0
                        >;
                };
 
                        >;
                };
 
+               pinctrl_pcie: pciegrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_GPIO_0__GPIO1_IO00           0x1b0b0
+                       >;
+               };
+
+               pinctrl_pps: ppsgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_ENET_RXD1__GPIO1_IO26        0x1b0b1
+                       >;
+               };
+
                pinctrl_uart1: uart1grp {
                        fsl,pins = <
                                MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA      0x1b0b1
                pinctrl_usbotg: usbotggrp {
                        fsl,pins = <
                                MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
+                               MX6QDL_PAD_EIM_D22__GPIO3_IO22          0x1b0b0 /* OTG_PWR_EN */
                        >;
                };
        };
 };
-
-&pcie {
-       reset-gpio = <&gpio1 0 0>;
-       status = "okay";
-};
-
-&uart1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_uart1>;
-       status = "okay";
-};
-
-&uart2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_uart2>;
-       status = "okay";
-};
-
-&uart3 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_uart3>;
-       status = "okay";
-};
-
-&uart5 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_uart5>;
-       status = "okay";
-};
-
-&usbotg {
-       vbus-supply = <&reg_usb_otg_vbus>;
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_usbotg>;
-       disable-over-current;
-       status = "okay";
-};
-
-&usbh1 {
-       status = "okay";
-};
index 234e7b7552323b3461783c14d2cb820dba95207e..d3c0bf5c84e316bcab8c86d527dabd4598d9a63b 100644 (file)
@@ -9,10 +9,11 @@
  * http://www.gnu.org/copyleft/gpl.html
  */
 
+#include <dt-bindings/gpio/gpio.h>
+
 / {
        /* these are used by bootloader for disabling nodes */
        aliases {
-               ethernet0 = &fec;
                led0 = &led0;
                led1 = &led1;
                led2 = &led2;
@@ -20,7 +21,6 @@
                ssi0 = &ssi1;
                usb0 = &usbh1;
                usb1 = &usbotg;
-               usdhc2 = &usdhc3;
        };
 
        chosen {
 
        leds {
                compatible = "gpio-leds";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_gpio_leds>;
 
                led0: user1 {
                        label = "user1";
-                       gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
+                       gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDG */
                        default-state = "on";
                        linux,default-trigger = "heartbeat";
                };
 
                led1: user2 {
                        label = "user2";
-                       gpios = <&gpio4 7 0>; /* 103 -> MX6_PANLEDR */
+                       gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDR */
                        default-state = "off";
                };
 
                led2: user3 {
                        label = "user3";
-                       gpios = <&gpio4 15 1>; /* 111 - MX6_LOCLED# */
+                       gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; /* MX6_LOCLED# */
                        default-state = "off";
                };
        };
@@ -63,7 +65,9 @@
 
        pps {
                compatible = "pps-gpio";
-               gpios = <&gpio1 26 0>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_pps>;
+               gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>;
                status = "okay";
        };
 
                        regulator-name = "usb_otg_vbus";
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
-                       gpio = <&gpio3 22 0>;
+                       gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
                        enable-active-high;
                };
        };
        status = "okay";
 };
 
+&can1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_flexcan1>;
+       status = "okay";
+};
+
 &fec {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_enet>;
        phy-mode = "rgmii";
-       phy-reset-gpios = <&gpio1 30 0>;
+       phy-reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
        status = "okay";
 };
 
                #gpio-cells = <2>;
        };
 
-       hwmon: gsc@29 {
-               compatible = "gw,gsp";
-               reg = <0x29>;
-       };
-
        rtc: ds1672@68 {
                compatible = "dallas,ds1672";
                reg = <0x68>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_i2c2>;
        status = "okay";
-
-       pciswitch: pex8609@3f {
-               compatible = "plx,pex8609";
-               reg = <0x3f>;
-       };
-
-       pmic: ltc3676@3c {
-               compatible = "lltc,ltc3676";
-               reg = <0x3c>;
-
-               regulators {
-                       sw1_reg: ltc3676__sw1 {
-                               regulator-min-microvolt = <1175000>;
-                               regulator-max-microvolt = <1175000>;
-                               regulator-boot-on;
-                               regulator-always-on;
-                       };
-
-                       sw2_reg: ltc3676__sw2 {
-                               regulator-min-microvolt = <1800000>;
-                               regulator-max-microvolt = <1800000>;
-                               regulator-boot-on;
-                               regulator-always-on;
-                       };
-
-                       sw3_reg: ltc3676__sw3 {
-                               regulator-min-microvolt = <1175000>;
-                               regulator-max-microvolt = <1175000>;
-                               regulator-boot-on;
-                               regulator-always-on;
-                       };
-
-                       sw4_reg: ltc3676__sw4 {
-                               regulator-min-microvolt = <1500000>;
-                               regulator-max-microvolt = <1500000>;
-                               regulator-boot-on;
-                               regulator-always-on;
-                       };
-
-                       ldo2_reg: ltc3676__ldo2 {
-                               regulator-min-microvolt = <2500000>;
-                               regulator-max-microvolt = <2500000>;
-                               regulator-boot-on;
-                               regulator-always-on;
-                       };
-
-                       ldo3_reg: ltc3676__ldo3 {
-                               regulator-min-microvolt = <1800000>;
-                               regulator-max-microvolt = <1800000>;
-                               regulator-boot-on;
-                               regulator-always-on;
-                       };
-
-                       ldo4_reg: ltc3676__ldo4 {
-                               regulator-min-microvolt = <3000000>;
-                               regulator-max-microvolt = <3000000>;
-                       };
-               };
-       };
 };
 
 &i2c3 {
        pinctrl-0 = <&pinctrl_i2c3>;
        status = "okay";
 
-       accelerometer: fxos8700@1e {
-               compatible = "fsl,fxos8700";
-               reg = <0x13>;
-       };
-
        codec: sgtl5000@0a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                compatible = "eeti,egalax_ts";
                reg = <0x04>;
                interrupt-parent = <&gpio7>;
-               interrupts = <12 2>; /* gpio7_12 active low */
-               wakeup-gpios = <&gpio7 12 0>;
+               interrupts = <12 2>;
+               wakeup-gpios = <&gpio7 12 GPIO_ACTIVE_LOW>;
        };
+};
+
+&ldb {
+       status = "okay";
 
-       videoin: adv7180@20 {
-               compatible = "adi,adv7180";
-               reg = <0x20>;
+       lvds-channel@0 {
+               fsl,data-mapping = "spwg";
+               fsl,data-width = <18>;
+               status = "okay";
+
+               display-timings {
+                       native-mode = <&timing0>;
+                       timing0: hsd100pxn1 {
+                               clock-frequency = <65000000>;
+                               hactive = <1024>;
+                               vactive = <768>;
+                               hback-porch = <220>;
+                               hfront-porch = <40>;
+                               vback-porch = <21>;
+                               vfront-porch = <7>;
+                               hsync-len = <60>;
+                               vsync-len = <10>;
+                       };
+               };
        };
 };
 
-&iomuxc {
+&pcie {
        pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_hog>;
+       pinctrl-0 = <&pinctrl_pcie>;
+       reset-gpio = <&gpio1 29 GPIO_ACTIVE_LOW>;
+       status = "okay";
+};
 
-       imx6qdl-gw52xx {
-               pinctrl_hog: hoggrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_EIM_A19__GPIO2_IO19   0x80000000 /* MEZZ_DIO0 */
-                               MX6QDL_PAD_EIM_A20__GPIO2_IO18   0x80000000 /* MEZZ_DIO1 */
-                               MX6QDL_PAD_EIM_D22__GPIO3_IO22   0x80000000 /* OTG_PWR_EN */
-                               MX6QDL_PAD_EIM_D31__GPIO3_IO31   0x80000000 /* VIDDEC_PDN# */
-                               MX6QDL_PAD_ENET_TXD0__GPIO1_IO30 0x80000000 /* PHY Reset */
-                               MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000 /* PCIE_RST# */
-                               MX6QDL_PAD_ENET_RXD0__GPIO1_IO27 0x80000000 /* GPS_PWDN */
-                               MX6QDL_PAD_ENET_RXD1__GPIO1_IO26 0x80000000 /* GPS_PPS */
-                               MX6QDL_PAD_GPIO_0__CCM_CLKO1     0x000130b0 /* AUD4_MCK */
-                               MX6QDL_PAD_GPIO_2__GPIO1_IO02    0x80000000 /* USB_SEL_PCI */
-                               MX6QDL_PAD_GPIO_17__GPIO7_IO12   0x80000000 /* TOUCH_IRQ# */
-                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06  0x80000000 /* user1 led */
-                               MX6QDL_PAD_KEY_ROW0__GPIO4_IO07  0x80000000 /* user2 led */
-                               MX6QDL_PAD_KEY_ROW4__GPIO4_IO15  0x80000000 /* user3 led */
-                               MX6QDL_PAD_SD2_CMD__GPIO1_IO11   0x80000000 /* LVDS_TCH# */
-                               MX6QDL_PAD_SD3_DAT5__GPIO7_IO00  0x80000000 /* SD3_CD# */
-                               MX6QDL_PAD_SD4_DAT3__GPIO2_IO11  0x80000000 /* UART2_EN# */
-                        >;
-               };
+&pwm4 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pwm4>;
+       status = "okay";
+};
+
+&ssi1 {
+       fsl,mode = "i2s-slave";
+       status = "okay";
+};
+
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart1>;
+       status = "okay";
+};
+
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart2>;
+       status = "okay";
+};
+
+&uart5 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart5>;
+       status = "okay";
+};
+
+&usbotg {
+       vbus-supply = <&reg_usb_otg_vbus>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usbotg>;
+       disable-over-current;
+       status = "okay";
+};
+
+&usbh1 {
+       status = "okay";
+};
+
+&usdhc3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usdhc3>;
+       cd-gpios = <&gpio7 0 GPIO_ACTIVE_HIGH>;
+       vmmc-supply = <&reg_3p3v>;
+       status = "okay";
+};
 
+&iomuxc {
+       imx6qdl-gw52xx {
                pinctrl_audmux: audmuxgrp {
                        fsl,pins = <
                                MX6QDL_PAD_SD2_DAT0__AUD4_RXD           0x130b0
                                MX6QDL_PAD_SD2_DAT3__AUD4_TXC           0x130b0
                                MX6QDL_PAD_SD2_DAT2__AUD4_TXD           0x110b0
                                MX6QDL_PAD_SD2_DAT1__AUD4_TXFS          0x130b0
+                               MX6QDL_PAD_GPIO_0__CCM_CLKO1    0x130b0 /* AUD4_MCK */
                        >;
                };
 
                                MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
                                MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
                                MX6QDL_PAD_GPIO_16__ENET_REF_CLK        0x4001b0a8
+                               MX6QDL_PAD_ENET_TXD0__GPIO1_IO30        0x1b0b0 /* PHY Reset */
+                       >;
+               };
+
+               pinctrl_flexcan1: flexcan1grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX        0x1b0b1
+                               MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX        0x1b0b1
+                               MX6QDL_PAD_GPIO_9__GPIO1_IO09           0x4001b0b0 /* CAN_STBY */
+                       >;
+               };
+
+               pinctrl_gpio_leds: gpioledsgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06  0x1b0b0
+                               MX6QDL_PAD_KEY_ROW0__GPIO4_IO07  0x1b0b0
+                               MX6QDL_PAD_KEY_ROW4__GPIO4_IO15  0x1b0b0
                        >;
                };
 
                        >;
                };
 
+               pinctrl_pcie: pciegrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_ENET_TXD1__GPIO1_IO29        0x1b0b0 /* PCIE_RST# */
+                       >;
+               };
+
+               pinctrl_pps: ppsgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_ENET_RXD1__GPIO1_IO26        0x1b0b1
+                       >;
+               };
+
                pinctrl_pwm4: pwm4grp {
                        fsl,pins = <
                                MX6QDL_PAD_SD1_CMD__PWM4_OUT            0x1b0b1
                pinctrl_usbotg: usbotggrp {
                        fsl,pins = <
                                MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
+                               MX6QDL_PAD_EIM_D22__GPIO3_IO22  0x1b0b0 /* OTG_PWR_EN */
                        >;
                };
 
                                MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x17059
                                MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x17059
                                MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x17059
+                               MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x1b0b0 /* CD */
                        >;
                };
        };
 };
-
-&ldb {
-       status = "okay";
-
-       lvds-channel@0 {
-               fsl,data-mapping = "spwg";
-               fsl,data-width = <18>;
-               status = "okay";
-
-               display-timings {
-                       native-mode = <&timing0>;
-                       timing0: hsd100pxn1 {
-                               clock-frequency = <65000000>;
-                               hactive = <1024>;
-                               vactive = <768>;
-                               hback-porch = <220>;
-                               hfront-porch = <40>;
-                               vback-porch = <21>;
-                               vfront-porch = <7>;
-                               hsync-len = <60>;
-                               vsync-len = <10>;
-                       };
-               };
-       };
-};
-
-&pcie {
-       reset-gpio = <&gpio1 29 0>;
-       status = "okay";
-};
-
-&pwm4 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_pwm4>;
-       status = "okay";
-};
-
-&ssi1 {
-       status = "okay";
-};
-
-&uart1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_uart1>;
-       status = "okay";
-};
-
-&uart2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_uart2>;
-       status = "okay";
-};
-
-&uart5 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_uart5>;
-       status = "okay";
-};
-
-&usbotg {
-       vbus-supply = <&reg_usb_otg_vbus>;
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_usbotg>;
-       disable-over-current;
-       status = "okay";
-};
-
-&usbh1 {
-       status = "okay";
-};
-
-&usdhc3 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_usdhc3>;
-       cd-gpios = <&gpio7 0 0>;
-       vmmc-supply = <&reg_3p3v>;
-       status = "okay";
-};
index 143f84f7812c93ff6f6ee87a5d3e9001254d613f..cade1bdc97e9b32b08c3971d55acfb8996439b86 100644 (file)
@@ -9,21 +9,19 @@
  * http://www.gnu.org/copyleft/gpl.html
  */
 
+#include <dt-bindings/gpio/gpio.h>
+
 / {
        /* these are used by bootloader for disabling nodes */
        aliases {
-               can0 = &can1;
-               ethernet0 = &fec;
                ethernet1 = &eth1;
                led0 = &led0;
                led1 = &led1;
                led2 = &led2;
                nand = &gpmi;
-               sky2 = &eth1;
                ssi0 = &ssi1;
                usb0 = &usbh1;
                usb1 = &usbotg;
-               usdhc2 = &usdhc3;
        };
 
        chosen {
 
        leds {
                compatible = "gpio-leds";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_gpio_leds>;
 
                led0: user1 {
                        label = "user1";
-                       gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
+                       gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDG */
                        default-state = "on";
                        linux,default-trigger = "heartbeat";
                };
 
                led1: user2 {
                        label = "user2";
-                       gpios = <&gpio4 7 0>; /* 103 -> MX6_PANLEDR */
+                       gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDR */
                        default-state = "off";
                };
 
                led2: user3 {
                        label = "user3";
-                       gpios = <&gpio4 15 1>; /* 111 -> MX6_LOCLED# */
+                       gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; /* MX6_LOCLED# */
                        default-state = "off";
                };
        };
@@ -66,7 +66,9 @@
 
        pps {
                compatible = "pps-gpio";
-               gpios = <&gpio1 26 0>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_pps>;
+               gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>;
                status = "okay";
        };
 
                        regulator-name = "usb_otg_vbus";
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
-                       gpio = <&gpio3 22 0>;
+                       gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
                        enable-active-high;
                };
        };
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_enet>;
        phy-mode = "rgmii";
-       phy-reset-gpios = <&gpio1 30 0>;
+       phy-reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
        status = "okay";
 };
 
                #gpio-cells = <2>;
        };
 
-       hwmon: gsc@29 {
-               compatible = "gw,gsp";
-               reg = <0x29>;
-       };
-
        rtc: ds1672@68 {
                compatible = "dallas,ds1672";
                reg = <0x68>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_i2c2>;
        status = "okay";
-
-       pciclkgen: si53156@6b {
-               compatible = "sil,si53156";
-               reg = <0x6b>;
-       };
-
-       pciswitch: pex8606@3f {
-               compatible = "plx,pex8606";
-               reg = <0x3f>;
-       };
-
-       pmic: ltc3676@3c {
-               compatible = "lltc,ltc3676";
-               reg = <0x3c>;
-
-               regulators {
-                       /* VDD_SOC */
-                       sw1_reg: ltc3676__sw1 {
-                               regulator-min-microvolt = <1175000>;
-                               regulator-max-microvolt = <1175000>;
-                               regulator-boot-on;
-                               regulator-always-on;
-                       };
-
-                       /* VDD_1P8 */
-                       sw2_reg: ltc3676__sw2 {
-                               regulator-min-microvolt = <1800000>;
-                               regulator-max-microvolt = <1800000>;
-                               regulator-boot-on;
-                               regulator-always-on;
-                       };
-
-                       /* VDD_ARM */
-                       sw3_reg: ltc3676__sw3 {
-                               regulator-min-microvolt = <1175000>;
-                               regulator-max-microvolt = <1175000>;
-                               regulator-boot-on;
-                               regulator-always-on;
-                       };
-
-                       /* VDD_DDR */
-                       sw4_reg: ltc3676__sw4 {
-                               regulator-min-microvolt = <1500000>;
-                               regulator-max-microvolt = <1500000>;
-                               regulator-boot-on;
-                               regulator-always-on;
-                       };
-
-                       /* VDD_2P5 */
-                       ldo2_reg: ltc3676__ldo2 {
-                               regulator-min-microvolt = <2500000>;
-                               regulator-max-microvolt = <2500000>;
-                               regulator-boot-on;
-                               regulator-always-on;
-                       };
-
-                       /* VDD_1P8 */
-                       ldo3_reg: ltc3676__ldo3 {
-                               regulator-min-microvolt = <1800000>;
-                               regulator-max-microvolt = <1800000>;
-                               regulator-boot-on;
-                               regulator-always-on;
-                       };
-
-                       /* VDD_HIGH */
-                       ldo4_reg: ltc3676__ldo4 {
-                               regulator-min-microvolt = <3000000>;
-                               regulator-max-microvolt = <3000000>;
-                       };
-               };
-       };
 };
 
 &i2c3 {
        pinctrl-0 = <&pinctrl_i2c3>;
        status = "okay";
 
-       accelerometer: fxos8700@1e {
-               compatible = "fsl,fxos8700";
-               reg = <0x1e>;
-       };
-
        codec: sgtl5000@0a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                VDDIO-supply = <&reg_3p3v>;
        };
 
-       hdmiin: adv7611@4c {
-               compatible = "adi,adv7611";
-               reg = <0x4c>;
-       };
-
        touchscreen: egalax_ts@04 {
                compatible = "eeti,egalax_ts";
                reg = <0x04>;
                interrupt-parent = <&gpio1>;
-               interrupts = <11 2>; /* gpio1_11 active low */
-               wakeup-gpios = <&gpio1 11 0>;
+               interrupts = <11 2>;
+               wakeup-gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
        };
+};
 
-       videoout: adv7393@2a {
-               compatible = "adi,adv7393";
-               reg = <0x2a>;
+&ldb {
+       status = "okay";
+
+       lvds-channel@1 {
+               fsl,data-mapping = "spwg";
+               fsl,data-width = <18>;
+               status = "okay";
+
+               display-timings {
+                       native-mode = <&timing0>;
+                       timing0: hsd100pxn1 {
+                               clock-frequency = <65000000>;
+                               hactive = <1024>;
+                               vactive = <768>;
+                               hback-porch = <220>;
+                               hfront-porch = <40>;
+                               vback-porch = <21>;
+                               vfront-porch = <7>;
+                               hsync-len = <60>;
+                               vsync-len = <10>;
+                       };
+               };
        };
+};
 
-       videoin: adv7180@20 {
-               compatible = "adi,adv7180";
-               reg = <0x20>;
+&pcie {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pcie>;
+       reset-gpio = <&gpio1 29 GPIO_ACTIVE_LOW>;
+       status = "okay";
+
+       eth1: sky2@8 { /* MAC/PHY on bus 8 */
+               compatible = "marvell,sky2";
        };
 };
 
-&iomuxc {
+&pwm4 {
        pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_hog>;
+       pinctrl-0 = <&pinctrl_pwm4>;
+       status = "okay";
+};
 
-       imx6qdl-gw53xx {
-               pinctrl_hog: hoggrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_EIM_A19__GPIO2_IO19    0x80000000 /* PCIE6EXP_DIO0 */
-                               MX6QDL_PAD_EIM_A20__GPIO2_IO18    0x80000000 /* PCIE6EXP_DIO1 */
-                               MX6QDL_PAD_EIM_D22__GPIO3_IO22    0x80000000 /* OTG_PWR_EN */
-                               MX6QDL_PAD_ENET_RXD0__GPIO1_IO27  0x80000000 /* GPS_SHDN */
-                               MX6QDL_PAD_ENET_RXD1__GPIO1_IO26  0x80000000 /* GPS_PPS */
-                               MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28 0x80000000 /* PCIE IRQ */
-                               MX6QDL_PAD_ENET_TXD1__GPIO1_IO29  0x80000000 /* PCIE RST */
-                               MX6QDL_PAD_GPIO_0__CCM_CLKO1      0x000130b0 /* AUD4_MCK */
-                               MX6QDL_PAD_GPIO_2__GPIO1_IO02     0x80000000 /* CAN_STBY */
-                               MX6QDL_PAD_GPIO_8__GPIO1_IO08     0x80000000 /* PMIC_IRQ# */
-                               MX6QDL_PAD_GPIO_9__GPIO1_IO09     0x80000000 /* HUB_RST# */
-                               MX6QDL_PAD_GPIO_17__GPIO7_IO12    0x80000000 /* PCIE_WDIS# */
-                               MX6QDL_PAD_GPIO_19__GPIO4_IO05    0x80000000 /* ACCEL_IRQ# */
-                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06   0x80000000 /* user1 led */
-                               MX6QDL_PAD_KEY_COL4__GPIO4_IO14   0x80000000 /* USBOTG_OC# */
-                               MX6QDL_PAD_KEY_ROW0__GPIO4_IO07   0x80000000 /* user2 led */
-                               MX6QDL_PAD_KEY_ROW4__GPIO4_IO15   0x80000000 /* user3 led */
-                               MX6QDL_PAD_SD2_CMD__GPIO1_IO11    0x80000000 /* TOUCH_IRQ# */
-                               MX6QDL_PAD_SD3_DAT5__GPIO7_IO00   0x80000000 /* SD3_DET# */
-                        >;
-               };
+&ssi1 {
+       fsl,mode = "i2s-slave";
+       status = "okay";
+};
+
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart1>;
+       status = "okay";
+};
+
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart2>;
+       status = "okay";
+};
 
+&uart5 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart5>;
+       status = "okay";
+};
+
+&usbotg {
+       vbus-supply = <&reg_usb_otg_vbus>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usbotg>;
+       disable-over-current;
+       status = "okay";
+};
+
+&usbh1 {
+       vbus-supply = <&reg_usb_h1_vbus>;
+       status = "okay";
+};
+
+&usdhc3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usdhc3>;
+       cd-gpios = <&gpio7 0 GPIO_ACTIVE_HIGH>;
+       vmmc-supply = <&reg_3p3v>;
+       status = "okay";
+};
+
+&iomuxc {
+       imx6qdl-gw53xx {
                pinctrl_audmux: audmuxgrp {
                        fsl,pins = <
                                MX6QDL_PAD_SD2_DAT0__AUD4_RXD           0x130b0
                                MX6QDL_PAD_SD2_DAT3__AUD4_TXC           0x130b0
                                MX6QDL_PAD_SD2_DAT2__AUD4_TXD           0x110b0
                                MX6QDL_PAD_SD2_DAT1__AUD4_TXFS          0x130b0
+                               MX6QDL_PAD_GPIO_0__CCM_CLKO1            0x130b0 /* AUD4_MCK */
                        >;
                };
 
 
                pinctrl_flexcan1: flexcan1grp {
                        fsl,pins = <
-                               MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX        0x80000000
-                               MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX        0x80000000
+                               MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX        0x1b0b1
+                               MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX        0x1b0b1
+                               MX6QDL_PAD_GPIO_2__GPIO1_IO02           0x4001b0b0 /* CAN_STBY */
+                       >;
+               };
+
+               pinctrl_gpio_leds: gpioledsgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06   0x1b0b0
+                               MX6QDL_PAD_KEY_ROW0__GPIO4_IO07   0x1b0b0
+                               MX6QDL_PAD_KEY_ROW4__GPIO4_IO15   0x1b0b0
                        >;
                };
 
                        >;
                };
 
+               pinctrl_pcie: pciegrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28 0x1b0b0 /* PCIE IRQ */
+                               MX6QDL_PAD_ENET_TXD1__GPIO1_IO29  0x1b0b0 /* PCIE RST */
+                       >;
+               };
+
+               pinctrl_pps: ppsgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_ENET_RXD1__GPIO1_IO26        0x1b0b1
+                       >;
+               };
+
                pinctrl_pwm4: pwm4grp {
                        fsl,pins = <
                                MX6QDL_PAD_SD1_CMD__PWM4_OUT            0x1b0b1
                pinctrl_usbotg: usbotggrp {
                        fsl,pins = <
                                MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
+                               MX6QDL_PAD_EIM_D22__GPIO3_IO22          0x1b0b0 /* PWR_EN */
+                               MX6QDL_PAD_KEY_COL4__GPIO4_IO14         0x1b0b0 /* OC */
                        >;
                };
 
                                MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x17059
                                MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x17059
                                MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x17059
+                               MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x1b0b0 /* CD */
                        >;
                };
        };
 };
-
-&ldb {
-       status = "okay";
-
-       lvds-channel@1 {
-               fsl,data-mapping = "spwg";
-               fsl,data-width = <18>;
-               status = "okay";
-
-               display-timings {
-                       native-mode = <&timing0>;
-                       timing0: hsd100pxn1 {
-                               clock-frequency = <65000000>;
-                               hactive = <1024>;
-                               vactive = <768>;
-                               hback-porch = <220>;
-                               hfront-porch = <40>;
-                               vback-porch = <21>;
-                               vfront-porch = <7>;
-                               hsync-len = <60>;
-                               vsync-len = <10>;
-                       };
-               };
-       };
-};
-
-&pcie {
-       reset-gpio = <&gpio1 29 0>;
-       status = "okay";
-
-       eth1: sky2@8 { /* MAC/PHY on bus 8 */
-               compatible = "marvell,sky2";
-       };
-};
-
-&pwm4 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_pwm4>;
-       status = "okay";
-};
-
-&ssi1 {
-       status = "okay";
-};
-
-&uart1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_uart1>;
-       status = "okay";
-};
-
-&uart2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_uart2>;
-       status = "okay";
-};
-
-&uart5 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_uart5>;
-       status = "okay";
-};
-
-&usbotg {
-       vbus-supply = <&reg_usb_otg_vbus>;
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_usbotg>;
-       disable-over-current;
-       status = "okay";
-};
-
-&usbh1 {
-       vbus-supply = <&reg_usb_h1_vbus>;
-       status = "okay";
-};
-
-&usdhc3 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_usdhc3>;
-       cd-gpios = <&gpio7 0 0>;
-       vmmc-supply = <&reg_3p3v>;
-       status = "okay";
-};
index 16e7ad3d98ad36b2d83808bdb2b2feb6b78c0a70..cf13239a16190e4d50fe9a7088810eb45258f0a5 100644 (file)
@@ -9,21 +9,19 @@
  * http://www.gnu.org/copyleft/gpl.html
  */
 
+#include <dt-bindings/gpio/gpio.h>
+
 / {
        /* these are used by bootloader for disabling nodes */
        aliases {
-               can0 = &can1;
-               ethernet0 = &fec;
                ethernet1 = &eth1;
                led0 = &led0;
                led1 = &led1;
                led2 = &led2;
                nand = &gpmi;
-               sky2 = &eth1;
                ssi0 = &ssi1;
                usb0 = &usbh1;
                usb1 = &usbotg;
-               usdhc2 = &usdhc3;
        };
 
        chosen {
 
        leds {
                compatible = "gpio-leds";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_gpio_leds>;
 
                led0: user1 {
                        label = "user1";
-                       gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
+                       gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDG */
                        default-state = "on";
                        linux,default-trigger = "heartbeat";
                };
 
                led1: user2 {
                        label = "user2";
-                       gpios = <&gpio4 7 0>; /* 103 -> MX6_PANLEDR */
+                       gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDR */
                        default-state = "off";
                };
 
                led2: user3 {
                        label = "user3";
-                       gpios = <&gpio4 15 1>; /* 111 -> MX6_LOCLED# */
+                       gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; /* MX6_LOCLED# */
                        default-state = "off";
                };
        };
@@ -66,7 +66,9 @@
 
        pps {
                compatible = "pps-gpio";
-               gpios = <&gpio1 26 0>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_pps>;
+               gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>;
                status = "okay";
        };
 
                        regulator-name = "usb_otg_vbus";
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
-                       gpio = <&gpio3 22 0>;
+                       gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
                        enable-active-high;
                };
        };
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_enet>;
        phy-mode = "rgmii";
-       phy-reset-gpios = <&gpio1 30 0>;
+       phy-reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
        status = "okay";
 };
 
                #gpio-cells = <2>;
        };
 
-       hwmon: gsc@29 {
-               compatible = "gw,gsp";
-               reg = <0x29>;
-       };
-
        rtc: ds1672@68 {
                compatible = "dallas,ds1672";
                reg = <0x68>;
                        };
                };
        };
-
-       pciswitch: pex8609@3f {
-               compatible = "plx,pex8609";
-               reg = <0x3f>;
-       };
-
-       pciclkgen: si52147@6b {
-               compatible = "sil,si52147";
-               reg = <0x6b>;
-       };
 };
 
 &i2c3 {
        pinctrl-0 = <&pinctrl_i2c3>;
        status = "okay";
 
-       accelerometer: fxos8700@1e {
-               compatible = "fsl,fxos8700";
-               reg = <0x1e>;
-       };
-
        codec: sgtl5000@0a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                VDDIO-supply = <&reg_3p3v>;
        };
 
-       hdmiin: adv7611@4c {
-               compatible = "adi,adv7611";
-               reg = <0x4c>;
-       };
-
        touchscreen: egalax_ts@04 {
                compatible = "eeti,egalax_ts";
                reg = <0x04>;
                interrupt-parent = <&gpio7>;
-               interrupts = <12 2>; /* gpio7_12 active low */
-               wakeup-gpios = <&gpio7 12 0>;
+               interrupts = <12 2>;
+               wakeup-gpios = <&gpio7 12 GPIO_ACTIVE_LOW>;
        };
+};
 
-       videoout: adv7393@2a {
-               compatible = "adi,adv7393";
-               reg = <0x2a>;
+&ldb {
+       status = "okay";
+
+       lvds-channel@1 {
+               fsl,data-mapping = "spwg";
+               fsl,data-width = <18>;
+               status = "okay";
+
+               display-timings {
+                       native-mode = <&timing0>;
+                       timing0: hsd100pxn1 {
+                               clock-frequency = <65000000>;
+                               hactive = <1024>;
+                               vactive = <768>;
+                               hback-porch = <220>;
+                               hfront-porch = <40>;
+                               vback-porch = <21>;
+                               vfront-porch = <7>;
+                               hsync-len = <60>;
+                               vsync-len = <10>;
+                       };
+               };
        };
+};
+
+&pcie {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pcie>;
+       reset-gpio = <&gpio1 29 GPIO_ACTIVE_LOW>;
+       status = "okay";
 
-       videoin: adv7180@20 {
-               compatible = "adi,adv7180";
-               reg = <0x20>;
+       eth1: sky2@8 { /* MAC/PHY on bus 8 */
+               compatible = "marvell,sky2";
        };
 };
 
-&iomuxc {
+&pwm4 {
        pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_hog>;
+       pinctrl-0 = <&pinctrl_pwm4>;
+       status = "okay";
+};
 
-       imx6qdl-gw54xx {
-               pinctrl_hog: hoggrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_EIM_D22__GPIO3_IO22    0x80000000 /* OTG_PWR_EN */
-                               MX6QDL_PAD_EIM_D19__GPIO3_IO19    0x80000000 /* SPINOR_CS0# */
-                               MX6QDL_PAD_ENET_RXD1__GPIO1_IO26  0x80000000 /* GPS_PPS */
-                               MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28 0x80000000 /* PCIE IRQ */
-                               MX6QDL_PAD_ENET_TXD1__GPIO1_IO29  0x80000000 /* PCIE RST */
-                               MX6QDL_PAD_GPIO_0__CCM_CLKO1      0x000130b0 /* AUD4_MCK */
-                               MX6QDL_PAD_GPIO_2__GPIO1_IO02     0x80000000 /* CAN_STBY */
-                               MX6QDL_PAD_GPIO_17__GPIO7_IO12    0x80000000 /* TOUCH_IRQ# */
-                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06   0x80000000 /* user1 led */
-                               MX6QDL_PAD_KEY_ROW0__GPIO4_IO07   0x80000000 /* user2 led */
-                               MX6QDL_PAD_KEY_ROW4__GPIO4_IO15   0x80000000 /* user3 led */
-                               MX6QDL_PAD_SD1_DAT0__GPIO1_IO16   0x80000000 /* USBHUB_RST# */
-                               MX6QDL_PAD_SD1_DAT3__GPIO1_IO21   0x80000000 /* MIPI_DIO */
-                        >;
-               };
+&ssi1 {
+       fsl,mode = "i2s-slave";
+       status = "okay";
+};
+
+&ssi2 {
+       fsl,mode = "i2s-slave";
+       status = "okay";
+};
+
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart1>;
+       status = "okay";
+};
+
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart2>;
+       status = "okay";
+};
+
+&uart5 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart5>;
+       status = "okay";
+};
+
+&usbotg {
+       vbus-supply = <&reg_usb_otg_vbus>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usbotg>;
+       disable-over-current;
+       status = "okay";
+};
+
+&usbh1 {
+       vbus-supply = <&reg_usb_h1_vbus>;
+       status = "okay";
+};
+
+&usdhc3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usdhc3>;
+       cd-gpios = <&gpio7 0 GPIO_ACTIVE_HIGH>;
+       vmmc-supply = <&reg_3p3v>;
+       status = "okay";
+};
 
+&iomuxc {
+       imx6qdl-gw54xx {
                pinctrl_audmux: audmuxgrp {
                        fsl,pins = <
                                MX6QDL_PAD_SD2_DAT0__AUD4_RXD           0x130b0
                                MX6QDL_PAD_SD2_DAT3__AUD4_TXC           0x130b0
                                MX6QDL_PAD_SD2_DAT2__AUD4_TXD           0x110b0
                                MX6QDL_PAD_SD2_DAT1__AUD4_TXFS          0x130b0
+                               MX6QDL_PAD_GPIO_0__CCM_CLKO1            0x130b0 /* AUD4_MCK */
                        >;
                };
 
 
                pinctrl_flexcan1: flexcan1grp {
                        fsl,pins = <
-                               MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX        0x80000000
-                               MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX        0x80000000
+                               MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX        0x1b0b1
+                               MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX        0x1b0b1
+                               MX6QDL_PAD_GPIO_2__GPIO1_IO02           0x4001b0b0 /* CAN_STBY */
+                       >;
+               };
+
+               pinctrl_gpio_leds: gpioledsgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06         0x1b0b0
+                               MX6QDL_PAD_KEY_ROW0__GPIO4_IO07         0x1b0b0
+                               MX6QDL_PAD_KEY_ROW4__GPIO4_IO15         0x1b0b0
                        >;
                };
 
                        >;
                };
 
+               pinctrl_pcie: pciegrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28       0x1b0b0 /* PCIE IRQ */
+                               MX6QDL_PAD_ENET_TXD1__GPIO1_IO29        0x1b0b0 /* PCIE RST */
+                       >;
+               };
+
+               pinctrl_pps: ppsgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_ENET_RXD1__GPIO1_IO26        0x1b0b1
+                       >;
+               };
+
                pinctrl_pwm4: pwm4grp {
                        fsl,pins = <
                                MX6QDL_PAD_SD1_CMD__PWM4_OUT            0x1b0b1
                pinctrl_usbotg: usbotggrp {
                        fsl,pins = <
                                MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
+                               MX6QDL_PAD_EIM_D22__GPIO3_IO22          0x1b0b0 /* PWR_EN */
                        >;
                };
 
                };
        };
 };
-
-&ldb {
-       status = "okay";
-
-       lvds-channel@1 {
-               fsl,data-mapping = "spwg";
-               fsl,data-width = <18>;
-               status = "okay";
-
-               display-timings {
-                       native-mode = <&timing0>;
-                       timing0: hsd100pxn1 {
-                               clock-frequency = <65000000>;
-                               hactive = <1024>;
-                               vactive = <768>;
-                               hback-porch = <220>;
-                               hfront-porch = <40>;
-                               vback-porch = <21>;
-                               vfront-porch = <7>;
-                               hsync-len = <60>;
-                               vsync-len = <10>;
-                       };
-               };
-       };
-};
-
-&pcie {
-       reset-gpio = <&gpio1 29 0>;
-       status = "okay";
-
-       eth1: sky2@8 { /* MAC/PHY on bus 8 */
-               compatible = "marvell,sky2";
-       };
-};
-
-&pwm4 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_pwm4>;
-       status = "okay";
-};
-
-&ssi1 {
-       status = "okay";
-};
-
-&ssi2 {
-       status = "okay";
-};
-
-&uart1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_uart1>;
-       status = "okay";
-};
-
-&uart2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_uart2>;
-       status = "okay";
-};
-
-&uart5 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_uart5>;
-       status = "okay";
-};
-
-&usbotg {
-       vbus-supply = <&reg_usb_otg_vbus>;
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_usbotg>;
-       disable-over-current;
-       status = "okay";
-};
-
-&usbh1 {
-       vbus-supply = <&reg_usb_h1_vbus>;
-       status = "okay";
-};
-
-&usdhc3 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_usdhc3>;
-       cd-gpios = <&gpio7 0 0>;
-       vmmc-supply = <&reg_3p3v>;
-       status = "okay";
-};
diff --git a/arch/arm/boot/dts/imx6qdl-gw552x.dtsi b/arch/arm/boot/dts/imx6qdl-gw552x.dtsi
new file mode 100644 (file)
index 0000000..5c6587f
--- /dev/null
@@ -0,0 +1,267 @@
+/*
+ * Copyright 2014 Gateworks Corporation
+ *
+ * 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/gpio/gpio.h>
+
+/ {
+       /* these are used by bootloader for disabling nodes */
+       aliases {
+               led0 = &led0;
+               led1 = &led1;
+               led2 = &led2;
+               nand = &gpmi;
+               usb0 = &usbh1;
+               usb1 = &usbotg;
+       };
+
+       chosen {
+               bootargs = "console=ttymxc1,115200";
+       };
+
+       leds {
+               compatible = "gpio-leds";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_gpio_leds>;
+
+               led0: user1 {
+                       label = "user1";
+                       gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDG */
+                       default-state = "on";
+                       linux,default-trigger = "heartbeat";
+               };
+
+               led1: user2 {
+                       label = "user2";
+                       gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDR */
+                       default-state = "off";
+               };
+
+               led2: user3 {
+                       label = "user3";
+                       gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; /* MX6_LOCLED# */
+                       default-state = "off";
+               };
+       };
+
+       memory {
+               reg = <0x10000000 0x20000000>;
+       };
+
+       regulators {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               reg_1p0v: regulator@0 {
+                       compatible = "regulator-fixed";
+                       reg = <0>;
+                       regulator-name = "1P0V";
+                       regulator-min-microvolt = <1000000>;
+                       regulator-max-microvolt = <1000000>;
+                       regulator-always-on;
+               };
+
+               reg_3p3v: regulator@2 {
+                       compatible = "regulator-fixed";
+                       reg = <2>;
+                       regulator-name = "3P3V";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-always-on;
+               };
+
+               reg_5p0v: regulator@3 {
+                       compatible = "regulator-fixed";
+                       reg = <3>;
+                       regulator-name = "5P0V";
+                       regulator-min-microvolt = <5000000>;
+                       regulator-max-microvolt = <5000000>;
+                       regulator-always-on;
+               };
+       };
+};
+
+&gpmi {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_gpmi_nand>;
+       status = "okay";
+};
+
+&hdmi {
+       ddc-i2c-bus = <&i2c3>;
+       status = "okay";
+};
+
+&i2c1 {
+       clock-frequency = <100000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c1>;
+       status = "okay";
+
+       eeprom1: eeprom@50 {
+               compatible = "atmel,24c02";
+               reg = <0x50>;
+               pagesize = <16>;
+       };
+
+       eeprom2: eeprom@51 {
+               compatible = "atmel,24c02";
+               reg = <0x51>;
+               pagesize = <16>;
+       };
+
+       eeprom3: eeprom@52 {
+               compatible = "atmel,24c02";
+               reg = <0x52>;
+               pagesize = <16>;
+       };
+
+       eeprom4: eeprom@53 {
+               compatible = "atmel,24c02";
+               reg = <0x53>;
+               pagesize = <16>;
+       };
+
+       gpio: pca9555@23 {
+               compatible = "nxp,pca9555";
+               reg = <0x23>;
+               gpio-controller;
+               #gpio-cells = <2>;
+       };
+
+       rtc: ds1672@68 {
+               compatible = "dallas,ds1672";
+               reg = <0x68>;
+       };
+};
+
+&i2c2 {
+       clock-frequency = <100000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c2>;
+       status = "okay";
+};
+
+&i2c3 {
+       clock-frequency = <100000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c3>;
+       status = "okay";
+};
+
+&pcie {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pcie>;
+       reset-gpio = <&gpio1 29 GPIO_ACTIVE_LOW>;
+       status = "okay";
+};
+
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart2>;
+       status = "okay";
+};
+
+&uart3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart3>;
+       status = "okay";
+};
+
+&uart5 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart5>;
+       status = "okay"; };
+
+&usbh1 {
+       status = "okay";
+};
+
+&iomuxc {
+       imx6qdl-gw552x {
+               pinctrl_gpio_leds: gpioledsgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06         0x1b0b0
+                               MX6QDL_PAD_KEY_ROW0__GPIO4_IO07         0x1b0b0
+                               MX6QDL_PAD_KEY_ROW4__GPIO4_IO15         0x1b0b0
+                       >;
+               };
+
+               pinctrl_gpmi_nand: gpminandgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_NANDF_CLE__NAND_CLE          0xb0b1
+                               MX6QDL_PAD_NANDF_ALE__NAND_ALE          0xb0b1
+                               MX6QDL_PAD_NANDF_WP_B__NAND_WP_B        0xb0b1
+                               MX6QDL_PAD_NANDF_RB0__NAND_READY_B      0xb000
+                               MX6QDL_PAD_NANDF_CS0__NAND_CE0_B        0xb0b1
+                               MX6QDL_PAD_NANDF_CS1__NAND_CE1_B        0xb0b1
+                               MX6QDL_PAD_SD4_CMD__NAND_RE_B           0xb0b1
+                               MX6QDL_PAD_SD4_CLK__NAND_WE_B           0xb0b1
+                               MX6QDL_PAD_NANDF_D0__NAND_DATA00        0xb0b1
+                               MX6QDL_PAD_NANDF_D1__NAND_DATA01        0xb0b1
+                               MX6QDL_PAD_NANDF_D2__NAND_DATA02        0xb0b1
+                               MX6QDL_PAD_NANDF_D3__NAND_DATA03        0xb0b1
+                               MX6QDL_PAD_NANDF_D4__NAND_DATA04        0xb0b1
+                               MX6QDL_PAD_NANDF_D5__NAND_DATA05        0xb0b1
+                               MX6QDL_PAD_NANDF_D6__NAND_DATA06        0xb0b1
+                               MX6QDL_PAD_NANDF_D7__NAND_DATA07        0xb0b1
+                       >;
+               };
+
+               pinctrl_i2c1: i2c1grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
+                               MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
+                       >;
+               };
+
+               pinctrl_i2c2: i2c2grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
+                               MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
+                       >;
+               };
+
+               pinctrl_i2c3: i2c3grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
+                               MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
+                       >;
+               };
+
+               pinctrl_pcie: pciegrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_ENET_TXD1__GPIO1_IO29        0x1b0b0
+                       >;
+               };
+
+               pinctrl_uart2: uart2grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
+                               MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
+                       >;
+               };
+
+               pinctrl_uart3: uart3grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_EIM_D24__UART3_TX_DATA       0x1b0b1
+                               MX6QDL_PAD_EIM_D25__UART3_RX_DATA       0x1b0b1
+                       >;
+               };
+
+               pinctrl_uart5: uart5grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_KEY_COL1__UART5_TX_DATA      0x1b0b1
+                               MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA      0x1b0b1
+                       >;
+                };
+       };
+};
diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi
new file mode 100644 (file)
index 0000000..62841e8
--- /dev/null
@@ -0,0 +1,200 @@
+/*
+ * Copyright (C) 2013,2014 Russell King
+ */
+#include "imx6qdl-microsom.dtsi"
+#include "imx6qdl-microsom-ar8035.dtsi"
+
+/ {
+       chosen {
+               stdout-path = &uart1;
+       };
+
+       ir_recv: ir-receiver {
+               compatible = "gpio-ir-receiver";
+               gpios = <&gpio3 5 1>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_hummingboard_gpio3_5>;
+       };
+
+       regulators {
+               compatible = "simple-bus";
+
+               reg_3p3v: 3p3v {
+                       compatible = "regulator-fixed";
+                       regulator-name = "3P3V";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-always-on;
+               };
+
+               reg_usbh1_vbus: usb-h1-vbus {
+                       compatible = "regulator-fixed";
+                       enable-active-high;
+                       gpio = <&gpio1 0 0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_hummingboard_usbh1_vbus>;
+                       regulator-name = "usb_h1_vbus";
+                       regulator-min-microvolt = <5000000>;
+                       regulator-max-microvolt = <5000000>;
+               };
+
+               reg_usbotg_vbus: usb-otg-vbus {
+                       compatible = "regulator-fixed";
+                       enable-active-high;
+                       gpio = <&gpio3 22 0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_hummingboard_usbotg_vbus>;
+                       regulator-name = "usb_otg_vbus";
+                       regulator-min-microvolt = <5000000>;
+                       regulator-max-microvolt = <5000000>;
+               };
+       };
+
+       sound-spdif {
+               compatible = "fsl,imx-audio-spdif";
+               model = "On-board SPDIF";
+               /* IMX6 doesn't implement this yet */
+               spdif-controller = <&spdif>;
+               spdif-out;
+       };
+};
+
+&can1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_hummingboard_flexcan1>;
+       status = "okay";
+};
+
+&hdmi {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_hummingboard_hdmi>;
+       ddc-i2c-bus = <&i2c2>;
+       status = "okay";
+};
+
+&i2c1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_hummingboard_i2c1>;
+
+       /*
+        * Not fitted on Carrier-1 board... yet
+       status = "okay";
+
+       rtc: pcf8523@68 {
+               compatible = "nxp,pcf8523";
+               reg = <0x68>;
+       };
+        */
+};
+
+&i2c2 {
+       clock-frequency = <100000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_hummingboard_i2c2>;
+       status = "okay";
+};
+
+&iomuxc {
+       hummingboard {
+               pinctrl_hummingboard_flexcan1: hummingboard-flexcan1 {
+                       fsl,pins = <
+                               MX6QDL_PAD_SD3_CLK__FLEXCAN1_RX 0x80000000
+                               MX6QDL_PAD_SD3_CMD__FLEXCAN1_TX 0x80000000
+                       >;
+               };
+
+               pinctrl_hummingboard_gpio3_5: hummingboard-gpio3_5 {
+                       fsl,pins = <
+                               MX6QDL_PAD_EIM_DA5__GPIO3_IO05 0x1b0b1
+                       >;
+               };
+
+               pinctrl_hummingboard_hdmi: hummingboard-hdmi {
+                       fsl,pins = <
+                               MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0
+                       >;
+               };
+
+               pinctrl_hummingboard_i2c1: hummingboard-i2c1 {
+                       fsl,pins = <
+                               MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
+                               MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
+                       >;
+               };
+
+               pinctrl_hummingboard_i2c2: hummingboard-i2c2 {
+                       fsl,pins = <
+                               MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
+                               MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
+                       >;
+               };
+
+               pinctrl_hummingboard_spdif: hummingboard-spdif {
+                       fsl,pins = <MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x13091>;
+               };
+
+               pinctrl_hummingboard_usbh1_vbus: hummingboard-usbh1-vbus {
+                       fsl,pins = <MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0>;
+               };
+
+               pinctrl_hummingboard_usbotg_id: hummingboard-usbotg-id {
+                       /*
+                        * Similar to pinctrl_usbotg_2, but we want it
+                        * pulled down for a fixed host connection.
+                        */
+                       fsl,pins = <MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x13059>;
+               };
+
+               pinctrl_hummingboard_usbotg_vbus: hummingboard-usbotg-vbus {
+                       fsl,pins = <MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b0>;
+               };
+
+               pinctrl_hummingboard_usdhc2_aux: hummingboard-usdhc2-aux {
+                       fsl,pins = <
+                               MX6QDL_PAD_GPIO_4__GPIO1_IO04    0x1f071
+                       >;
+               };
+
+               pinctrl_hummingboard_usdhc2: hummingboard-usdhc2 {
+                       fsl,pins = <
+                               MX6QDL_PAD_SD2_CMD__SD2_CMD    0x17059
+                               MX6QDL_PAD_SD2_CLK__SD2_CLK    0x10059
+                               MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059
+                               MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059
+                               MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059
+                               MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x13059
+                       >;
+               };
+       };
+};
+
+&spdif {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_hummingboard_spdif>;
+       status = "okay";
+};
+
+&usbh1 {
+       disable-over-current;
+       vbus-supply = <&reg_usbh1_vbus>;
+       status = "okay";
+};
+
+&usbotg {
+       disable-over-current;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_hummingboard_usbotg_id>;
+       vbus-supply = <&reg_usbotg_vbus>;
+       status = "okay";
+};
+
+&usdhc2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <
+               &pinctrl_hummingboard_usdhc2_aux
+               &pinctrl_hummingboard_usdhc2
+       >;
+       vmmc-supply = <&reg_3p3v>;
+       cd-gpios = <&gpio1 4 0>;
+       status = "okay";
+};
index 42ff525ebe13bf4c1e4e5a7db0aba7f0d3ff0722..08218120e770af744b45b56b759898d57eb55d64 100644 (file)
        status = "okay";
 };
 
+&hdmi {
+       ddc-i2c-bus = <&i2c2>;
+       status = "okay";
+};
+
 &i2c1 {
        clock-frequency = <100000>;
        pinctrl-names = "default";
                VDDA-supply = <&reg_2p5v>;
                VDDIO-supply = <&reg_3p3v>;
        };
+
+       rtc: rtc@6f {
+               compatible = "isil,isl1208";
+               reg = <0x6f>;
+       };
+};
+
+&i2c2 {
+       clock-frequency = <100000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c2>;
+       status = "okay";
+};
+
+&i2c3 {
+       clock-frequency = <100000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c3>;
+       status = "okay";
 };
 
 &iomuxc {
                        >;
                };
 
+               pinctrl_i2c2: i2c2grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
+                               MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
+                       >;
+               };
+
+               pinctrl_i2c3: i2c3grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_GPIO_5__I2C3_SCL             0x4001b8b1
+                               MX6QDL_PAD_GPIO_16__I2C3_SDA            0x4001b8b1
+                       >;
+               };
+
                pinctrl_pwm1: pwm1grp {
                        fsl,pins = <
                                MX6QDL_PAD_SD1_DAT3__PWM1_OUT 0x1b0b1
index 2694aa84e18748b532a491b25f50fef0a2fc4a6d..0e50bb0a6b94c846f8dc0cf039893b1560fd4b97 100644 (file)
@@ -83,7 +83,7 @@
        };
 
        pmic@58 {
-               compatible = "dialog,da9063";
+               compatible = "dlg,da9063";
                reg = <0x58>;
                interrupt-parent = <&gpio4>;
                interrupts = <17 0x8>; /* active-low GPIO4_17 */
index ec43dde7852522b6cdcaa901fe3a453c9a0f1ac7..baf2f00d519adf8e763129509b1dd912535d4f5f 100644 (file)
                        gpio = <&gpio4 10 0>;
                        enable-active-high;
                };
+
+               reg_pcie: regulator@3 {
+                       compatible = "regulator-fixed";
+                       reg = <3>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_pcie_reg>;
+                       regulator-name = "MPCIE_3V3";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       gpio = <&gpio3 19 0>;
+                       regulator-always-on;
+                       enable-active-high;
+               };
        };
 
        gpio-keys {
        imx6qdl-sabresd {
                pinctrl_hog: hoggrp {
                        fsl,pins = <
-                               MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x80000000
-                               MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x80000000
-                               MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x80000000
-                               MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x80000000
+                               MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x1b0b0
+                               MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x1b0b0
+                               MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x1b0b0
+                               MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x1b0b0
                                MX6QDL_PAD_GPIO_0__CCM_CLKO1    0x130b0
-                               MX6QDL_PAD_NANDF_CLE__GPIO6_IO07 0x80000000
-                               MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000
-                               MX6QDL_PAD_EIM_D22__GPIO3_IO22  0x80000000
-                               MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25 0x80000000
+                               MX6QDL_PAD_NANDF_CLE__GPIO6_IO07 0x1b0b0
+                               MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x1b0b0
+                               MX6QDL_PAD_EIM_D22__GPIO3_IO22  0x1b0b0
+                               MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25 0x1b0b0
                        >;
                };
 
 
                pinctrl_gpio_keys: gpio_keysgrp {
                        fsl,pins = <
-                               MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x80000000
-                               MX6QDL_PAD_GPIO_4__GPIO1_IO04  0x80000000
-                               MX6QDL_PAD_GPIO_5__GPIO1_IO05  0x80000000
+                               MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x1b0b0
+                               MX6QDL_PAD_GPIO_4__GPIO1_IO04  0x1b0b0
+                               MX6QDL_PAD_GPIO_5__GPIO1_IO05  0x1b0b0
                        >;
                };
 
 
                pinctrl_pcie: pciegrp {
                        fsl,pins = <
-                               MX6QDL_PAD_GPIO_17__GPIO7_IO12  0x80000000
+                               MX6QDL_PAD_GPIO_17__GPIO7_IO12  0x1b0b0
+                       >;
+               };
+
+               pinctrl_pcie_reg: pciereggrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_EIM_D19__GPIO3_IO19  0x1b0b0
                        >;
                };
 
        gpio_leds {
                pinctrl_gpio_leds: gpioledsgrp {
                        fsl,pins = <
-                               MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000
+                               MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x1b0b0
                        >;
                };
        };
index c701af9580067d287cc0bffbc0afe074c8ddab7d..9596ed5867e6d9a6b838d5c6880ab0d86b26bb4b 100644 (file)
 
                pcie: pcie@0x01000000 {
                        compatible = "fsl,imx6q-pcie", "snps,dw-pcie";
-                       reg = <0x01ffc000 0x4000>; /* DBI */
+                       reg = <0x01ffc000 0x04000>,
+                             <0x01f00000 0x80000>;
+                       reg-names = "dbi", "config";
                        #address-cells = <3>;
                        #size-cells = <2>;
                        device_type = "pci";
                                };
 
                                ssi1: ssi@02028000 {
+                                       #sound-dai-cells = <0>;
                                        compatible = "fsl,imx6q-ssi",
                                                        "fsl,imx51-ssi";
                                        reg = <0x02028000 0x4000>;
                                        interrupts = <0 46 IRQ_TYPE_LEVEL_HIGH>;
-                                       clocks = <&clks IMX6QDL_CLK_SSI1_IPG>;
+                                       clocks = <&clks IMX6QDL_CLK_SSI1_IPG>,
+                                                <&clks IMX6QDL_CLK_SSI1>;
+                                       clock-names = "ipg", "baud";
                                        dmas = <&sdma 37 1 0>,
                                               <&sdma 38 1 0>;
                                        dma-names = "rx", "tx";
                                };
 
                                ssi2: ssi@0202c000 {
+                                       #sound-dai-cells = <0>;
                                        compatible = "fsl,imx6q-ssi",
                                                        "fsl,imx51-ssi";
                                        reg = <0x0202c000 0x4000>;
                                        interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>;
-                                       clocks = <&clks IMX6QDL_CLK_SSI2_IPG>;
+                                       clocks = <&clks IMX6QDL_CLK_SSI2_IPG>,
+                                                <&clks IMX6QDL_CLK_SSI2>;
+                                       clock-names = "ipg", "baud";
                                        dmas = <&sdma 41 1 0>,
                                               <&sdma 42 1 0>;
                                        dma-names = "rx", "tx";
                                };
 
                                ssi3: ssi@02030000 {
+                                       #sound-dai-cells = <0>;
                                        compatible = "fsl,imx6q-ssi",
                                                        "fsl,imx51-ssi";
                                        reg = <0x02030000 0x4000>;
                                        interrupts = <0 48 IRQ_TYPE_LEVEL_HIGH>;
-                                       clocks = <&clks IMX6QDL_CLK_SSI3_IPG>;
+                                       clocks = <&clks IMX6QDL_CLK_SSI3_IPG>,
+                                                <&clks IMX6QDL_CLK_SSI3>;
+                                       clock-names = "ipg", "baud";
                                        dmas = <&sdma 45 1 0>,
                                               <&sdma 46 1 0>;
                                        dma-names = "rx", "tx";
                                reg = <0x02098000 0x4000>;
                                interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX6QDL_CLK_GPT_IPG>,
-                                        <&clks IMX6QDL_CLK_GPT_IPG_PER>;
-                               clock-names = "ipg", "per";
+                                        <&clks IMX6QDL_CLK_GPT_IPG_PER>,
+                                        <&clks IMX6QDL_CLK_GPT_3M>;
+                               clock-names = "ipg", "per", "osc_per";
                        };
 
                        gpio1: gpio@0209c000 {
index 3f9e041c0252178c005b75387de9c20a58d58426..898d14fd765f75ef41196a216f143e39505afd2e 100644 (file)
                reg = <0x80000000 0x40000000>;
        };
 
+       backlight {
+               compatible = "pwm-backlight";
+               pwms = <&pwm1 0 5000000>;
+               brightness-levels = <0 4 8 16 32 64 128 255>;
+               default-brightness-level = <6>;
+       };
+
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
                        regulator-max-microvolt = <4325000>;
                        regulator-boot-on;
                };
+
+               reg_lcd_3v3: regulator@4 {
+                       compatible = "regulator-fixed";
+                       reg = <4>;
+                       regulator-name = "lcd-3v3";
+                       gpio = <&gpio4 3 0>;
+                       enable-active-high;
+               };
        };
 
        sound {
                        >;
                };
 
-               pinctrl_led: ledgrp {
-                       fsl,pins = <
-                               MX6SL_PAD_HSIC_STROBE__GPIO3_IO20 0x17059
-                       >;
-               };
-
                pinctrl_kpp: kppgrp {
                        fsl,pins = <
                                MX6SL_PAD_KEY_ROW0__KEY_ROW0    0x1b010
                        >;
                };
 
+               pinctrl_lcd: lcdgrp {
+                       fsl,pins = <
+                               MX6SL_PAD_LCD_DAT0__LCD_DATA00 0x1b0b0
+                               MX6SL_PAD_LCD_DAT1__LCD_DATA01 0x1b0b0
+                               MX6SL_PAD_LCD_DAT2__LCD_DATA02 0x1b0b0
+                               MX6SL_PAD_LCD_DAT3__LCD_DATA03 0x1b0b0
+                               MX6SL_PAD_LCD_DAT4__LCD_DATA04 0x1b0b0
+                               MX6SL_PAD_LCD_DAT5__LCD_DATA05 0x1b0b0
+                               MX6SL_PAD_LCD_DAT6__LCD_DATA06 0x1b0b0
+                               MX6SL_PAD_LCD_DAT7__LCD_DATA07 0x1b0b0
+                               MX6SL_PAD_LCD_DAT8__LCD_DATA08 0x1b0b0
+                               MX6SL_PAD_LCD_DAT9__LCD_DATA09 0x1b0b0
+                               MX6SL_PAD_LCD_DAT10__LCD_DATA10 0x1b0b0
+                               MX6SL_PAD_LCD_DAT11__LCD_DATA11 0x1b0b0
+                               MX6SL_PAD_LCD_DAT12__LCD_DATA12 0x1b0b0
+                               MX6SL_PAD_LCD_DAT13__LCD_DATA13 0x1b0b0
+                               MX6SL_PAD_LCD_DAT14__LCD_DATA14 0x1b0b0
+                               MX6SL_PAD_LCD_DAT15__LCD_DATA15 0x1b0b0
+                               MX6SL_PAD_LCD_DAT16__LCD_DATA16 0x1b0b0
+                               MX6SL_PAD_LCD_DAT17__LCD_DATA17 0x1b0b0
+                               MX6SL_PAD_LCD_DAT18__LCD_DATA18 0x1b0b0
+                               MX6SL_PAD_LCD_DAT19__LCD_DATA19 0x1b0b0
+                               MX6SL_PAD_LCD_DAT20__LCD_DATA20 0x1b0b0
+                               MX6SL_PAD_LCD_DAT21__LCD_DATA21 0x1b0b0
+                               MX6SL_PAD_LCD_DAT22__LCD_DATA22 0x1b0b0
+                               MX6SL_PAD_LCD_DAT23__LCD_DATA23 0x1b0b0
+                               MX6SL_PAD_LCD_CLK__LCD_CLK 0x1b0b0
+                               MX6SL_PAD_LCD_ENABLE__LCD_ENABLE 0x1b0b0
+                               MX6SL_PAD_LCD_HSYNC__LCD_HSYNC 0x1b0b0
+                               MX6SL_PAD_LCD_VSYNC__LCD_VSYNC 0x1b0b0
+                       >;
+               };
+
+               pinctrl_led: ledgrp {
+                       fsl,pins = <
+                               MX6SL_PAD_HSIC_STROBE__GPIO3_IO20 0x17059
+                       >;
+               };
+
+               pinctrl_pwm1: pwmgrp {
+                       fsl,pins = <
+                               MX6SL_PAD_PWM1__PWM1_OUT 0x110b0
+                       >;
+               };
+
                pinctrl_uart1: uart1grp {
                        fsl,pins = <
                                MX6SL_PAD_UART1_RXD__UART1_RX_DATA      0x1b0b1
        status = "okay";
 };
 
+&lcdif {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_lcd>;
+       lcd-supply = <&reg_lcd_3v3>;
+       display = <&display0>;
+       status = "okay";
+
+       display0: display0 {
+               bits-per-pixel = <32>;
+               bus-width = <24>;
+
+               display-timings {
+                       native-mode = <&timing0>;
+                       timing0: timing0 {
+                               clock-frequency = <33500000>;
+                               hactive = <800>;
+                               vactive = <480>;
+                               hback-porch = <89>;
+                               hfront-porch = <164>;
+                               vback-porch = <23>;
+                               vfront-porch = <10>;
+                               hsync-len = <10>;
+                               vsync-len = <10>;
+                               hsync-active = <0>;
+                               vsync-active = <0>;
+                               de-active = <1>;
+                               pixelclk-active = <0>;
+                       };
+               };
+       };
+};
+
+&pwm1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pwm1>;
+       status = "okay";
+};
+
 &ssi2 {
        status = "okay";
 };
index c75800ca8b355fbdf2da2d3ee62e346078948811..dfd83e6d80879f9be696a3a065b8756d549d6f14 100644 (file)
                                };
 
                                ssi1: ssi@02028000 {
+                                       #sound-dai-cells = <0>;
                                        compatible = "fsl,imx6sl-ssi",
                                                        "fsl,imx51-ssi";
                                        reg = <0x02028000 0x4000>;
                                        interrupts = <0 46 IRQ_TYPE_LEVEL_HIGH>;
-                                       clocks = <&clks IMX6SL_CLK_SSI1>;
+                                       clocks = <&clks IMX6SL_CLK_SSI1_IPG>,
+                                                <&clks IMX6SL_CLK_SSI1>;
+                                       clock-names = "ipg", "baud";
                                        dmas = <&sdma 37 1 0>,
                                               <&sdma 38 1 0>;
                                        dma-names = "rx", "tx";
                                };
 
                                ssi2: ssi@0202c000 {
+                                       #sound-dai-cells = <0>;
                                        compatible = "fsl,imx6sl-ssi",
                                                        "fsl,imx51-ssi";
                                        reg = <0x0202c000 0x4000>;
                                        interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>;
-                                       clocks = <&clks IMX6SL_CLK_SSI2>;
+                                       clocks = <&clks IMX6SL_CLK_SSI2_IPG>,
+                                                <&clks IMX6SL_CLK_SSI2>;
+                                       clock-names = "ipg", "baud";
                                        dmas = <&sdma 41 1 0>,
                                               <&sdma 42 1 0>;
                                        dma-names = "rx", "tx";
                                };
 
                                ssi3: ssi@02030000 {
+                                       #sound-dai-cells = <0>;
                                        compatible = "fsl,imx6sl-ssi",
                                                        "fsl,imx51-ssi";
                                        reg = <0x02030000 0x4000>;
                                        interrupts = <0 48 IRQ_TYPE_LEVEL_HIGH>;
-                                       clocks = <&clks IMX6SL_CLK_SSI3>;
+                                       clocks = <&clks IMX6SL_CLK_SSI3_IPG>,
+                                                <&clks IMX6SL_CLK_SSI3>;
+                                       clock-names = "ipg", "baud";
                                        dmas = <&sdma 45 1 0>,
                                               <&sdma 46 1 0>;
                                        dma-names = "rx", "tx";
                                };
                        };
 
+                       tempmon: tempmon {
+                               compatible = "fsl,imx6q-tempmon";
+                               interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>;
+                               fsl,tempmon = <&anatop>;
+                               fsl,tempmon-data = <&ocotp>;
+                               clocks = <&clks IMX6SL_CLK_PLL3_USB_OTG>;
+                       };
+
                        usbphy1: usbphy@020c9000 {
                                compatible = "fsl,imx6sl-usbphy", "fsl,imx23-usbphy";
                                reg = <0x020c9000 0x1000>;
                        };
 
                        lcdif: lcdif@020f8000 {
+                               compatible = "fsl,imx6sl-lcdif", "fsl,imx28-lcdif";
                                reg = <0x020f8000 0x4000>;
                                interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&clks IMX6SL_CLK_LCDIF_PIX>,
+                                        <&clks IMX6SL_CLK_LCDIF_AXI>,
+                                        <&clks IMX6SL_CLK_DUMMY>;
+                               clock-names = "pix", "axi", "disp_axi";
+                               status = "disabled";
                        };
 
                        dcp: dcp@020fc000 {
                        };
 
                        ocotp: ocotp@021bc000 {
-                               compatible = "fsl,imx6sl-ocotp";
+                               compatible = "fsl,imx6sl-ocotp", "syscon";
                                reg = <0x021bc000 0x4000>;
                        };
 
index a3980d9705905446c01218ceafaf729890377456..82d6b34527b7a7ef7cddbb7d1beccefcc74153ac 100644 (file)
                reg = <0x80000000 0x40000000>;
        };
 
+       backlight {
+               compatible = "pwm-backlight";
+               pwms = <&pwm3 0 5000000>;
+               brightness-levels = <0 4 8 16 32 64 128 255>;
+               default-brightness-level = <6>;
+       };
+
        gpio-keys {
                compatible = "gpio-keys";
                pinctrl-names = "default";
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
                };
+
+               reg_lcd_3v3: regulator@4 {
+                       compatible = "regulator-fixed";
+                       reg = <4>;
+                       regulator-name = "lcd-3v3";
+                       gpio = <&gpio3 27 0>;
+                       enable-active-high;
+               };
        };
 
        sound {
        };
 };
 
+&lcdif1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_lcd>;
+       lcd-supply = <&reg_lcd_3v3>;
+       display = <&display0>;
+       status = "okay";
+
+       display0: display0 {
+               bits-per-pixel = <16>;
+               bus-width = <24>;
+
+               display-timings {
+                       native-mode = <&timing0>;
+                       timing0: timing0 {
+                               clock-frequency = <33500000>;
+                               hactive = <800>;
+                               vactive = <480>;
+                               hback-porch = <89>;
+                               hfront-porch = <164>;
+                               vback-porch = <23>;
+                               vfront-porch = <10>;
+                               hsync-len = <10>;
+                               vsync-len = <10>;
+                               hsync-active = <0>;
+                               vsync-active = <0>;
+                               de-active = <1>;
+                               pixelclk-active = <0>;
+                       };
+               };
+       };
+};
+
+&pwm3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pwm3>;
+       status = "okay";
+};
+
 &ssi2 {
        status = "okay";
 };
                        >;
                };
 
+               pinctrl_lcd: lcdgrp {
+                       fsl,pins = <
+                               MX6SX_PAD_LCD1_DATA00__LCDIF1_DATA_0 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA01__LCDIF1_DATA_1 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA02__LCDIF1_DATA_2 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA03__LCDIF1_DATA_3 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA04__LCDIF1_DATA_4 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA05__LCDIF1_DATA_5 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA06__LCDIF1_DATA_6 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA07__LCDIF1_DATA_7 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA08__LCDIF1_DATA_8 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA09__LCDIF1_DATA_9 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA10__LCDIF1_DATA_10 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA11__LCDIF1_DATA_11 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA12__LCDIF1_DATA_12 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA13__LCDIF1_DATA_13 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA14__LCDIF1_DATA_14 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA15__LCDIF1_DATA_15 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA16__LCDIF1_DATA_16 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA17__LCDIF1_DATA_17 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA18__LCDIF1_DATA_18 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA19__LCDIF1_DATA_19 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA20__LCDIF1_DATA_20 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA21__LCDIF1_DATA_21 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA22__LCDIF1_DATA_22 0x4001b0b0
+                               MX6SX_PAD_LCD1_DATA23__LCDIF1_DATA_23 0x4001b0b0
+                               MX6SX_PAD_LCD1_CLK__LCDIF1_CLK  0x4001b0b0
+                               MX6SX_PAD_LCD1_ENABLE__LCDIF1_ENABLE 0x4001b0b0
+                               MX6SX_PAD_LCD1_VSYNC__LCDIF1_VSYNC 0x4001b0b0
+                               MX6SX_PAD_LCD1_HSYNC__LCDIF1_HSYNC 0x4001b0b0
+                               MX6SX_PAD_LCD1_RESET__GPIO3_IO_27 0x4001b0b0
+                       >;
+               };
+
+               pinctrl_pwm3: pwm3grp-1 {
+                       fsl,pins = <
+                               MX6SX_PAD_SD1_DATA2__PWM3_OUT 0x110b0
+                       >;
+               };
+
                pinctrl_vcc_sd3: vccsd3grp {
                        fsl,pins = <
                                MX6SX_PAD_KEY_COL1__GPIO2_IO_11         0x17059
index f4b9da65bc0f19e65ed1c2aa71cb1f11f447757c..888dd767a0b34dd3964d6cc530346398f1ed4dbc 100644 (file)
                                };
 
                                ssi1: ssi@02028000 {
+                                       #sound-dai-cells = <0>;
                                        compatible = "fsl,imx6sx-ssi", "fsl,imx51-ssi";
                                        reg = <0x02028000 0x4000>;
                                        interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
                                };
 
                                ssi2: ssi@0202c000 {
+                                       #sound-dai-cells = <0>;
                                        compatible = "fsl,imx6sx-ssi", "fsl,imx51-ssi";
                                        reg = <0x0202c000 0x4000>;
                                        interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
                                };
 
                                ssi3: ssi@02030000 {
+                                       #sound-dai-cells = <0>;
                                        compatible = "fsl,imx6sx-ssi", "fsl,imx51-ssi";
                                        reg = <0x02030000 0x4000>;
                                        interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
                                reg = <0x02098000 0x4000>;
                                interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX6SX_CLK_GPT_BUS>,
-                                        <&clks IMX6SX_CLK_GPT_SERIAL>;
+                                        <&clks IMX6SX_CLK_GPT_3M>;
                                clock-names = "ipg", "per";
                        };
 
                                };
 
                                lcdif1: lcdif@02220000 {
+                                       compatible = "fsl,imx6sx-lcdif", "fsl,imx28-lcdif";
                                        reg = <0x02220000 0x4000>;
                                        interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
                                        clocks = <&clks IMX6SX_CLK_LCDIF1_PIX>,
                                };
 
                                lcdif2: lcdif@02224000 {
+                                       compatible = "fsl,imx6sx-lcdif", "fsl,imx28-lcdif";
                                        reg = <0x02224000 0x4000>;
                                        interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
                                        clocks = <&clks IMX6SX_CLK_LCDIF2_PIX>,
index 03d01909525b236972f8fddd692b9cfeb74f2db5..c358b4b9a073738c5bf1830a9840c1f17a557c25 100644 (file)
@@ -67,6 +67,8 @@
                        clock-names = "usb";
                        interrupts = <GIC_SPI 414 IRQ_TYPE_EDGE_RISING>;
                        ranges;
+                       dma-coherent;
+                       dma-ranges;
                        status = "disabled";
 
                        dwc3@25010000 {
                                usb-phy = <&usb1_phy>, <&usb1_phy>;
                        };
                };
+
+               dspgpio0: keystone_dsp_gpio@02620240 {
+                       compatible = "ti,keystone-dsp-gpio";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio,syscon-dev = <&devctrl 0x240>;
+               };
        };
 };
+
+&mdio {
+       reg = <0x24200f00 0x100>;
+};
index c73899c73118a7c1c8b94482358f23081895dee1..d721f4b737f79b18387f3983d3e740bcdbb9bf76 100644 (file)
 
        soc {
                /include/ "k2hk-clocks.dtsi"
+
+               dspgpio0: keystone_dsp_gpio@02620240 {
+                       compatible = "ti,keystone-dsp-gpio";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio,syscon-dev = <&devctrl 0x240>;
+               };
+
+               dspgpio1: keystone_dsp_gpio@2620244 {
+                       compatible = "ti,keystone-dsp-gpio";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio,syscon-dev = <&devctrl 0x244>;
+               };
+
+               dspgpio2: keystone_dsp_gpio@2620248 {
+                       compatible = "ti,keystone-dsp-gpio";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio,syscon-dev = <&devctrl 0x248>;
+               };
+
+               dspgpio3: keystone_dsp_gpio@262024c {
+                       compatible = "ti,keystone-dsp-gpio";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio,syscon-dev = <&devctrl 0x24c>;
+               };
+
+               dspgpio4: keystone_dsp_gpio@2620250 {
+                       compatible = "ti,keystone-dsp-gpio";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio,syscon-dev = <&devctrl 0x250>;
+               };
+
+               dspgpio5: keystone_dsp_gpio@2620254 {
+                       compatible = "ti,keystone-dsp-gpio";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio,syscon-dev = <&devctrl 0x254>;
+               };
+
+               dspgpio6: keystone_dsp_gpio@2620258 {
+                       compatible = "ti,keystone-dsp-gpio";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio,syscon-dev = <&devctrl 0x258>;
+               };
+
+               dspgpio7: keystone_dsp_gpio@262025c {
+                       compatible = "ti,keystone-dsp-gpio";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio,syscon-dev = <&devctrl 0x25c>;
+               };
        };
 };
index 1f7f479589e169cca383a2ecda1bbea69a82db16..e32c3baa77b8457bf3bacb230b1da53279890535 100644 (file)
                        clocks  = <&clkuart3>;
                        interrupts = <GIC_SPI 435 IRQ_TYPE_EDGE_RISING>;
                };
+
+               dspgpio0: keystone_dsp_gpio@02620240 {
+                       compatible = "ti,keystone-dsp-gpio";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio,syscon-dev = <&devctrl 0x240>;
+               };
+
+               dspgpio1: keystone_dsp_gpio@2620244 {
+                       compatible = "ti,keystone-dsp-gpio";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio,syscon-dev = <&devctrl 0x244>;
+               };
+
+               dspgpio2: keystone_dsp_gpio@2620248 {
+                       compatible = "ti,keystone-dsp-gpio";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio,syscon-dev = <&devctrl 0x248>;
+               };
+
+               dspgpio3: keystone_dsp_gpio@262024c {
+                       compatible = "ti,keystone-dsp-gpio";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio,syscon-dev = <&devctrl 0x24c>;
+               };
        };
 };
+
+&spi0 {
+       ti,davinci-spi-num-cs = <5>;
+};
+
+&spi1 {
+       ti,davinci-spi-num-cs = <3>;
+};
+
+&spi2 {
+       ti,davinci-spi-num-cs = <5>;
+       /* Pin muxed. Enabled and configured by Bootloader */
+       status = "disabled";
+};
+
+&mdio {
+       reg = <0x26200f00 0x100>;
+};
index 9e31fe7d31f8ed4401c0069074e83b1dd75f1e1b..5d3e83fa224258a093383a532b08640435be46ef 100644 (file)
                        compatible = "ti,keystone-usbphy";
                        #address-cells = <1>;
                        #size-cells = <1>;
-                       reg = <0x2620738 32>;
+                       reg = <0x2620738 24>;
                        status = "disabled";
                };
 
                        clock-names = "fck";
                        bus_freq        = <2500000>;
                };
+
+               kirq0: keystone_irq@26202a0 {
+                       compatible = "ti,keystone-irq";
+                       interrupts = <GIC_SPI 4 IRQ_TYPE_EDGE_RISING>;
+                       interrupt-controller;
+                       #interrupt-cells = <1>;
+                       ti,syscon-dev = <&devctrl 0x2a0>;
+               };
        };
 };
diff --git a/arch/arm/boot/dts/meson.dtsi b/arch/arm/boot/dts/meson.dtsi
new file mode 100644 (file)
index 0000000..e6539ea
--- /dev/null
@@ -0,0 +1,110 @@
+/*
+ * Copyright 2014 Carlo Caione <carlo@caione.org>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library 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 library; if not, write to the Free
+ *     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ *     MA 02110-1301 USA
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/include/ "skeleton.dtsi"
+
+/ {
+       interrupt-parent = <&gic>;
+
+       gic: interrupt-controller@c4301000 {
+               compatible = "arm,cortex-a9-gic";
+               reg = <0xc4301000 0x1000>,
+                     <0xc4300100 0x0100>;
+               interrupt-controller;
+               #interrupt-cells = <3>;
+       };
+
+       timer@c1109940 {
+               compatible = "amlogic,meson6-timer";
+               reg = <0xc1109940 0x14>;
+               interrupts = <0 10 1>;
+       };
+
+       soc {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               wdt: watchdog@c1109900 {
+                       compatible = "amlogic,meson6-wdt";
+                       reg = <0xc1109900 0x8>;
+               };
+
+               uart_AO: serial@c81004c0 {
+                       compatible = "amlogic,meson-uart";
+                       reg = <0xc81004c0 0x14>;
+                       interrupts = <0 90 1>;
+                       clocks = <&clk81>;
+                       status = "disabled";
+               };
+
+               uart_A: serial@c81084c0 {
+                       compatible = "amlogic,meson-uart";
+                       reg = <0xc81084c0 0x14>;
+                       interrupts = <0 90 1>;
+                       clocks = <&clk81>;
+                       status = "disabled";
+               };
+
+               uart_B: serial@c81084dc {
+                       compatible = "amlogic,meson-uart";
+                       reg = <0xc81084dc 0x14>;
+                       interrupts = <0 90 1>;
+                       clocks = <&clk81>;
+                       status = "disabled";
+               };
+
+               uart_C: serial@c8108700 {
+                       compatible = "amlogic,meson-uart";
+                       reg = <0xc8108700 0x14>;
+                       interrupts = <0 90 1>;
+                       clocks = <&clk81>;
+                       status = "disabled";
+               };
+       };
+}; /* end of / */
diff --git a/arch/arm/boot/dts/meson6-atv1200.dts b/arch/arm/boot/dts/meson6-atv1200.dts
new file mode 100644 (file)
index 0000000..dc2541f
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2014 Carlo Caione <carlo@caione.org>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library 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 library; if not, write to the Free
+ *     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ *     MA 02110-1301 USA
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+/include/ "meson6.dtsi"
+
+/ {
+       model = "Geniatech ATV1200";
+       compatible = "geniatech,atv1200";
+
+       aliases {
+               serial0 = &uart_AO;
+       };
+
+       memory {
+               reg = <0x40000000 0x80000000>;
+       };
+};
+
+&uart_AO {
+       status = "okay";
+};
diff --git a/arch/arm/boot/dts/meson6.dtsi b/arch/arm/boot/dts/meson6.dtsi
new file mode 100644 (file)
index 0000000..4ba4912
--- /dev/null
@@ -0,0 +1,78 @@
+/*
+ * Copyright 2014 Carlo Caione <carlo@caione.org>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library 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 library; if not, write to the Free
+ *     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ *     MA 02110-1301 USA
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/include/ "meson.dtsi"
+
+/ {
+       model = "Amlogic Meson6 SoC";
+       compatible = "amlogic,meson6";
+
+       interrupt-parent = <&gic>;
+
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               cpu@200 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a9";
+                       reg = <0x200>;
+               };
+
+               cpu@201 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a9";
+                       reg = <0x201>;
+               };
+       };
+
+       clk81: clk@0 {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <200000000>;
+       };
+}; /* end of / */
index 443b4467de157c4f4ae5cc5acf6c260fa70a5d1d..0da04701312021b34cb3ab167652ef4318c372a6 100644 (file)
 
 / {
        model = "bq Aquaris5";
+       compatible = "mundoreader,bq-aquaris5", "mediatek,mt6589";
+
+       chosen {
+               bootargs = "earlyprintk";
+       };
 
        memory {
                reg = <0x80000000 0x40000000>;
index d0297a05154953f23d47e5d6650305f2e1ebc46e..e3c7600ddb38117e4fd8808f7e4a5585517c9773 100644 (file)
@@ -81,8 +81,8 @@
                        clock-names = "system-clk", "rtc-clk";
                };
 
-               gic: interrupt-controller@10212000 {
-                       compatible = "arm,cortex-a15-gic";
+               gic: interrupt-controller@10211000 {
+                       compatible = "arm,cortex-a7-gic";
                        interrupt-controller;
                        #interrupt-cells = <3>;
                        reg = <0x10211000 0x1000>,
index 9be3c126637854cf1cc1b06ea7343eabc4f28d6e..ae89aad01595890511f241c5dd932505e24fa78e 100644 (file)
                        ti,hwmods = "mailbox";
                        ti,mbox-num-users = <4>;
                        ti,mbox-num-fifos = <6>;
+                       mbox_dsp: dsp {
+                               ti,mbox-tx = <0 0 0>;
+                               ti,mbox-rx = <1 0 0>;
+                       };
+                       mbox_iva: iva {
+                               ti,mbox-tx = <2 1 3>;
+                               ti,mbox-rx = <3 1 3>;
+                       };
                };
 
                timer1: timer@48028000 {
index 1a00f15d90963e8a5c2f4304eaa369b86e99891b..b56d71611026571d5486badcadce45749b97a1a9 100644 (file)
                        ti,hwmods = "mailbox";
                        ti,mbox-num-users = <4>;
                        ti,mbox-num-fifos = <6>;
+                       mbox_dsp: dsp {
+                               ti,mbox-tx = <0 0 0>;
+                               ti,mbox-rx = <1 0 0>;
+                       };
                };
 
                timer1: timer@49018000 {
index 1becefce821b5ca59e0d66e330b4e2884db61d57..06a8aec4e6eaeb3c966b36a46e6d353005157e2a 100644 (file)
 
        uart3_pins: pinmux_uart3_pins {
                pinctrl-single,pins = <
-                       0x16e (PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
-                       0x170 (PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */
+                       0x16e (PIN_INPUT | MUX_MODE0)   /* uart3_rx_irrx.uart3_rx_irrx */
+                       0x170 (PIN_OUTPUT | MUX_MODE0)  /* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */
                >;
        };
 
diff --git a/arch/arm/boot/dts/omap3-gta04.dts b/arch/arm/boot/dts/omap3-gta04.dts
deleted file mode 100644 (file)
index 021311f..0000000
+++ /dev/null
@@ -1,311 +0,0 @@
-/*
- * Copyright (C) 2013 Marek Belisko <marek@goldelico.com>
- *
- * Based on omap3-beagle-xm.dts
- *
- * 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 "omap36xx.dtsi"
-
-/ {
-       model = "OMAP3 GTA04";
-       compatible = "ti,omap3-gta04", "ti,omap36xx", "ti,omap3";
-
-       cpus {
-               cpu@0 {
-                       cpu0-supply = <&vcc>;
-               };
-       };
-
-       memory {
-               device_type = "memory";
-               reg = <0x80000000 0x20000000>; /* 512 MB */
-       };
-
-       gpio-keys {
-               compatible = "gpio-keys";
-
-               aux-button {
-                       label = "aux";
-                       linux,code = <169>;
-                       gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
-                       gpio-key,wakeup;
-               };
-       };
-
-       sound {
-               compatible = "ti,omap-twl4030";
-               ti,model = "gta04";
-
-               ti,mcbsp = <&mcbsp2>;
-               ti,codec = <&twl_audio>;
-       };
-
-       spi_lcd {
-               compatible = "spi-gpio";
-               #address-cells = <0x1>;
-               #size-cells = <0x0>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&spi_gpio_pins>;
-
-               gpio-sck = <&gpio1 12 0>;
-               gpio-miso = <&gpio1 18 0>;
-               gpio-mosi = <&gpio1 20 0>;
-               cs-gpios = <&gpio1 19 0>;
-               num-chipselects = <1>;
-
-               /* lcd panel */
-               lcd: td028ttec1@0 {
-                       compatible = "toppoly,td028ttec1";
-                       reg = <0>;
-                       spi-max-frequency = <100000>;
-                       spi-cpol;
-                       spi-cpha;
-
-                       label = "lcd";
-                       port {
-                               lcd_in: endpoint {
-                                       remote-endpoint = <&dpi_out>;
-                               };
-                       };
-               };
-       };
-};
-
-&omap3_pmx_core {
-       uart1_pins: pinmux_uart1_pins {
-               pinctrl-single,pins = <
-                       0x152 (PIN_INPUT | MUX_MODE0)           /* uart1_rx.uart1_rx */
-                       0x14c (PIN_OUTPUT |MUX_MODE0)           /* uart1_tx.uart1_tx */
-               >;
-       };
-
-       uart2_pins: pinmux_uart2_pins {
-               pinctrl-single,pins = <
-                       0x14a (PIN_INPUT | MUX_MODE0)           /* uart2_rx.uart2_rx */
-                       0x148 (PIN_OUTPUT | MUX_MODE0)          /* uart2_tx.uart2_tx */
-               >;
-       };
-
-       uart3_pins: pinmux_uart3_pins {
-               pinctrl-single,pins = <
-                       0x16e (PIN_INPUT | MUX_MODE0)           /* uart3_rx.uart3_rx */
-                       0x170 (PIN_OUTPUT | MUX_MODE0)          /* uart3_tx.uart3_tx */
-               >;
-       };
-
-       mmc1_pins: pinmux_mmc1_pins {
-               pinctrl-single,pins = <
-                       0x114 (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_clk.sdmmc1_clk */
-                       0x116 (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_cmd.sdmmc1_cmd */
-                       0x118 (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_dat0.sdmmc1_dat0 */
-                       0x11a (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_dat1.sdmmc1_dat1 */
-                       0x11c (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_dat2.sdmmc1_dat2 */
-                       0x11e (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_dat3.sdmmc1_dat3 */
-               >;
-       };
-
-       dss_dpi_pins: pinmux_dss_dpi_pins {
-               pinctrl-single,pins = <
-                       0x0a4 (PIN_OUTPUT | MUX_MODE0)   /* dss_pclk.dss_pclk */
-                       0x0a6 (PIN_OUTPUT | MUX_MODE0)   /* dss_hsync.dss_hsync */
-                       0x0a8 (PIN_OUTPUT | MUX_MODE0)   /* dss_vsync.dss_vsync */
-                       0x0aa (PIN_OUTPUT | MUX_MODE0)   /* dss_acbias.dss_acbias */
-                       0x0ac (PIN_OUTPUT | MUX_MODE0)   /* dss_data0.dss_data0 */
-                       0x0ae (PIN_OUTPUT | MUX_MODE0)   /* dss_data1.dss_data1 */
-                       0x0b0 (PIN_OUTPUT | MUX_MODE0)   /* dss_data2.dss_data2 */
-                       0x0b2 (PIN_OUTPUT | MUX_MODE0)   /* dss_data3.dss_data3 */
-                       0x0b4 (PIN_OUTPUT | MUX_MODE0)   /* dss_data4.dss_data4 */
-                       0x0b6 (PIN_OUTPUT | MUX_MODE0)   /* dss_data5.dss_data5 */
-                       0x0b8 (PIN_OUTPUT | MUX_MODE0)   /* dss_data6.dss_data6 */
-                       0x0ba (PIN_OUTPUT | MUX_MODE0)   /* dss_data7.dss_data7 */
-                       0x0bc (PIN_OUTPUT | MUX_MODE0)   /* dss_data8.dss_data8 */
-                       0x0be (PIN_OUTPUT | MUX_MODE0)   /* dss_data9.dss_data9 */
-                       0x0c0 (PIN_OUTPUT | MUX_MODE0)   /* dss_data10.dss_data10 */
-                       0x0c2 (PIN_OUTPUT | MUX_MODE0)   /* dss_data11.dss_data11 */
-                       0x0c4 (PIN_OUTPUT | MUX_MODE0)   /* dss_data12.dss_data12 */
-                       0x0c6 (PIN_OUTPUT | MUX_MODE0)   /* dss_data13.dss_data13 */
-                       0x0c8 (PIN_OUTPUT | MUX_MODE0)   /* dss_data14.dss_data14 */
-                       0x0ca (PIN_OUTPUT | MUX_MODE0)   /* dss_data15.dss_data15 */
-                       0x0cc (PIN_OUTPUT | MUX_MODE0)   /* dss_data16.dss_data16 */
-                       0x0ce (PIN_OUTPUT | MUX_MODE0)   /* dss_data17.dss_data17 */
-                       0x0d0 (PIN_OUTPUT | MUX_MODE0)   /* dss_data18.dss_data18 */
-                       0x0d2 (PIN_OUTPUT | MUX_MODE0)   /* dss_data19.dss_data19 */
-                       0x0d4 (PIN_OUTPUT | MUX_MODE0)   /* dss_data20.dss_data20 */
-                       0x0d6 (PIN_OUTPUT | MUX_MODE0)   /* dss_data21.dss_data21 */
-                       0x0d8 (PIN_OUTPUT | MUX_MODE0)   /* dss_data22.dss_data22 */
-                       0x0da (PIN_OUTPUT | MUX_MODE0)   /* dss_data23.dss_data23 */
-               >;
-       };
-
-       spi_gpio_pins: spi_gpio_pinmux {
-               pinctrl-single,pins = <0x5a8 (PIN_OUTPUT | MUX_MODE4) /* clk */
-                       0x5b6 (PIN_OUTPUT | MUX_MODE4) /* cs */
-                       0x5b8 (PIN_OUTPUT | MUX_MODE4) /* tx */
-                       0x5b4 (PIN_INPUT | MUX_MODE4) /* rx */
-               >;
-       };
-};
-
-&i2c1 {
-       clock-frequency = <2600000>;
-
-       twl: twl@48 {
-               reg = <0x48>;
-               interrupts = <7>; /* SYS_NIRQ cascaded to intc */
-               interrupt-parent = <&intc>;
-       };
-
-       twl_audio: audio {
-               compatible = "ti,twl4030-audio";
-               codec {
-               };
-       };
-};
-
-#include "twl4030.dtsi"
-#include "twl4030_omap3.dtsi"
-
-&i2c2 {
-       clock-frequency = <400000>;
-
-       /* pressure sensor */
-       bmp085@77 {
-               compatible = "bosch,bmp085";
-               reg = <0x77>;
-               interrupt-parent = <&gpio4>;
-               interrupts = <17 IRQ_TYPE_EDGE_RISING>;
-       };
-
-       /* accelerometer */
-       bma180@41 {
-               compatible = "bosch,bma180";
-               reg = <0x41>;
-               interrupt-parent = <&gpio3>;
-               interrupts = <19 IRQ_TYPE_LEVEL_HIGH>;
-       };
-
-       /* leds */
-       tca6507@45 {
-               compatible = "ti,tca6507";
-               #address-cells = <1>;
-               #size-cells = <0>;
-               reg = <0x45>;
-
-               gta04_led0: red_aux@0 {
-                       label = "gta04:red:aux";
-                       reg = <0x0>;
-               };
-
-               gta04_led1: green_aux@1 {
-                       label = "gta04:green:aux";
-                       reg = <0x1>;
-               };
-
-               gta04_led3: red_power@3 {
-                       label = "gta04:red:power";
-                       reg = <0x3>;
-                       linux,default-trigger = "default-on";
-               };
-
-               gta04_led4: green_power@4 {
-                       label = "gta04:green:power";
-                       reg = <0x4>;
-               };
-       };
-
-       /* compass aka magnetometer */
-       hmc5843@1e {
-               compatible = "honeywell,hmc5843";
-               reg = <0x1e>;
-       };
-
-       /* touchscreen */
-       tsc2007@48 {
-               compatible = "ti,tsc2007";
-               reg = <0x48>;
-               interrupt-parent = <&gpio6>;
-               interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
-               gpios = <&gpio6 0 GPIO_ACTIVE_LOW>;
-               ti,x-plate-ohms = <600>;
-       };
-};
-
-&i2c3 {
-       clock-frequency = <100000>;
-};
-
-&usb_otg_hs {
-       interface-type = <0>;
-       usb-phy = <&usb2_phy>;
-       phys = <&usb2_phy>;
-       phy-names = "usb2-phy";
-       mode = <3>;
-       power = <50>;
-};
-
-&mmc1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc1_pins>;
-       vmmc-supply = <&vmmc1>;
-       bus-width = <4>;
-       ti,non-removable;
-};
-
-&mmc2 {
-       vmmc-supply = <&vaux4>;
-       bus-width = <4>;
-       ti,non-removable;
-};
-
-&mmc3 {
-       status = "disabled";
-};
-
-&uart1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&uart1_pins>;
-};
-
-&uart2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&uart2_pins>;
-};
-
-&uart3 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&uart3_pins>;
-};
-
-&charger {
-       bb_uvolt = <3200000>;
-       bb_uamp = <150>;
-};
-
-&vaux4 {
-       regulator-min-microvolt = <2800000>;
-       regulator-max-microvolt = <3150000>;
-};
-
-/* Needed to power the DPI pins */
-&vpll2 {
-       regulator-always-on;
-};
-
-&dss {
-       pinctrl-names = "default";
-       pinctrl-0 = < &dss_dpi_pins >;
-
-       status = "okay";
-
-       port {
-               dpi_out: endpoint {
-                       remote-endpoint = <&lcd_in>;
-                       data-lines = <24>;
-               };
-       };
-};
diff --git a/arch/arm/boot/dts/omap3-gta04.dtsi b/arch/arm/boot/dts/omap3-gta04.dtsi
new file mode 100644 (file)
index 0000000..fd34f91
--- /dev/null
@@ -0,0 +1,451 @@
+/*
+ * Copyright (C) 2013 Marek Belisko <marek@goldelico.com>
+ *
+ * Based on omap3-beagle-xm.dts
+ *
+ * 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 "omap36xx.dtsi"
+
+/ {
+       model = "OMAP3 GTA04";
+       compatible = "ti,omap3-gta04", "ti,omap36xx", "ti,omap3";
+
+       cpus {
+               cpu@0 {
+                       cpu0-supply = <&vcc>;
+               };
+       };
+
+       memory {
+               device_type = "memory";
+               reg = <0x80000000 0x20000000>; /* 512 MB */
+       };
+
+       aliases {
+               display0 = &lcd;
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+
+               aux-button {
+                       label = "aux";
+                       linux,code = <169>;
+                       gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
+                       gpio-key,wakeup;
+               };
+       };
+
+       sound {
+               compatible = "ti,omap-twl4030";
+               ti,model = "gta04";
+
+               ti,mcbsp = <&mcbsp2>;
+               ti,codec = <&twl_audio>;
+       };
+
+       spi_lcd {
+               compatible = "spi-gpio";
+               #address-cells = <0x1>;
+               #size-cells = <0x0>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&spi_gpio_pins>;
+
+               gpio-sck = <&gpio1 12 0>;
+               gpio-miso = <&gpio1 18 0>;
+               gpio-mosi = <&gpio1 20 0>;
+               cs-gpios = <&gpio1 19 0>;
+               num-chipselects = <1>;
+
+               /* lcd panel */
+               lcd: td028ttec1@0 {
+                       compatible = "toppoly,td028ttec1";
+                       reg = <0>;
+                       spi-max-frequency = <100000>;
+                       spi-cpol;
+                       spi-cpha;
+
+                       label = "lcd";
+                       port {
+                               lcd_in: endpoint {
+                                       remote-endpoint = <&dpi_out>;
+                               };
+                       };
+               };
+       };
+
+       hsusb2_phy: hsusb2_phy {
+               compatible = "usb-nop-xceiv";
+               reset-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
+       };
+};
+
+&omap3_pmx_core {
+       pinctrl-names = "default";
+       pinctrl-0 = <
+                       &hsusb2_pins
+       >;
+
+       hsusb2_pins: pinmux_hsusb2_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x21d4, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi1_cs3.hsusb2_data2 */
+                       OMAP3_CORE1_IOPAD(0x21d6, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_clk.hsusb2_data7 */
+                       OMAP3_CORE1_IOPAD(0x21d8, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_simo.hsusb2_data4 */
+                       OMAP3_CORE1_IOPAD(0x21da, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_somi.hsusb2_data5 */
+                       OMAP3_CORE1_IOPAD(0x21dc, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_cs0.hsusb2_data6 */
+                       OMAP3_CORE1_IOPAD(0x21de, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_cs1.hsusb2_data3 */
+               >;
+       };
+
+       uart1_pins: pinmux_uart1_pins {
+               pinctrl-single,pins = <
+                       0x152 (PIN_INPUT | MUX_MODE0)           /* uart1_rx.uart1_rx */
+                       0x14c (PIN_OUTPUT |MUX_MODE0)           /* uart1_tx.uart1_tx */
+               >;
+       };
+
+       uart2_pins: pinmux_uart2_pins {
+               pinctrl-single,pins = <
+                       0x14a (PIN_INPUT | MUX_MODE0)           /* uart2_rx.uart2_rx */
+                       0x148 (PIN_OUTPUT | MUX_MODE0)          /* uart2_tx.uart2_tx */
+               >;
+       };
+
+       uart3_pins: pinmux_uart3_pins {
+               pinctrl-single,pins = <
+                       0x16e (PIN_INPUT | MUX_MODE0)           /* uart3_rx.uart3_rx */
+                       0x170 (PIN_OUTPUT | MUX_MODE0)          /* uart3_tx.uart3_tx */
+               >;
+       };
+
+       mmc1_pins: pinmux_mmc1_pins {
+               pinctrl-single,pins = <
+                       0x114 (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_clk.sdmmc1_clk */
+                       0x116 (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_cmd.sdmmc1_cmd */
+                       0x118 (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_dat0.sdmmc1_dat0 */
+                       0x11a (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_dat1.sdmmc1_dat1 */
+                       0x11c (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_dat2.sdmmc1_dat2 */
+                       0x11e (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_dat3.sdmmc1_dat3 */
+               >;
+       };
+
+       dss_dpi_pins: pinmux_dss_dpi_pins {
+               pinctrl-single,pins = <
+                       0x0a4 (PIN_OUTPUT | MUX_MODE0)   /* dss_pclk.dss_pclk */
+                       0x0a6 (PIN_OUTPUT | MUX_MODE0)   /* dss_hsync.dss_hsync */
+                       0x0a8 (PIN_OUTPUT | MUX_MODE0)   /* dss_vsync.dss_vsync */
+                       0x0aa (PIN_OUTPUT | MUX_MODE0)   /* dss_acbias.dss_acbias */
+                       0x0ac (PIN_OUTPUT | MUX_MODE0)   /* dss_data0.dss_data0 */
+                       0x0ae (PIN_OUTPUT | MUX_MODE0)   /* dss_data1.dss_data1 */
+                       0x0b0 (PIN_OUTPUT | MUX_MODE0)   /* dss_data2.dss_data2 */
+                       0x0b2 (PIN_OUTPUT | MUX_MODE0)   /* dss_data3.dss_data3 */
+                       0x0b4 (PIN_OUTPUT | MUX_MODE0)   /* dss_data4.dss_data4 */
+                       0x0b6 (PIN_OUTPUT | MUX_MODE0)   /* dss_data5.dss_data5 */
+                       0x0b8 (PIN_OUTPUT | MUX_MODE0)   /* dss_data6.dss_data6 */
+                       0x0ba (PIN_OUTPUT | MUX_MODE0)   /* dss_data7.dss_data7 */
+                       0x0bc (PIN_OUTPUT | MUX_MODE0)   /* dss_data8.dss_data8 */
+                       0x0be (PIN_OUTPUT | MUX_MODE0)   /* dss_data9.dss_data9 */
+                       0x0c0 (PIN_OUTPUT | MUX_MODE0)   /* dss_data10.dss_data10 */
+                       0x0c2 (PIN_OUTPUT | MUX_MODE0)   /* dss_data11.dss_data11 */
+                       0x0c4 (PIN_OUTPUT | MUX_MODE0)   /* dss_data12.dss_data12 */
+                       0x0c6 (PIN_OUTPUT | MUX_MODE0)   /* dss_data13.dss_data13 */
+                       0x0c8 (PIN_OUTPUT | MUX_MODE0)   /* dss_data14.dss_data14 */
+                       0x0ca (PIN_OUTPUT | MUX_MODE0)   /* dss_data15.dss_data15 */
+                       0x0cc (PIN_OUTPUT | MUX_MODE0)   /* dss_data16.dss_data16 */
+                       0x0ce (PIN_OUTPUT | MUX_MODE0)   /* dss_data17.dss_data17 */
+                       0x0d0 (PIN_OUTPUT | MUX_MODE0)   /* dss_data18.dss_data18 */
+                       0x0d2 (PIN_OUTPUT | MUX_MODE0)   /* dss_data19.dss_data19 */
+                       0x0d4 (PIN_OUTPUT | MUX_MODE0)   /* dss_data20.dss_data20 */
+                       0x0d6 (PIN_OUTPUT | MUX_MODE0)   /* dss_data21.dss_data21 */
+                       0x0d8 (PIN_OUTPUT | MUX_MODE0)   /* dss_data22.dss_data22 */
+                       0x0da (PIN_OUTPUT | MUX_MODE0)   /* dss_data23.dss_data23 */
+               >;
+       };
+};
+
+&omap3_pmx_core2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <
+                       &hsusb2_2_pins
+       >;
+
+       hsusb2_2_pins: pinmux_hsusb2_2_pins {
+               pinctrl-single,pins = <
+                       OMAP3630_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3)            /* etk_d10.hsusb2_clk */
+                       OMAP3630_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3)            /* etk_d11.hsusb2_stp */
+                       OMAP3630_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d12.hsusb2_dir */
+                       OMAP3630_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d13.hsusb2_nxt */
+                       OMAP3630_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d14.hsusb2_data0 */
+                       OMAP3630_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d15.hsusb2_data1 */
+               >;
+       };
+
+       spi_gpio_pins: spi_gpio_pinmux {
+               pinctrl-single,pins = <
+                       OMAP3630_CORE2_IOPAD(0x25d8, PIN_OUTPUT | MUX_MODE4) /* clk */
+                       OMAP3630_CORE2_IOPAD(0x25e6, PIN_OUTPUT | MUX_MODE4) /* cs */
+                       OMAP3630_CORE2_IOPAD(0x25e8, PIN_OUTPUT | MUX_MODE4) /* tx */
+                       OMAP3630_CORE2_IOPAD(0x25e4, PIN_INPUT | MUX_MODE4) /* rx */
+               >;
+       };
+};
+
+&i2c1 {
+       clock-frequency = <2600000>;
+
+       twl: twl@48 {
+               reg = <0x48>;
+               interrupts = <7>; /* SYS_NIRQ cascaded to intc */
+               interrupt-parent = <&intc>;
+       };
+
+       twl_audio: audio {
+               compatible = "ti,twl4030-audio";
+               codec {
+               };
+       };
+};
+
+#include "twl4030.dtsi"
+#include "twl4030_omap3.dtsi"
+
+&i2c2 {
+       clock-frequency = <400000>;
+
+       /* pressure sensor */
+       bmp085@77 {
+               compatible = "bosch,bmp085";
+               reg = <0x77>;
+               interrupt-parent = <&gpio4>;
+               interrupts = <17 IRQ_TYPE_EDGE_RISING>;
+       };
+
+       /* accelerometer */
+       bma180@41 {
+               compatible = "bosch,bma180";
+               reg = <0x41>;
+               interrupt-parent = <&gpio3>;
+               interrupts = <19 IRQ_TYPE_LEVEL_HIGH>;
+       };
+
+       /* leds */
+       tca6507@45 {
+               compatible = "ti,tca6507";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               reg = <0x45>;
+
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               gta04_led0: red_aux@0 {
+                       label = "gta04:red:aux";
+                       reg = <0x0>;
+               };
+
+               gta04_led1: green_aux@1 {
+                       label = "gta04:green:aux";
+                       reg = <0x1>;
+               };
+
+               gta04_led3: red_power@3 {
+                       label = "gta04:red:power";
+                       reg = <0x3>;
+                       linux,default-trigger = "default-on";
+               };
+
+               gta04_led4: green_power@4 {
+                       label = "gta04:green:power";
+                       reg = <0x4>;
+               };
+
+               wifi_reset: wifi_reset@6 {
+                       reg = <0x6>;
+                       compatible = "gpio";
+               };
+       };
+
+       /* compass aka magnetometer */
+       hmc5843@1e {
+               compatible = "honeywell,hmc5883l";
+               reg = <0x1e>;
+       };
+
+       /* touchscreen */
+       tsc2007@48 {
+               compatible = "ti,tsc2007";
+               reg = <0x48>;
+               interrupt-parent = <&gpio6>;
+               interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
+               gpios = <&gpio6 0 GPIO_ACTIVE_LOW>;
+               ti,x-plate-ohms = <600>;
+       };
+};
+
+&i2c3 {
+       clock-frequency = <100000>;
+};
+
+&usb_otg_hs {
+       interface-type = <0>;
+       usb-phy = <&usb2_phy>;
+       phys = <&usb2_phy>;
+       phy-names = "usb2-phy";
+       mode = <3>;
+       power = <50>;
+};
+
+&usbhshost {
+       port2-mode = "ehci-phy";
+};
+
+&usbhsehci {
+       phys = <0 &hsusb2_phy>;
+};
+
+&mmc1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc1_pins>;
+       vmmc-supply = <&vmmc1>;
+       bus-width = <4>;
+       ti,non-removable;
+};
+
+&mmc2 {
+       vmmc-supply = <&vaux4>;
+       bus-width = <4>;
+       ti,non-removable;
+};
+
+&mmc3 {
+       status = "disabled";
+};
+
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart1_pins>;
+};
+
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart2_pins>;
+};
+
+&uart3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart3_pins>;
+};
+
+&charger {
+       bb_uvolt = <3200000>;
+       bb_uamp = <150>;
+};
+
+/* spare */
+&vaux1 {
+       regulator-min-microvolt = <2500000>;
+       regulator-max-microvolt = <3000000>;
+};
+
+/* sensors */
+&vaux2 {
+       regulator-min-microvolt = <2800000>;
+       regulator-max-microvolt = <2800000>;
+       regulator-always-on;
+};
+
+/* camera */
+&vaux3 {
+       regulator-min-microvolt = <2500000>;
+       regulator-max-microvolt = <2500000>;
+};
+
+/* WLAN/BT */
+&vaux4 {
+       regulator-min-microvolt = <2800000>;
+       regulator-max-microvolt = <3150000>;
+};
+
+/* GPS LNA */
+&vsim {
+       regulator-min-microvolt = <2800000>;
+       regulator-max-microvolt = <3150000>;
+};
+
+/* Needed to power the DPI pins */
+&vpll2 {
+       regulator-always-on;
+};
+
+&dss {
+       pinctrl-names = "default";
+       pinctrl-0 = < &dss_dpi_pins >;
+
+       status = "okay";
+
+       port {
+               dpi_out: endpoint {
+                       remote-endpoint = <&lcd_in>;
+                       data-lines = <24>;
+               };
+       };
+};
+
+&gpmc {
+       ranges = <0 0 0x30000000 0x04>; /* CS0: NAND */
+
+       nand@0,0 {
+               reg = <0 0 0>; /* CS0, offset 0 */
+               nand-bus-width = <16>;
+               ti,nand-ecc-opt = "bch8";
+
+               gpmc,sync-clk-ps = <0>;
+               gpmc,cs-on-ns = <0>;
+               gpmc,cs-rd-off-ns = <44>;
+               gpmc,cs-wr-off-ns = <44>;
+               gpmc,adv-on-ns = <6>;
+               gpmc,adv-rd-off-ns = <34>;
+               gpmc,adv-wr-off-ns = <44>;
+               gpmc,we-off-ns = <40>;
+               gpmc,oe-off-ns = <54>;
+               gpmc,access-ns = <64>;
+               gpmc,rd-cycle-ns = <82>;
+               gpmc,wr-cycle-ns = <82>;
+               gpmc,wr-access-ns = <40>;
+               gpmc,wr-data-mux-bus-ns = <0>;
+               gpmc,device-width = <2>;
+
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               x-loader@0 {
+                       label = "X-Loader";
+                       reg = <0 0x80000>;
+               };
+
+               bootloaders@80000 {
+                       label = "U-Boot";
+                       reg = <0x80000 0x1e0000>;
+               };
+
+               bootloaders_env@260000 {
+                       label = "U-Boot Env";
+                       reg = <0x260000 0x20000>;
+               };
+
+               kernel@280000 {
+                       label = "Kernel";
+                       reg = <0x280000 0x400000>;
+               };
+
+               filesystem@680000 {
+                       label = "File System";
+                       reg = <0x680000 0xf980000>;
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/omap3-gta04a3.dts b/arch/arm/boot/dts/omap3-gta04a3.dts
new file mode 100644 (file)
index 0000000..3099a89
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2014 H. Nikolaus Schaller <hns@goldelico.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "omap3-gta04.dtsi"
+
+/ {
+       model = "Goldelico GTA04A3";
+};
+
+&i2c2 {
+
+       /* alternate accelerometer that might be installed on some GTA04A3 boards */
+       lis302@1d {
+               compatible = "st,lis331dlh", "st,lis3lv02d";
+               reg = <0x1d>;
+               interrupt-parent = <&gpio3>;
+               interrupts = <18 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)>;
+               Vdd-supply = <&vaux2>;
+               Vdd_IO-supply = <&vaux2>;
+
+               st,click-single-x;
+               st,click-single-y;
+               st,click-single-z;
+               st,click-thresh-x = <8>;
+               st,click-thresh-y = <8>;
+               st,click-thresh-z = <10>;
+               st,click-click-time-limit = <9>;
+               st,click-latency = <50>;
+               st,irq1-click;
+               st,wakeup-x-lo;
+               st,wakeup-x-hi;
+               st,wakeup-y-lo;
+               st,wakeup-y-hi;
+               st,wakeup-z-lo;
+               st,wakeup-z-hi;
+               st,min-limit-x = <32>;
+               st,min-limit-y = <3>;
+               st,min-limit-z = <3>;
+               st,max-limit-x = <3>;
+               st,max-limit-y = <32>;
+               st,max-limit-z = <32>;
+       };
+};
diff --git a/arch/arm/boot/dts/omap3-gta04a4.dts b/arch/arm/boot/dts/omap3-gta04a4.dts
new file mode 100644 (file)
index 0000000..c918bb1
--- /dev/null
@@ -0,0 +1,13 @@
+/*
+ * Copyright (C) 2014 Marek Belisko <marek@goldelico.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "omap3-gta04.dtsi"
+
+/ {
+       model = "Goldelico GTA04A4";
+};
diff --git a/arch/arm/boot/dts/omap3-gta04a5.dts b/arch/arm/boot/dts/omap3-gta04a5.dts
new file mode 100644 (file)
index 0000000..52b386f
--- /dev/null
@@ -0,0 +1,17 @@
+/*
+ * Copyright (C) 2014 H. Nikolaus Schaller <hns@goldelico.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "omap3-gta04.dtsi"
+
+/ {
+       model = "Goldelico GTA04A5";
+
+       sound {
+               ti,jack-det-gpio = <&twl_gpio 2 0>;    /* GTA04A5 only */
+       };
+};
diff --git a/arch/arm/boot/dts/omap3-ha-common.dtsi b/arch/arm/boot/dts/omap3-ha-common.dtsi
new file mode 100644 (file)
index 0000000..bd66545
--- /dev/null
@@ -0,0 +1,88 @@
+/*
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ * Copyright (C) 2014 Stefan Roese <sr@denx.de>
+ *
+ * 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.
+ */
+
+#include "omap3-tao3530.dtsi"
+
+/ {
+       gpio_poweroff {
+               pinctrl-names = "default";
+               pinctrl-0 = <&poweroff_pins>;
+
+               compatible = "gpio-poweroff";
+               gpios = <&gpio6 8 GPIO_ACTIVE_LOW>;     /* GPIO 168 */
+       };
+};
+
+&omap3_pmx_core {
+       sound2_pins: pinmux_sound2_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x209e, PIN_OUTPUT | MUX_MODE4)       /* gpmc_d8 gpio_44 */
+               >;
+       };
+
+       led_blue_pins: pinmux_led_blue_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x2110, PIN_OUTPUT | MUX_MODE4)       /* cam_xclka gpio_96, LED blue */
+               >;
+       };
+
+       led_green_pins: pinmux_led_green_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x2126, PIN_OUTPUT | MUX_MODE4)       /* cam_d8 gpio_107, LED green */
+               >;
+       };
+
+       led_red_pins: pinmux_led_red_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x212e, PIN_OUTPUT_PULLUP | MUX_MODE4)        /* cam_xclkb gpio_111, LED red */
+               >;
+       };
+
+       poweroff_pins: pinmux_poweroff_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x21be, PIN_OUTPUT_PULLUP | MUX_MODE4)        /* i2c2_scl gpio_168 */
+               >;
+       };
+
+       powerdown_input_pins: pinmux_powerdown_input_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x21c0, PIN_INPUT_PULLUP | MUX_MODE4) /* i2c2_sda gpio_183 */
+               >;
+       };
+
+       fpga_boot0_pins: fpga_boot0_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x211a, PIN_INPUT | MUX_MODE4)        /* cam_d2 gpio_101 */
+                       OMAP3_CORE1_IOPAD(0x211c, PIN_OUTPUT | MUX_MODE4)       /* cam_d3 gpio_102 */
+                       OMAP3_CORE1_IOPAD(0x211e, PIN_OUTPUT | MUX_MODE4)       /* cam_d4 gpio_103 */
+                       OMAP3_CORE1_IOPAD(0x2120, PIN_INPUT_PULLUP | MUX_MODE4) /* cam_d5 gpio_104 */
+               >;
+       };
+
+       fpga_boot1_pins: fpga_boot1_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x20a2, PIN_INPUT | MUX_MODE4)        /* gpmc_d10 gpio_46 */
+                       OMAP3_CORE1_IOPAD(0x20a4, PIN_OUTPUT | MUX_MODE4)       /* gpmc_d11 gpio_47 */
+                       OMAP3_CORE1_IOPAD(0x20a6, PIN_OUTPUT | MUX_MODE4)       /* gpmc_d12 gpio_48 */
+                       OMAP3_CORE1_IOPAD(0x20a8, PIN_INPUT_PULLUP | MUX_MODE4) /* gpmc_d13 gpio_49 */
+               >;
+       };
+};
+
+/* I2C2: mux'ed with GPIO168 which is connected to nKILL_POWER */
+&i2c2 {
+       status = "disabled";
+};
+
+&i2c3 {
+       clock-frequency = <100000>;
+
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c3_pins>;
+};
diff --git a/arch/arm/boot/dts/omap3-ha-lcd.dts b/arch/arm/boot/dts/omap3-ha-lcd.dts
new file mode 100644 (file)
index 0000000..11aa28d
--- /dev/null
@@ -0,0 +1,165 @@
+/*
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ * Copyright (C) 2014 Stefan Roese <sr@denx.de>
+ *
+ * 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.
+ */
+
+#include "omap3-ha-common.dtsi"
+
+/ {
+       model = "TI OMAP3 HEAD acoustics LCD-baseboard with TAO3530 SOM";
+       compatible = "headacoustics,omap3-ha-lcd", "technexion,omap3-tao3530", "ti,omap34xx", "ti,omap3";
+};
+
+&omap3_pmx_core {
+       pinctrl-names = "default";
+       pinctrl-0 = <
+               &hsusbb2_pins
+               &powerdown_input_pins
+               &fpga_boot0_pins
+               &fpga_boot1_pins
+               &led_blue_pins
+               &led_green_pins
+               &led_red_pins
+               &touchscreen_wake_pins
+       >;
+
+       touchscreen_irq_pins: pinmux_touchscreen_irq_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x2164, PIN_INPUT_PULLUP | MUX_MODE4) /* gpio_136, Touchscreen IRQ */
+               >;
+       };
+
+       touchscreen_wake_pins: pinmux_touchscreen_wake_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x212c, PIN_OUTPUT_PULLUP | MUX_MODE4)        /* gpio_110, Touchscreen Wake */
+               >;
+       };
+
+       dss_dpi_pins: pinmux_dss_dpi_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0)       /* dss_pclk.dss_pclk */
+                       OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0)       /* dss_hsync.dss_hsync */
+                       OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0)       /* dss_vsync.dss_vsync */
+                       OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0)       /* dss_acbias.dss_acbias */
+                       OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0)       /* dss_data0.dss_data0 */
+                       OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0)       /* dss_data1.dss_data1 */
+                       OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0)       /* dss_data2.dss_data2 */
+                       OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0)       /* dss_data3.dss_data3 */
+                       OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0)       /* dss_data4.dss_data4 */
+                       OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0)       /* dss_data5.dss_data5 */
+                       OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0)       /* dss_data6.dss_data6 */
+                       OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0)       /* dss_data7.dss_data7 */
+                       OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0)       /* dss_data8.dss_data8 */
+                       OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0)       /* dss_data9.dss_data9 */
+                       OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0)       /* dss_data10.dss_data10 */
+                       OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0)       /* dss_data11.dss_data11 */
+                       OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0)       /* dss_data12.dss_data12 */
+                       OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0)       /* dss_data13.dss_data13 */
+                       OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0)       /* dss_data14.dss_data14 */
+                       OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0)       /* dss_data15.dss_data15 */
+                       OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0)       /* dss_data16.dss_data16 */
+                       OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0)       /* dss_data17.dss_data17 */
+                       OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE0)       /* dss_data18.dss_data18 */
+                       OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE0)       /* dss_data19.dss_data19 */
+                       OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE0)       /* dss_data20.dss_data20 */
+                       OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE0)       /* dss_data21.dss_data21 */
+                       OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0)       /* dss_data22.dss_data22 */
+                       OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0)       /* dss_data23.dss_data23 */
+               >;
+       };
+
+       lte430_pins: pinmux_lte430_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x2168, PIN_OUTPUT | MUX_MODE4)       /* sdmmc2_dat6.gpio_138 */
+               >;
+       };
+
+       backlight_pins: pinmux_backlight_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x216a, PIN_OUTPUT | MUX_MODE4)       /* sdmmc2_dat7.gpio_139 */
+               >;
+       };
+};
+
+/* I2C2: mux'ed with GPIO168 which is connected to nKILL_POWER */
+&i2c2 {
+       status = "disabled";
+};
+
+&i2c3 {
+       clock-frequency = <100000>;
+
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c3_pins>;
+};
+
+/* Needed to power the DPI pins */
+&vpll2 {
+       regulator-always-on;
+};
+
+&dss {
+       status = "ok";
+
+       pinctrl-names = "default";
+       pinctrl-0 = <&dss_dpi_pins>;
+
+       port {
+               dpi_out: endpoint {
+                       remote-endpoint = <&lcd_in>;
+                       data-lines = <24>;
+               };
+       };
+};
+
+/ {
+       aliases {
+               display0 = &lcd0;
+       };
+
+       lcd0: display@0 {
+               compatible = "panel-dpi";
+               label = "lcd";
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&lte430_pins>;
+               enable-gpios = <&gpio5 10 GPIO_ACTIVE_LOW>;     /* gpio_138 */
+
+               port {
+                       lcd_in: endpoint {
+                               remote-endpoint = <&dpi_out>;
+                       };
+               };
+
+               panel-timing {
+                       clock-frequency = <31250000>;
+                       hactive = <800>;
+                       vactive = <480>;
+                       hfront-porch = <40>;
+                       hback-porch = <86>;
+                       hsync-len = <1>;
+                       vback-porch = <30>;
+                       vfront-porch = <13>;
+                       vsync-len = <3>;
+
+                       hsync-active = <0>;
+                       vsync-active = <0>;
+                       de-active = <1>;
+                       pixelclk-active = <1>;
+               };
+       };
+
+       backlight {
+               compatible = "gpio-backlight";
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&backlight_pins>;
+               gpios = <&gpio5 11 GPIO_ACTIVE_HIGH>;           /* gpio_139 */
+
+               default-on;
+       };
+};
diff --git a/arch/arm/boot/dts/omap3-ha.dts b/arch/arm/boot/dts/omap3-ha.dts
new file mode 100644 (file)
index 0000000..fde3256
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ * Copyright (C) 2014 Stefan Roese <sr@denx.de>
+ *
+ * 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.
+ */
+
+#include "omap3-ha-common.dtsi"
+
+/ {
+       model = "TI OMAP3 HEAD acoustics baseboard with TAO3530 SOM";
+       compatible = "headacoustics,omap3-ha", "technexion,omap3-tao3530", "ti,omap34xx", "ti,omap3";
+};
+
+&omap3_pmx_core {
+       pinctrl-names = "default";
+       pinctrl-0 = <
+               &hsusbb2_pins
+               &powerdown_input_pins
+               &fpga_boot0_pins
+               &fpga_boot1_pins
+               &led_blue_pins
+               &led_green_pins
+               &led_red_pins
+       >;
+};
index af272c156e21778e35546bb008f0d912cf6634a9..72dca0b7904d2c4078d1dfba477f190628f79cbc 100644 (file)
                reg = <0x48>;
                interrupts = <7>; /* SYS_NIRQ cascaded to intc */
                interrupt-parent = <&intc>;
+
+               twl_power: power {
+                       compatible = "ti,twl4030-power-idle";
+                       ti,use_poweroff;
+               };
        };
 };
 
index 4361777a08d81090cca597271a5f7a6d3b22ea25..9b0494a8ab454f21b67060416b698ed10d710f64 100644 (file)
                >;
        };
 
+       ethernet_pins: pinmux_ethernet_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x20b4, PIN_INPUT_PULLDOWN | MUX_MODE4)       /* gpmc_ncs3.gpio_54 */
+                       OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE4)               /* dss_data16.gpio_86 */
+                       OMAP3_CORE1_IOPAD(0x219c, PIN_OUTPUT | MUX_MODE4)               /* uart3_rts_sd.gpio_164 */
+               >;
+       };
+
        i2c1_pins: pinmux_i2c1_pins {
                pinctrl-single,pins = <
-                       0x18a (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c1_scl */
-                       0x18c (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c1_sda */
+                       0x18a (PIN_INPUT | MUX_MODE0)           /* i2c1_scl */
+                       0x18c (PIN_INPUT | MUX_MODE0)           /* i2c1_sda */
                >;
        };
 
        i2c2_pins: pinmux_i2c2_pins {
                pinctrl-single,pins = <
-                       0x18e (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c2_scl */
-                       0x190 (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c2_sda */
+                       0x18e (PIN_INPUT | MUX_MODE0)           /* i2c2_scl */
+                       0x190 (PIN_INPUT | MUX_MODE0)           /* i2c2_sda */
                >;
        };
 
        i2c3_pins: pinmux_i2c3_pins {
                pinctrl-single,pins = <
-                       0x192 (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c3_scl */
-                       0x194 (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c3_sda */
+                       0x192 (PIN_INPUT | MUX_MODE0)           /* i2c3_scl */
+                       0x194 (PIN_INPUT | MUX_MODE0)           /* i2c3_sda */
                >;
        };
 
 
 &gpmc {
        ranges = <0 0 0x04000000 0x10000000>; /* 256MB */
+       ranges = <0 0 0x01000000 0x01000000>,   /* 16 MB for OneNAND */
+                <1 0 0x02000000 0x01000000>;   /* 16 MB for smc91c96 */
 
        /* gpio-irq for dma: 65 */
 
                        reg = <0x004c0000 0x0fb40000>;
                };
        };
+
+       ethernet@gpmc {
+               compatible = "smsc,lan91c94";
+               interrupt-parent = <&gpio2>;
+               interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;  /* gpio54 */
+               reg = <1 0x300 0xf>;            /* 16 byte IO range at offset 0x300 */
+               bank-width = <2>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&ethernet_pins>;
+               gpmc,device-width = <2>;
+               gpmc,sync-clk-ps = <0>;
+               gpmc,cs-on-ns = <0>;
+               gpmc,cs-rd-off-ns = <48>;
+               gpmc,cs-wr-off-ns = <24>;
+               gpmc,adv-on-ns = <0>;
+               gpmc,adv-rd-off-ns = <0>;
+               gpmc,adv-wr-off-ns = <0>;
+               gpmc,we-on-ns = <12>;
+               gpmc,we-off-ns = <18>;
+               gpmc,oe-on-ns = <12>;
+               gpmc,oe-off-ns = <48>;
+               gpmc,page-burst-access-ns = <0>;
+               gpmc,access-ns = <42>;
+               gpmc,rd-cycle-ns = <180>;
+               gpmc,wr-cycle-ns = <180>;
+               gpmc,bus-turnaround-ns = <0>;
+               gpmc,cycle2cycle-delay-ns = <0>;
+               gpmc,wait-monitoring-ns = <0>;
+               gpmc,clk-activation-ns = <0>;
+               gpmc,wr-access-ns = <0>;
+               gpmc,wr-data-mux-bus-ns = <12>;
+       };
 };
 
 &mcspi1 {
index 5831bcc529660bd9581d462bf3cbf928e9e9a49f..520453d957047f84cb5a3f59a8525a6fc1e4fa5e 100644 (file)
@@ -36,8 +36,8 @@
 
        uart3_pins: pinmux_uart3_pins {
                pinctrl-single,pins = <
-                       OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
-                       OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0)               /* uart3_tx_irtx.uart3_tx_irtx */
+                       OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | MUX_MODE0)        /* uart3_rx_irrx.uart3_rx_irrx */
+                       OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0)       /* uart3_tx_irtx.uart3_tx_irtx */
                >;
        };
 };
@@ -88,6 +88,7 @@
 };
 
 &uart3 {
+       interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>;
        pinctrl-names = "default";
        pinctrl-0 = <&uart3_pins>;
 };
diff --git a/arch/arm/boot/dts/omap3-tao3530.dtsi b/arch/arm/boot/dts/omap3-tao3530.dtsi
new file mode 100644 (file)
index 0000000..b30f387
--- /dev/null
@@ -0,0 +1,337 @@
+/*
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ * Copyright (C) 2014 Stefan Roese <sr@denx.de>
+ *
+ * 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 "omap34xx-hs.dtsi"
+
+/ {
+       cpus {
+               cpu@0 {
+                       cpu0-supply = <&vcc>;
+               };
+       };
+
+       memory {
+               device_type = "memory";
+               reg = <0x80000000 0x10000000>; /* 256 MB */
+       };
+
+       /* HS USB Port 2 Power */
+       hsusb2_power: hsusb2_power_reg {
+               compatible = "regulator-fixed";
+               regulator-name = "hsusb2_vbus";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&twl_gpio 18 0>;        /* GPIO LEDA */
+               startup-delay-us = <70000>;
+       };
+
+       /* HS USB Host PHY on PORT 2 */
+       hsusb2_phy: hsusb2_phy {
+               compatible = "usb-nop-xceiv";
+               reset-gpios = <&gpio6 2 GPIO_ACTIVE_LOW>;       /* gpio_162 */
+               vcc-supply = <&hsusb2_power>;
+       };
+
+       sound {
+               compatible = "ti,omap-twl4030";
+               ti,model = "omap3beagle";
+
+               /* McBSP2 is used for onboard sound, same as on beagle */
+               ti,mcbsp = <&mcbsp2>;
+               ti,codec = <&twl_audio>;
+       };
+
+       /* Regulator to enable/switch the vcc of the Wifi module */
+       mmc2_sdio_poweron: regulator-mmc2-sdio-poweron {
+               compatible = "regulator-fixed";
+               regulator-name = "regulator-mmc2-sdio-poweron";
+               regulator-min-microvolt = <3150000>;
+               regulator-max-microvolt = <3150000>;
+               gpio = <&gpio5 29 GPIO_ACTIVE_LOW>;             /* gpio_157 */
+               enable-active-low;
+               startup-delay-us = <10000>;
+       };
+};
+
+&omap3_pmx_core {
+       hsusbb2_pins: pinmux_hsusbb2_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3)               /* etk_d10.hsusb2_clk */
+                       OMAP3_CORE1_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3)               /* etk_d11.hsusb2_stp */
+                       OMAP3_CORE1_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* etk_d12.hsusb2_dir */
+                       OMAP3_CORE1_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* etk_d13.hsusb2_nxt */
+                       OMAP3_CORE1_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* etk_d14.hsusb2_data0 */
+                       OMAP3_CORE1_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* etk_d15.hsusb2_data1 */
+                       OMAP3_CORE1_IOPAD(0x21d4, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi1_cs3.hsusb2_data2 */
+                       OMAP3_CORE1_IOPAD(0x21d6, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_clk.hsusb2_data7 */
+                       OMAP3_CORE1_IOPAD(0x21d8, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_simo.hsusb2_data4 */
+                       OMAP3_CORE1_IOPAD(0x21da, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_somi.hsusb2_data5 */
+                       OMAP3_CORE1_IOPAD(0x21dc, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_cs0.hsusb2_data6 */
+                       OMAP3_CORE1_IOPAD(0x21de, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_cs1.hsusb2_data3 */
+               >;
+       };
+
+       mmc1_pins: pinmux_mmc1_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */
+                       OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */
+                       OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */
+                       OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */
+                       OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */
+                       OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */
+                       OMAP3_CORE1_IOPAD(0x2150, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat4.sdmmc1_dat4 */
+                       OMAP3_CORE1_IOPAD(0x2152, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat5.sdmmc1_dat5 */
+                       OMAP3_CORE1_IOPAD(0x2154, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat6.sdmmc1_dat6 */
+                       OMAP3_CORE1_IOPAD(0x2156, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat7.sdmmc1_dat7 */
+               >;
+       };
+
+       mmc2_pins: pinmux_mmc2_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk.sdmmc2_clk */
+                       OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd.sdmmc2_cmd */
+                       OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat0.sdmmc2_dat0 */
+                       OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1.sdmmc2_dat1 */
+                       OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2.sdmmc2_dat2 */
+                       OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3.sdmmc2_dat3 */
+               >;
+       };
+
+       /* wlan GPIO output for WLAN_EN */
+       wlan_gpio: pinmux_wlan_gpio {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x218e, PIN_OUTPUT | MUX_MODE4)       /* mcbsp1_fsr gpio_157 */
+               >;
+       };
+
+       uart3_pins: pinmux_uart3_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
+                       OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0)       /* uart3_tx_irtx.uart3_tx_irtx */
+               >;
+       };
+
+       i2c3_pins: pinmux_i2c3_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x21c2, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl.i2c3_scl */
+                       OMAP3_CORE1_IOPAD(0x21c4, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda.i2c3_sda */
+               >;
+       };
+
+       mcspi1_pins: pinmux_mcspi1_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x21c8, PIN_INPUT | MUX_MODE0)        /* mcspi1_clk.mcspi1_clk */
+                       OMAP3_CORE1_IOPAD(0x21ca, PIN_OUTPUT | MUX_MODE0)       /* mcspi1_simo.mcspi1_simo */
+                       OMAP3_CORE1_IOPAD(0x21cc, PIN_INPUT_PULLUP | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */
+                       OMAP3_CORE1_IOPAD(0x21ce, PIN_OUTPUT | MUX_MODE0)       /* mcspi1_cs0.mcspi1_cs0 */
+               >;
+       };
+
+       mcspi3_pins: pinmux_mcspi3_pins {
+               pinctrl-single,pins = <
+                        OMAP3_CORE1_IOPAD(0x25dc, PIN_OUTPUT | MUX_MODE1)      /* etk_d0.mcspi3_simo gpio14 INPUT | MODE1 */
+                        OMAP3_CORE1_IOPAD(0x25de, PIN_INPUT_PULLUP | MUX_MODE1)        /* etk_d1.mcspi3_somi gpio15 INPUT | MODE1 */
+                        OMAP3_CORE1_IOPAD(0x25e0, PIN_OUTPUT | MUX_MODE1)      /* etk_d2.mcspi3_cs0 gpio16 INPUT | MODE1 */
+                        OMAP3_CORE1_IOPAD(0x25e2, PIN_INPUT | MUX_MODE1)       /* etk_d3.mcspi3_clk gpio17 INPUT | MODE1 */
+               >;
+       };
+
+       mcbsp3_pins: pinmux_mcbsp3_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x216c, PIN_OUTPUT | MUX_MODE0)       /* mcbsp3_dx.uart2_cts */
+                       OMAP3_CORE1_IOPAD(0x216e, PIN_INPUT | MUX_MODE0)        /* mcbsp3_dr.uart2_rts */
+                       OMAP3_CORE1_IOPAD(0x2170, PIN_INPUT | MUX_MODE0)        /* mcbsp3_clk.uart2_tx */
+                       OMAP3_CORE1_IOPAD(0x2172, PIN_INPUT | MUX_MODE0)        /* mcbsp3_fsx.uart2_rx */
+               >;
+       };
+};
+
+/* McBSP1: mux'ed with GPIO158 as clock for HA-DSP */
+&mcbsp1 {
+       status = "disabled";
+};
+
+&mcbsp2 {
+       status = "okay";
+};
+
+&i2c1 {
+       clock-frequency = <2600000>;
+
+       twl: twl@48 {
+               reg = <0x48>;
+               interrupts = <7>; /* SYS_NIRQ cascaded to intc */
+               interrupt-parent = <&intc>;
+
+               twl_audio: audio {
+                       compatible = "ti,twl4030-audio";
+                       codec {
+                       };
+               };
+       };
+};
+
+&i2c3 {
+       clock-frequency = <100000>;
+
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c3_pins>;
+};
+
+&mcspi1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mcspi1_pins>;
+
+       spidev@0 {
+               compatible = "spidev";
+               spi-max-frequency = <48000000>;
+               reg = <0>;
+               spi-cpha;
+       };
+};
+
+&mcspi3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mcspi3_pins>;
+
+       spidev@0 {
+               compatible = "spidev";
+               spi-max-frequency = <48000000>;
+               reg = <0>;
+               spi-cpha;
+       };
+};
+
+#include "twl4030.dtsi"
+#include "twl4030_omap3.dtsi"
+
+&mmc1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc1_pins>;
+       vmmc-supply = <&vmmc1>;
+       vmmc_aux-supply = <&vsim>;
+       cd-gpios = <&twl_gpio 0 0>;
+       bus-width = <8>;
+};
+
+// WiFi (Marvell 88W8686) on MMC2/SDIO
+&mmc2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc2_pins>;
+       vmmc-supply = <&mmc2_sdio_poweron>;
+       non-removable;
+       bus-width = <4>;
+       cap-power-off-card;
+};
+
+&mmc3 {
+       status = "disabled";
+};
+
+&usbhshost {
+       port2-mode = "ehci-phy";
+};
+
+&usbhsehci {
+       phys = <0 &hsusb2_phy>;
+};
+
+&twl_gpio {
+       ti,use-leds;
+       /* pullups: BIT(1) */
+       ti,pullups = <0x000002>;
+       /*
+        * pulldowns:
+        * BIT(2), BIT(6), BIT(7), BIT(8), BIT(13)
+        * BIT(15), BIT(16), BIT(17)
+        */
+       ti,pulldowns = <0x03a1c4>;
+};
+
+&uart3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart3_pins>;
+};
+
+&mcbsp3 {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&mcbsp3_pins>;
+};
+
+&gpmc {
+       ranges = <0 0 0x00000000 0x01000000>;
+
+       nand@0,0 {
+               reg = <0 0 0>; /* CS0, offset 0 */
+               nand-bus-width = <16>;
+               gpmc,device-width = <2>;        /* GPMC_DEVWIDTH_16BIT */
+               ti,nand-ecc-opt = "sw";
+
+               gpmc,cs-on-ns = <0>;
+               gpmc,cs-rd-off-ns = <36>;
+               gpmc,cs-wr-off-ns = <36>;
+               gpmc,adv-on-ns = <6>;
+               gpmc,adv-rd-off-ns = <24>;
+               gpmc,adv-wr-off-ns = <36>;
+               gpmc,oe-on-ns = <6>;
+               gpmc,oe-off-ns = <48>;
+               gpmc,we-on-ns = <6>;
+               gpmc,we-off-ns = <30>;
+               gpmc,rd-cycle-ns = <72>;
+               gpmc,wr-cycle-ns = <72>;
+               gpmc,access-ns = <54>;
+               gpmc,wr-access-ns = <30>;
+
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               x-loader@0 {
+                       label = "X-Loader";
+                       reg = <0 0x80000>;
+               };
+
+               bootloaders@80000 {
+                       label = "U-Boot";
+                       reg = <0x80000 0x1e0000>;
+               };
+
+               bootloaders_env@260000 {
+                       label = "U-Boot Env";
+                       reg = <0x260000 0x20000>;
+               };
+
+               kernel@280000 {
+                       label = "Kernel";
+                       reg = <0x280000 0x400000>;
+               };
+
+               filesystem@680000 {
+                       label = "File System";
+                       reg = <0x680000 0xf980000>;
+               };
+       };
+};
+
+&usb_otg_hs {
+       interface-type = <0>;
+       usb-phy = <&usb2_phy>;
+       phys = <&usb2_phy>;
+       phy-names = "usb2-phy";
+       mode = <3>;
+       power = <50>;
+};
+
+&vaux2 {
+       regulator-name = "vdd_ehci";
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <1800000>;
+       regulator-always-on;
+};
diff --git a/arch/arm/boot/dts/omap3-thunder.dts b/arch/arm/boot/dts/omap3-thunder.dts
new file mode 100644 (file)
index 0000000..d659515
--- /dev/null
@@ -0,0 +1,129 @@
+/*
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ * Copyright (C) 2014 Stefan Roese <sr@denx.de>
+ *
+ * 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.
+ */
+
+#include "omap3-tao3530.dtsi"
+
+/ {
+       model = "TI OMAP3 Thunder baseboard with TAO3530 SOM";
+       compatible = "technexion,omap3-thunder", "technexion,omap3-tao3530", "ti,omap34xx", "ti,omap3";
+};
+
+&omap3_pmx_core {
+       dss_dpi_pins: pinmux_dss_dpi_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0)       /* dss_pclk.dss_pclk */
+                       OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0)       /* dss_hsync.dss_hsync */
+                       OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0)       /* dss_vsync.dss_vsync */
+                       OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0)       /* dss_acbias.dss_acbias */
+                       OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0)       /* dss_data0.dss_data0 */
+                       OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0)       /* dss_data1.dss_data1 */
+                       OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0)       /* dss_data2.dss_data2 */
+                       OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0)       /* dss_data3.dss_data3 */
+                       OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0)       /* dss_data4.dss_data4 */
+                       OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0)       /* dss_data5.dss_data5 */
+                       OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0)       /* dss_data6.dss_data6 */
+                       OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0)       /* dss_data7.dss_data7 */
+                       OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0)       /* dss_data8.dss_data8 */
+                       OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0)       /* dss_data9.dss_data9 */
+                       OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0)       /* dss_data10.dss_data10 */
+                       OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0)       /* dss_data11.dss_data11 */
+                       OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0)       /* dss_data12.dss_data12 */
+                       OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0)       /* dss_data13.dss_data13 */
+                       OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0)       /* dss_data14.dss_data14 */
+                       OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0)       /* dss_data15.dss_data15 */
+                       OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0)       /* dss_data16.dss_data16 */
+                       OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0)       /* dss_data17.dss_data17 */
+                       OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE0)       /* dss_data18.dss_data18 */
+                       OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE0)       /* dss_data19.dss_data19 */
+                       OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE0)       /* dss_data20.dss_data20 */
+                       OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE0)       /* dss_data21.dss_data21 */
+                       OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0)       /* dss_data22.dss_data22 */
+                       OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0)       /* dss_data23.dss_data23 */
+               >;
+       };
+
+       lte430_pins: pinmux_lte430_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x2168, PIN_OUTPUT | MUX_MODE4)       /* sdmmc2_dat6.gpio_138 */
+               >;
+       };
+
+       backlight_pins: pinmux_backlight_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x216a, PIN_OUTPUT | MUX_MODE4)       /* sdmmc2_dat7.gpio_139 */
+               >;
+       };
+};
+
+/* Needed to power the DPI pins */
+&vpll2 {
+       regulator-always-on;
+};
+
+&dss {
+       status = "ok";
+
+       pinctrl-names = "default";
+       pinctrl-0 = <&dss_dpi_pins>;
+
+       port {
+               dpi_out: endpoint {
+                       remote-endpoint = <&lcd_in>;
+                       data-lines = <24>;
+               };
+       };
+};
+
+/ {
+       aliases {
+               display0 = &lcd0;
+       };
+
+       lcd0: display@0 {
+               compatible = "samsung,lte430wq-f0c", "panel-dpi";
+               label = "lcd";
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&lte430_pins>;
+               enable-gpios = <&gpio5 10 GPIO_ACTIVE_LOW>;     /* gpio_138 */
+
+               port {
+                       lcd_in: endpoint {
+                               remote-endpoint = <&dpi_out>;
+                       };
+               };
+
+               panel-timing {
+                       clock-frequency = <9000000>;
+                       hactive = <480>;
+                       vactive = <272>;
+                       hfront-porch = <3>;
+                       hback-porch = <2>;
+                       hsync-len = <42>;
+                       vback-porch = <2>;
+                       vfront-porch = <3>;
+                       vsync-len = <11>;
+
+                       hsync-active = <0>;
+                       vsync-active = <0>;
+                       de-active = <1>;
+                       pixelclk-active = <1>;
+               };
+       };
+
+       backlight {
+               compatible = "gpio-backlight";
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&backlight_pins>;
+               gpios = <&gpio5 11 GPIO_ACTIVE_HIGH>;           /* gpio_139 */
+
+               default-on;
+       };
+};
index 3136ed1a04ba6f98667205e67c8730ec7f7594eb..226f3631c230252cabc60403fc706ea862d11b7a 100644 (file)
                        interrupts = <26>;
                        ti,mbox-num-users = <2>;
                        ti,mbox-num-fifos = <2>;
+                       mbox_dsp: dsp {
+                               ti,mbox-tx = <0 0 0>;
+                               ti,mbox-rx = <1 0 0>;
+                       };
                };
 
                mcspi1: spi@48098000 {
index 8a944974d72e5b7184636ec516bcb6752d9d9af2..878c979203d09ea403577317e3211e85329303fe 100644 (file)
                        ti,hwmods = "mailbox";
                        ti,mbox-num-users = <3>;
                        ti,mbox-num-fifos = <8>;
+                       mbox_ipu: mbox_ipu {
+                               ti,mbox-tx = <0 0 0>;
+                               ti,mbox-rx = <1 0 0>;
+                       };
+                       mbox_dsp: mbox_dsp {
+                               ti,mbox-tx = <3 0 0>;
+                               ti,mbox-rx = <2 0 0>;
+                       };
                };
 
                timer1: timer@4a318000 {
index 429471aa7a1f49fa0f2b557d1192a8e3361a57c6..b54b271e153b65ccc709af6a2e298ef907fb63c3 100644 (file)
                reg = <0x80000000 0x7F000000>; /* 2048 MB */
        };
 
+       aliases {
+               display0 = &hdmi0;
+               display1 = &dvi0;
+               display2 = &lcd0;
+       };
+
        vmmcsd_fixed: fixed-regulator-mmcsd {
                compatible = "regulator-fixed";
                regulator-name = "vmmcsd_fixed";
                enable-active-high;
        };
 
+       ads7846reg: ads7846-reg {
+               compatible = "regulator-fixed";
+               regulator-name = "ads7846-reg";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+       };
+
        /* HS USB Host PHY on PORT 2 */
        hsusb2_phy: hsusb2_phy {
                compatible = "usb-nop-xceiv";
                        default-state = "off";
                };
        };
+
+       lcd0: display {
+                compatible = "startek,startek-kd050c", "panel-dpi";
+                label = "lcd";
+
+                pinctrl-names = "default";
+                pinctrl-0 = <&lcd_pins>;
+
+                enable-gpios = <&gpio8 3 GPIO_ACTIVE_HIGH>;
+
+                panel-timing {
+                        clock-frequency = <33000000>;
+                        hactive = <800>;
+                        vactive = <480>;
+                        hfront-porch = <40>;
+                        hback-porch = <40>;
+                        hsync-len = <43>;
+                        vback-porch = <29>;
+                        vfront-porch = <13>;
+                        vsync-len = <3>;
+                        hsync-active = <0>;
+                        vsync-active = <0>;
+                        de-active = <1>;
+                        pixelclk-active = <1>;
+                };
+
+                port {
+                        lcd_in: endpoint {
+                                remote-endpoint = <&dpi_lcd_out>;
+                        };
+                };
+        };
+
+       hdmi0: connector@0 {
+               compatible = "hdmi-connector";
+               label = "hdmi";
+
+               type = "a";
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&hdmi_conn_pins>;
+
+               hpd-gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>; /* GPIO 193, HPD */
+
+               port {
+                       hdmi_connector_in: endpoint {
+                               remote-endpoint = <&hdmi_out>;
+                       };
+               };
+       };
+
+       tfp410: encoder@0 {
+               compatible = "ti,tfp410";
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@0 {
+                               reg = <0>;
+
+                               tfp410_in: endpoint@0 {
+                                       remote-endpoint = <&dpi_dvi_out>;
+                               };
+                       };
+
+                       port@1 {
+                               reg = <1>;
+
+                               tfp410_out: endpoint@0 {
+                                       remote-endpoint = <&dvi_connector_in>;
+                               };
+                       };
+               };
+       };
+
+       dvi0: connector@1 {
+               compatible = "dvi-connector";
+               label = "dvi";
+
+               digital;
+
+               ddc-i2c-bus = <&i2c2>;
+
+               port {
+                       dvi_connector_in: endpoint {
+                               remote-endpoint = <&tfp410_out>;
+                       };
+               };
+       };
+};
+
+&omap5_pmx_wkup {
+
+       ads7846_pins: pinmux_ads7846_pins {
+               pinctrl-single,pins = <
+                       0x02 (PIN_INPUT_PULLDOWN | MUX_MODE6)  /* llib_wakereqin.gpio1_wk15 */
+               >;
+       };
 };
 
 &omap5_pmx_core {
                >;
        };
 
+       i2c2_pins: pinmux_i2c2_pins {
+               pinctrl-single,pins = <
+                       OMAP5_IOPAD(0x01b8, PIN_INPUT | MUX_MODE0) /* i2c2_scl */
+                       OMAP5_IOPAD(0x01ba, PIN_INPUT | MUX_MODE0) /* i2c2_sda */
+               >;
+       };
+
        mmc1_pins: pinmux_mmc1_pins {
                pinctrl-single,pins = <
                        OMAP5_IOPAD(0x01e2, PIN_INPUT_PULLUP | MUX_MODE0) /* sdcard_clk */
 
        wlan_gpios_pins: pinmux_wlan_gpios_pins {
                pinctrl-single,pins = <
-                       OMAP5_IOPAD(0x019c, PIN_OUTPUT_PULLDOWN | MUX_MODE6) /* gpio4_109 */
-                       OMAP5_IOPAD(0x019e, PIN_OUTPUT_PULLDOWN | MUX_MODE6) /* gpio4_110 */
+                       OMAP5_IOPAD(0x019c, PIN_OUTPUT_PULLDOWN | MUX_MODE6) /* abemcpdm_ul_data.gpio4_109 */
+                       OMAP5_IOPAD(0x019e, PIN_OUTPUT_PULLDOWN | MUX_MODE6) /* abemcpdm_dl_data.gpio4_110 */
                >;
        };
 
                        OMAP5_IOPAD(0x00b6, PIN_OUTPUT | MUX_MODE6) /* hsi2_acdata.gpio3_83 */
                >;
        };
+
+       dss_hdmi_pins: pinmux_dss_hdmi_pins {
+               pinctrl-single,pins = <
+                       OMAP5_IOPAD(0x013c, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_cec */
+                       OMAP5_IOPAD(0x0140, PIN_INPUT | MUX_MODE0) /* hdmi_ddc_scl */
+                       OMAP5_IOPAD(0x0142, PIN_INPUT | MUX_MODE0) /* hdmi_ddc_sda */
+               >;
+       };
+
+       lcd_pins: pinmux_lcd_pins {
+               pinctrl-single,pins = <
+                       OMAP5_IOPAD(0x0172, PIN_OUTPUT_PULLDOWN | MUX_MODE6) /* timer11_pwm_evt.gpio8_227 */
+               >;
+       };
+
+       hdmi_conn_pins: pinmux_hdmi_conn_pins {
+               pinctrl-single,pins = <
+                       OMAP5_IOPAD(0x013e, PIN_INPUT | MUX_MODE6) /* hdmi_hpd.gpio7_193 */
+               >;
+       };
+
+       dss_dpi_pins: pinmux_dss_dpi_pins {
+               pinctrl-single,pins = <
+                       OMAP5_IOPAD(0x0104, PIN_OUTPUT | MUX_MODE3) /* rfbi_data15.dispc_data15 */
+                       OMAP5_IOPAD(0x0106, PIN_OUTPUT | MUX_MODE3) /* rfbi_data14.dispc_data14 */
+                       OMAP5_IOPAD(0x0108, PIN_OUTPUT | MUX_MODE3) /* rfbi_data13.dispc_data13 */
+                       OMAP5_IOPAD(0x010a, PIN_OUTPUT | MUX_MODE3) /* rfbi_data12.dispc_data12 */
+                       OMAP5_IOPAD(0x010c, PIN_OUTPUT | MUX_MODE3) /* rfbi_data11.dispc_data11 */
+                       OMAP5_IOPAD(0x010e, PIN_OUTPUT | MUX_MODE3) /* rfbi_data10.dispc_data10 */
+                       OMAP5_IOPAD(0x0110, PIN_OUTPUT | MUX_MODE3) /* rfbi_data9.dispc_data9 */
+                       OMAP5_IOPAD(0x0112, PIN_OUTPUT | MUX_MODE3) /* rfbi_data8.dispc_data8 */
+                       OMAP5_IOPAD(0x0114, PIN_OUTPUT | MUX_MODE3) /* rfbi_data7.dispc_data7 */
+                       OMAP5_IOPAD(0x0116, PIN_OUTPUT | MUX_MODE3) /* rfbi_data6.dispc_data6 */
+                       OMAP5_IOPAD(0x0118, PIN_OUTPUT | MUX_MODE3) /* rfbi_data5.dispc_data5 */
+                       OMAP5_IOPAD(0x011a, PIN_OUTPUT | MUX_MODE3) /* rfbi_data4.dispc_data4 */
+                       OMAP5_IOPAD(0x011c, PIN_OUTPUT | MUX_MODE3) /* rfbi_data3.dispc_data3 */
+                       OMAP5_IOPAD(0x011e, PIN_OUTPUT | MUX_MODE3) /* rfbi_data2.dispc_data2 */
+                       OMAP5_IOPAD(0x0120, PIN_OUTPUT | MUX_MODE3) /* rfbi_data1.dispc_data1 */
+                       OMAP5_IOPAD(0x0122, PIN_OUTPUT | MUX_MODE3) /* rfbi_data0.dispc_data0 */
+                       OMAP5_IOPAD(0x0124, PIN_OUTPUT | MUX_MODE3) /* rfbi_we.dispc_vsync */
+                       OMAP5_IOPAD(0x0126, PIN_OUTPUT | MUX_MODE3) /* rfbi_cs0.dispc_hsync */
+                       OMAP5_IOPAD(0x0128, PIN_OUTPUT | MUX_MODE3) /* rfbi_a0.dispc_de */
+                       OMAP5_IOPAD(0x012a, PIN_OUTPUT | MUX_MODE3) /* rfbi_re.dispc_pclk */
+                       OMAP5_IOPAD(0x012c, PIN_OUTPUT | MUX_MODE3) /* rfbi_hsync0.dispc_data17 */
+                       OMAP5_IOPAD(0x012e, PIN_OUTPUT | MUX_MODE3) /* rfbi_te_vsync0.dispc_data16 */
+                       OMAP5_IOPAD(0x0130, PIN_OUTPUT | MUX_MODE3) /* gpio6_182.dispc_data18 */
+                       OMAP5_IOPAD(0x0132, PIN_OUTPUT | MUX_MODE3) /* gpio6_183.dispc_data19 */
+                       OMAP5_IOPAD(0x0134, PIN_OUTPUT | MUX_MODE3) /* gpio6_184.dispc_data20 */
+                       OMAP5_IOPAD(0x0136, PIN_OUTPUT | MUX_MODE3) /* gpio6_185.dispc_data21 */
+                       OMAP5_IOPAD(0x0138, PIN_OUTPUT | MUX_MODE3) /* gpio6_186.dispc_data22 */
+                       OMAP5_IOPAD(0x013a, PIN_OUTPUT | MUX_MODE3) /* gpio6_187.dispc_data23 */
+               >;
+       };
+
+       mcspi2_pins: pinmux_mcspi1_pins {
+               pinctrl-single,pins = <
+                       OMAP5_IOPAD(0x00fc, PIN_INPUT | MUX_MODE0) /* mcspi2_clk */
+                       OMAP5_IOPAD(0x00fe, PIN_INPUT | MUX_MODE0) /* mcspi2_simo */
+                       OMAP5_IOPAD(0x0100, PIN_INPUT | MUX_MODE0) /* mcspi2_somi */
+                       OMAP5_IOPAD(0x0102, PIN_INPUT | MUX_MODE0) /* mcspi2_cs0 */
+               >;
+       };
+};
+
+&mcspi2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mcspi2_pins>;
+
+       /* touch controller */
+       ads7846@0 {
+               pinctrl-names = "default";
+               pinctrl-0 = <&ads7846_pins>;
+
+               compatible = "ti,ads7846";
+               vcc-supply = <&ads7846reg>;
+
+               reg = <0>;                              /* CS0 */
+               spi-max-frequency = <1500000>;
+
+               interrupt-parent = <&gpio1>;
+               interrupts = <15 0>;                    /* gpio1_wk15 */
+               pendown-gpio = <&gpio1 15 0>;
+
+
+               ti,x-min = /bits/ 16 <0x0>;
+               ti,x-max = /bits/ 16 <0x0fff>;
+               ti,y-min = /bits/ 16 <0x0>;
+               ti,y-max = /bits/ 16 <0x0fff>;
+
+               ti,x-plate-ohms = /bits/ 16 <180>;
+               ti,pressure-max = /bits/ 16 <255>;
+
+               ti,debounce-max = /bits/ 16 <30>;
+               ti,debounce-tol = /bits/ 16 <10>;
+               ti,debounce-rep = /bits/ 16 <1>;
+
+               linux,wakeup;
+       };
 };
 
 &mmc1 {
        };
 };
 
+&i2c2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c2_pins>;
+
+       clock-frequency = <100000>;
+};
+
 &usbhshost {
        port2-mode = "ehci-hsic";
        port3-mode = "ehci-hsic";
        phys = <0 &hsusb2_phy &hsusb3_phy>;
 };
 
+&usb3 {
+       extcon = <&extcon_usb3>;
+       vbus-supply = <&smps10_out1_reg>;
+};
+
 &cpu0 {
        cpu0-supply = <&smps123_reg>;
 };
+
+&dss {
+       status = "ok";
+
+       pinctrl-names = "default";
+       pinctrl-0 = <&dss_dpi_pins>;
+
+       port {
+               dpi_dvi_out: endpoint@0 {
+                       remote-endpoint = <&tfp410_in>;
+                       data-lines = <24>;
+               };
+
+               dpi_lcd_out: endpoint@1 {
+                       remote-endpoint = <&lcd_in>;
+                       data-lines = <24>;
+               };
+       };
+};
+
+&dsi2 {
+       status = "ok";
+       vdd-supply = <&ldo4_reg>;
+};
+
+&hdmi {
+       status = "ok";
+       vdda-supply = <&ldo4_reg>;
+
+       pinctrl-names = "default";
+       pinctrl-0 = <&dss_hdmi_pins>;
+
+       port {
+               hdmi_out: endpoint {
+                       remote-endpoint = <&hdmi_connector_in>;
+                       lanes = <1 0 3 2 5 4 7 6>;
+               };
+       };
+};
index aa98fea3f2b3763be00804096fea777669345c21..337bbbc01a350602ea00ca52c92482537c502351 100644 (file)
@@ -1,11 +1,11 @@
 /*
- * Suppport for CompuLab SBC-T54 with CM-T54
+ * Suppport for CompuLab CM-T54 on SB-T54 baseboard
  */
 
 #include "omap5-cm-t54.dts"
 
 / {
-       model = "CompuLab SBC-T54 with CM-T54";
+       model = "CompuLab CM-T54 on SB-T54";
        compatible = "compulab,omap5-sbc-t54", "compulab,omap5-cm-t54", "ti,omap5";
 };
 
@@ -19,8 +19,8 @@
 
        mmc1_aux_pins: pinmux_mmc1_aux_pins {
                pinctrl-single,pins = <
-                       OMAP5_IOPAD(0x0174, PIN_INPUT_PULLUP | MUX_MODE6) /* gpio8_228 */
-                       OMAP5_IOPAD(0x0176, PIN_INPUT_PULLUP | MUX_MODE6) /* gpio8_229 */
+                       OMAP5_IOPAD(0x0174, PIN_INPUT_PULLUP | MUX_MODE6) /* timer5_pwm_evt.gpio8_228 */
+                       OMAP5_IOPAD(0x0176, PIN_INPUT_PULLUP | MUX_MODE6) /* timer6_pwm_evt.gpio8_229 */
                >;
        };
 };
index 4a6091d717b50fd01cee762c808b292c38e927f1..256b7f69e45b4cba84b2bfa85543545374ce6f02 100644 (file)
                };
 
                omap5_pmx_core: pinmux@4a002840 {
-                       compatible = "ti,omap4-padconf", "pinctrl-single";
+                       compatible = "ti,omap5-padconf", "pinctrl-single";
                        reg = <0x4a002840 0x01b6>;
                        #address-cells = <1>;
                        #size-cells = <0>;
+                       #interrupt-cells = <1>;
+                       interrupt-controller;
                        pinctrl-single,register-width = <16>;
                        pinctrl-single,function-mask = <0x7fff>;
                };
                omap5_pmx_wkup: pinmux@4ae0c840 {
-                       compatible = "ti,omap4-padconf", "pinctrl-single";
+                       compatible = "ti,omap5-padconf", "pinctrl-single";
                        reg = <0x4ae0c840 0x0038>;
                        #address-cells = <1>;
                        #size-cells = <0>;
+                       #interrupt-cells = <1>;
+                       interrupt-controller;
                        pinctrl-single,register-width = <16>;
                        pinctrl-single,function-mask = <0x7fff>;
                };
                uart1: serial@4806a000 {
                        compatible = "ti,omap4-uart";
                        reg = <0x4806a000 0x100>;
-                       interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupts-extended = <&gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart1";
                        clock-frequency = <48000000>;
                };
                uart2: serial@4806c000 {
                        compatible = "ti,omap4-uart";
                        reg = <0x4806c000 0x100>;
-                       interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupts-extended = <&gic GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart2";
                        clock-frequency = <48000000>;
                };
                uart3: serial@48020000 {
                        compatible = "ti,omap4-uart";
                        reg = <0x48020000 0x100>;
-                       interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupts-extended = <&gic GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart3";
                        clock-frequency = <48000000>;
                };
                uart4: serial@4806e000 {
                        compatible = "ti,omap4-uart";
                        reg = <0x4806e000 0x100>;
-                       interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupts-extended = <&gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart4";
                        clock-frequency = <48000000>;
                };
                uart5: serial@48066000 {
                        compatible = "ti,omap4-uart";
                        reg = <0x48066000 0x100>;
-                       interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupts-extended = <&gic GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart5";
                        clock-frequency = <48000000>;
                };
                uart6: serial@48068000 {
                        compatible = "ti,omap4-uart";
                        reg = <0x48068000 0x100>;
-                       interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupts-extended = <&gic GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart6";
                        clock-frequency = <48000000>;
                };
                        ti,hwmods = "mailbox";
                        ti,mbox-num-users = <3>;
                        ti,mbox-num-fifos = <8>;
+                       mbox_ipu: mbox_ipu {
+                               ti,mbox-tx = <0 0 0>;
+                               ti,mbox-rx = <1 0 0>;
+                       };
+                       mbox_dsp: mbox_dsp {
+                               ti,mbox-tx = <3 0 0>;
+                               ti,mbox-rx = <2 0 0>;
+                       };
                };
 
                timer1: timer@4ae18000 {
                                clock-names = "fck";
                        };
 
+                       rfbi: encoder@58002000  {
+                               compatible = "ti,omap5-rfbi";
+                               reg = <0x58002000 0x100>;
+                               status = "disabled";
+                               ti,hwmods = "dss_rfbi";
+                               clocks = <&dss_dss_clk>, <&l3_iclk_div>;
+                               clock-names = "fck", "ick";
+                       };
+
                        dsi1: encoder@58004000 {
                                compatible = "ti,omap5-dsi";
                                reg = <0x58004000 0x200>,
index a5e90f078aa9fd56995b4191e773bdb1eda5ac76..c08f84629aa99c68da033838c8e26c04828e150c 100644 (file)
                };
 
                usb0: ohci@4c000000 {
-                       compatible = "mrvl,pxa-ohci";
+                       compatible = "marvell,pxa-ohci";
                        reg = <0x4c000000 0x10000>;
                        interrupts = <3>;
                        status = "disabled";
                };
 
                mmc0: mmc@41100000 {
-                       compatible = "mrvl,pxa-mmc";
+                       compatible = "marvell,pxa-mmc";
                        reg = <0x41100000 0x1000>;
                        interrupts = <23>;
                        status = "disabled";
index 7c2441d526bce1c76966603fc4ece981feb6daa8..b396c8311b279fbfd5085c00f1871dae21d44d0d 100644 (file)
@@ -5,6 +5,33 @@
        compatible = "qcom,apq8064-ifc6410", "qcom,apq8064";
 
        soc {
+               pinctrl@800000 {
+                       i2c1_pins: i2c1 {
+                               mux {
+                                       pins = "gpio20", "gpio21";
+                                       function = "gsbi1";
+                               };
+                       };
+               };
+
+               gsbi@12440000 {
+                       status = "okay";
+                       qcom,mode = <GSBI_PROT_I2C>;
+
+                       i2c@12460000 {
+                               status = "okay";
+                               clock-frequency = <200000>;
+                               pinctrl-0 = <&i2c1_pins>;
+                               pinctrl-names = "default";
+
+                               eeprom: eeprom@52 {
+                                       compatible = "atmel,24c128";
+                                       reg = <0x52>;
+                                       pagesize = <32>;
+                               };
+                       };
+               };
+
                gsbi@16600000 {
                        status = "ok";
                        qcom,mode = <GSBI_PROT_I2C_UART>;
                                status = "ok";
                        };
                };
+
+               amba {
+                       /* eMMC */
+                       sdcc1: sdcc@12400000 {
+                               status = "okay";
+                       };
+
+                       /* External micro SD card */
+                       sdcc3: sdcc@12180000 {
+                               status = "okay";
+                       };
+                       /* WLAN */
+                       sdcc4: sdcc@121c0000 {
+                               status = "okay";
+                       };
+               };
        };
 };
index 92bf793622c3a02771ed4eea4565a1260d064513..b3154c0716525a77f41c602d219f2360bb0ab1f5 100644 (file)
@@ -2,7 +2,9 @@
 
 #include "skeleton.dtsi"
 #include <dt-bindings/clock/qcom,gcc-msm8960.h>
+#include <dt-bindings/clock/qcom,mmcc-msm8960.h>
 #include <dt-bindings/soc/qcom,gsbi.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
 
 / {
        model = "Qualcomm APQ8064";
                ranges;
                compatible = "simple-bus";
 
+               tlmm_pinmux: pinctrl@800000 {
+                       compatible = "qcom,apq8064-pinctrl";
+                       reg = <0x800000 0x4000>;
+
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       interrupts = <0 16 IRQ_TYPE_LEVEL_HIGH>;
+
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&ps_hold>;
+
+                       sdc4_gpios: sdc4-gpios {
+                               pios {
+                                       pins = "gpio63", "gpio64", "gpio65", "gpio66", "gpio67", "gpio68";
+                                       function = "sdc4";
+                               };
+                       };
+
+                       ps_hold: ps_hold {
+                               mux {
+                                       pins = "gpio78";
+                                       function = "ps_hold";
+                               };
+                       };
+               };
+
                intc: interrupt-controller@2000000 {
                        compatible = "qcom,msm-qgic2";
                        interrupt-controller;
                        regulator;
                };
 
+               gsbi1: gsbi@12440000 {
+                       status = "disabled";
+                       compatible = "qcom,gsbi-v1.0.0";
+                       reg = <0x12440000 0x100>;
+                       clocks = <&gcc GSBI1_H_CLK>;
+                       clock-names = "iface";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+
+                       i2c1: i2c@12460000 {
+                               compatible = "qcom,i2c-qup-v1.1.1";
+                               reg = <0x12460000 0x1000>;
+                               interrupts = <0 194 IRQ_TYPE_NONE>;
+                               clocks = <&gcc GSBI1_QUP_CLK>, <&gcc GSBI1_H_CLK>;
+                               clock-names = "core", "iface";
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
+               };
+
+               gsbi2: gsbi@12480000 {
+                       status = "disabled";
+                       compatible = "qcom,gsbi-v1.0.0";
+                       reg = <0x12480000 0x100>;
+                       clocks = <&gcc GSBI2_H_CLK>;
+                       clock-names = "iface";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+
+                       i2c2: i2c@124a0000 {
+                               compatible = "qcom,i2c-qup-v1.1.1";
+                               reg = <0x124a0000 0x1000>;
+                               interrupts = <0 196 IRQ_TYPE_NONE>;
+                               clocks = <&gcc GSBI2_QUP_CLK>, <&gcc GSBI2_H_CLK>;
+                               clock-names = "core", "iface";
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
+               };
+
                gsbi7: gsbi@16600000 {
                        status = "disabled";
                        compatible = "qcom,gsbi-v1.0.0";
                        #clock-cells = <1>;
                        #reset-cells = <1>;
                };
+
+               mmcc: clock-controller@4000000 {
+                       compatible = "qcom,mmcc-apq8064";
+                       reg = <0x4000000 0x1000>;
+                       #clock-cells = <1>;
+                       #reset-cells = <1>;
+               };
+
+               /* Temporary fixed regulator */
+               vsdcc_fixed: vsdcc-regulator {
+                       compatible = "regulator-fixed";
+                       regulator-name = "SDCC Power";
+                       regulator-min-microvolt = <2700000>;
+                       regulator-max-microvolt = <2700000>;
+                       regulator-always-on;
+               };
+
+               sdcc1bam:dma@12402000{
+                       compatible = "qcom,bam-v1.3.0";
+                       reg = <0x12402000 0x8000>;
+                       interrupts = <0 98 0>;
+                       clocks = <&gcc SDC1_H_CLK>;
+                       clock-names = "bam_clk";
+                       #dma-cells = <1>;
+                       qcom,ee = <0>;
+               };
+
+               sdcc3bam:dma@12182000{
+                       compatible = "qcom,bam-v1.3.0";
+                       reg = <0x12182000 0x8000>;
+                       interrupts = <0 96 0>;
+                       clocks = <&gcc SDC3_H_CLK>;
+                       clock-names = "bam_clk";
+                       #dma-cells = <1>;
+                       qcom,ee = <0>;
+               };
+
+               sdcc4bam:dma@121c2000{
+                       compatible = "qcom,bam-v1.3.0";
+                       reg = <0x121c2000 0x8000>;
+                       interrupts = <0 95 0>;
+                       clocks = <&gcc SDC4_H_CLK>;
+                       clock-names = "bam_clk";
+                       #dma-cells = <1>;
+                       qcom,ee = <0>;
+               };
+
+               amba {
+                       compatible = "arm,amba-bus";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+                       sdcc1: sdcc@12400000 {
+                               status          = "disabled";
+                               compatible      = "arm,pl18x", "arm,primecell";
+                               arm,primecell-periphid = <0x00051180>;
+                               reg             = <0x12400000 0x2000>;
+                               interrupts      = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupt-names = "cmd_irq";
+                               clocks          = <&gcc SDC1_CLK>, <&gcc SDC1_H_CLK>;
+                               clock-names     = "mclk", "apb_pclk";
+                               bus-width       = <8>;
+                               max-frequency   = <96000000>;
+                               non-removable;
+                               cap-sd-highspeed;
+                               cap-mmc-highspeed;
+                               vmmc-supply = <&vsdcc_fixed>;
+                               dmas = <&sdcc1bam 2>, <&sdcc1bam 1>;
+                               dma-names = "tx", "rx";
+                       };
+
+                       sdcc3: sdcc@12180000 {
+                               compatible      = "arm,pl18x", "arm,primecell";
+                               arm,primecell-periphid = <0x00051180>;
+                               status          = "disabled";
+                               reg             = <0x12180000 0x2000>;
+                               interrupts      = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupt-names = "cmd_irq";
+                               clocks          = <&gcc SDC3_CLK>, <&gcc SDC3_H_CLK>;
+                               clock-names     = "mclk", "apb_pclk";
+                               bus-width       = <4>;
+                               cap-sd-highspeed;
+                               cap-mmc-highspeed;
+                               max-frequency   = <192000000>;
+                               no-1-8-v;
+                               vmmc-supply = <&vsdcc_fixed>;
+                               dmas = <&sdcc3bam 2>, <&sdcc3bam 1>;
+                               dma-names = "tx", "rx";
+                       };
+
+                       sdcc4: sdcc@121c0000 {
+                               compatible      = "arm,pl18x", "arm,primecell";
+                               arm,primecell-periphid = <0x00051180>;
+                               status          = "disabled";
+                               reg             = <0x121c0000 0x2000>;
+                               interrupts      = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupt-names = "cmd_irq";
+                               clocks          = <&gcc SDC4_CLK>, <&gcc SDC4_H_CLK>;
+                               clock-names     = "mclk", "apb_pclk";
+                               bus-width       = <4>;
+                               cap-sd-highspeed;
+                               cap-mmc-highspeed;
+                               max-frequency   = <48000000>;
+                               vmmc-supply = <&vsdcc_fixed>;
+                               vqmmc-supply = <&vsdcc_fixed>;
+                               dmas = <&sdcc4bam 2>, <&sdcc4bam 1>;
+                               dma-names = "tx", "rx";
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&sdc4_gpios>;
+                       };
+               };
        };
 };
index b4dfb01fe6fbbc695dd9e20b0f8fa9991969070b..47370494d0f84ecf2cec66f4cd9ca22beb4f1269 100644 (file)
 
 
                pinctrl@fd510000 {
+                       i2c11_pins: i2c11 {
+                               mux {
+                                       pins = "gpio83", "gpio84";
+                                       function = "blsp_i2c11";
+                               };
+                       };
+
                        spi8_default: spi8_default {
                                mosi {
                                        pins = "gpio45";
                                };
                        };
                };
+
+               i2c@f9967000 {
+                       status = "okay";
+                       clock-frequency = <200000>;
+                       pinctrl-0 = <&i2c11_pins>;
+                       pinctrl-names = "default";
+
+                       eeprom: eeprom@52 {
+                               compatible = "atmel,24c128";
+                               reg = <0x52>;
+                               pagesize = <32>;
+                               read-only;
+                       };
+               };
        };
 };
diff --git a/arch/arm/boot/dts/qcom-apq8084-ifc6540.dts b/arch/arm/boot/dts/qcom-apq8084-ifc6540.dts
new file mode 100644 (file)
index 0000000..c9ff108
--- /dev/null
@@ -0,0 +1,23 @@
+#include "qcom-apq8084.dtsi"
+
+/ {
+       model = "Qualcomm APQ8084/IFC6540";
+       compatible = "qcom,apq8084-ifc6540", "qcom,apq8084";
+
+       soc {
+               serial@f995e000 {
+                       status = "okay";
+               };
+
+               sdhci@f9824900 {
+                       bus-width = <8>;
+                       non-removable;
+                       status = "okay";
+               };
+
+               sdhci@f98a4900 {
+                       cd-gpios = <&tlmm 122 GPIO_ACTIVE_LOW>;
+                       bus-width = <4>;
+               };
+       };
+};
index 9dae3878b71d0c2c660f970fa45abc41e6df978f..8ecec58a9ff6bcc62139f17a99239925c5dbb924 100644 (file)
@@ -3,4 +3,10 @@
 / {
        model = "Qualcomm APQ 8084-MTP";
        compatible = "qcom,apq8084-mtp", "qcom,apq8084";
+
+       soc {
+               serial@f995e000 {
+                       status = "okay";
+               };
+       };
 };
index e3e009a5912bd0ab6d07bb27dffa90f46b65f26d..1f130bc16858d4d1b2bbfbbca031cb49755b067a 100644 (file)
@@ -2,6 +2,9 @@
 
 #include "skeleton.dtsi"
 
+#include <dt-bindings/clock/qcom,gcc-apq8084.h>
+#include <dt-bindings/gpio/gpio.h>
+
 / {
        model = "Qualcomm APQ 8084";
        compatible = "qcom,apq8084";
                        compatible = "qcom,pshold";
                        reg = <0xfc4ab000 0x4>;
                };
+
+               gcc: clock-controller@fc400000 {
+                       compatible = "qcom,gcc-apq8084";
+                       #clock-cells = <1>;
+                       #reset-cells = <1>;
+                       reg = <0xfc400000 0x4000>;
+               };
+
+               tlmm: pinctrl@fd510000 {
+                       compatible = "qcom,apq8084-pinctrl";
+                       reg = <0xfd510000 0x4000>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       interrupts = <0 208 0>;
+               };
+
+               serial@f995e000 {
+                       compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
+                       reg = <0xf995e000 0x1000>;
+                       interrupts = <0 114 0x0>;
+                       clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
+                       clock-names = "core", "iface";
+                       status = "disabled";
+               };
+
+               sdhci@f9824900 {
+                       compatible = "qcom,sdhci-msm-v4";
+                       reg = <0xf9824900 0x11c>, <0xf9824000 0x800>;
+                       reg-names = "hc_mem", "core_mem";
+                       interrupts = <0 123 0>, <0 138 0>;
+                       interrupt-names = "hc_irq", "pwr_irq";
+                       clocks = <&gcc GCC_SDCC1_APPS_CLK>, <&gcc GCC_SDCC1_AHB_CLK>;
+                       clock-names = "core", "iface";
+                       status = "disabled";
+               };
+
+               sdhci@f98a4900 {
+                       compatible = "qcom,sdhci-msm-v4";
+                       reg = <0xf98a4900 0x11c>, <0xf98a4000 0x800>;
+                       reg-names = "hc_mem", "core_mem";
+                       interrupts = <0 125 0>, <0 221 0>;
+                       interrupt-names = "hc_irq", "pwr_irq";
+                       clocks = <&gcc GCC_SDCC2_APPS_CLK>, <&gcc GCC_SDCC2_AHB_CLK>;
+                       clock-names = "core", "iface";
+                       status = "disabled";
+               };
        };
 };
diff --git a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
new file mode 100644 (file)
index 0000000..95e6495
--- /dev/null
@@ -0,0 +1,85 @@
+#include "qcom-ipq8064-v1.0.dtsi"
+
+/ {
+       model = "Qualcomm IPQ8064/AP148";
+       compatible = "qcom,ipq8064-ap148", "qcom,ipq8064";
+
+       reserved-memory {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+               rsvd@41200000 {
+                       reg = <0x41200000 0x300000>;
+                       no-map;
+               };
+       };
+
+       soc {
+               pinmux@800000 {
+                       i2c4_pins: i2c4_pinmux {
+                               pins = "gpio12", "gpio13";
+                               function = "gsbi4";
+                               bias-disable;
+                       };
+
+                       spi_pins: spi_pins {
+                               mux {
+                                       pins = "gpio18", "gpio19", "gpio21";
+                                       function = "gsbi5";
+                                       drive-strength = <10>;
+                                       bias-none;
+                               };
+                       };
+               };
+
+               gsbi@16300000 {
+                       qcom,mode = <GSBI_PROT_I2C_UART>;
+                       status = "ok";
+                       serial@16340000 {
+                               status = "ok";
+                       };
+
+                       i2c4: i2c@16380000 {
+                               status = "ok";
+
+                               clock-frequency = <200000>;
+
+                               pinctrl-0 = <&i2c4_pins>;
+                               pinctrl-names = "default";
+                       };
+               };
+
+               gsbi5: gsbi@1a200000 {
+                       qcom,mode = <GSBI_PROT_SPI>;
+                       status = "ok";
+
+                       spi4: spi@1a280000 {
+                               status = "ok";
+                               spi-max-frequency = <50000000>;
+
+                               pinctrl-0 = <&spi_pins>;
+                               pinctrl-names = "default";
+
+                               cs-gpios = <&qcom_pinmux 20 0>;
+
+                               flash: m25p80@0 {
+                                       compatible = "s25fl256s1";
+                                       #address-cells = <1>;
+                                       #size-cells = <1>;
+                                       spi-max-frequency = <50000000>;
+                                       reg = <0>;
+
+                                       partition@0 {
+                                               label = "rootfs";
+                                               reg = <0x0 0x1000000>;
+                                       };
+
+                                       partition@1 {
+                                               label = "scratch";
+                                               reg = <0x1000000 0x1000000>;
+                                       };
+                               };
+                       };
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/qcom-ipq8064-v1.0.dtsi b/arch/arm/boot/dts/qcom-ipq8064-v1.0.dtsi
new file mode 100644 (file)
index 0000000..7093b07
--- /dev/null
@@ -0,0 +1 @@
+#include "qcom-ipq8064.dtsi"
diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
new file mode 100644 (file)
index 0000000..244f857
--- /dev/null
@@ -0,0 +1,250 @@
+/dts-v1/;
+
+#include "skeleton.dtsi"
+#include <dt-bindings/clock/qcom,gcc-ipq806x.h>
+#include <dt-bindings/soc/qcom,gsbi.h>
+
+/ {
+       model = "Qualcomm IPQ8064";
+       compatible = "qcom,ipq8064";
+       interrupt-parent = <&intc>;
+
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               cpu@0 {
+                       compatible = "qcom,krait";
+                       enable-method = "qcom,kpss-acc-v1";
+                       device_type = "cpu";
+                       reg = <0>;
+                       next-level-cache = <&L2>;
+                       qcom,acc = <&acc0>;
+                       qcom,saw = <&saw0>;
+               };
+
+               cpu@1 {
+                       compatible = "qcom,krait";
+                       enable-method = "qcom,kpss-acc-v1";
+                       device_type = "cpu";
+                       reg = <1>;
+                       next-level-cache = <&L2>;
+                       qcom,acc = <&acc1>;
+                       qcom,saw = <&saw1>;
+               };
+
+               L2: l2-cache {
+                       compatible = "cache";
+                       cache-level = <2>;
+               };
+       };
+
+       cpu-pmu {
+               compatible = "qcom,krait-pmu";
+               interrupts = <1 10 0x304>;
+       };
+
+       reserved-memory {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               nss@40000000 {
+                       reg = <0x40000000 0x1000000>;
+                       no-map;
+               };
+
+               smem@41000000 {
+                       reg = <0x41000000 0x200000>;
+                       no-map;
+               };
+       };
+
+       soc: soc {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+               compatible = "simple-bus";
+
+               qcom_pinmux: pinmux@800000 {
+                       compatible = "qcom,ipq8064-pinctrl";
+                       reg = <0x800000 0x4000>;
+
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       interrupts = <0 32 0x4>;
+               };
+
+               intc: interrupt-controller@2000000 {
+                       compatible = "qcom,msm-qgic2";
+                       interrupt-controller;
+                       #interrupt-cells = <3>;
+                       reg = <0x02000000 0x1000>,
+                             <0x02002000 0x1000>;
+               };
+
+               timer@200a000 {
+                       compatible = "qcom,kpss-timer", "qcom,msm-timer";
+                       interrupts = <1 1 0x301>,
+                                    <1 2 0x301>,
+                                    <1 3 0x301>;
+                       reg = <0x0200a000 0x100>;
+                       clock-frequency = <25000000>,
+                                         <32768>;
+                       cpu-offset = <0x80000>;
+               };
+
+               acc0: clock-controller@2088000 {
+                       compatible = "qcom,kpss-acc-v1";
+                       reg = <0x02088000 0x1000>, <0x02008000 0x1000>;
+               };
+
+               acc1: clock-controller@2098000 {
+                       compatible = "qcom,kpss-acc-v1";
+                       reg = <0x02098000 0x1000>, <0x02008000 0x1000>;
+               };
+
+               saw0: regulator@2089000 {
+                       compatible = "qcom,saw2";
+                       reg = <0x02089000 0x1000>, <0x02009000 0x1000>;
+                       regulator;
+               };
+
+               saw1: regulator@2099000 {
+                       compatible = "qcom,saw2";
+                       reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
+                       regulator;
+               };
+
+               gsbi2: gsbi@12480000 {
+                       compatible = "qcom,gsbi-v1.0.0";
+                       reg = <0x12480000 0x100>;
+                       clocks = <&gcc GSBI2_H_CLK>;
+                       clock-names = "iface";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+                       status = "disabled";
+
+                       serial@12490000 {
+                               compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
+                               reg = <0x12490000 0x1000>,
+                                     <0x12480000 0x1000>;
+                               interrupts = <0 195 0x0>;
+                               clocks = <&gcc GSBI2_UART_CLK>, <&gcc GSBI2_H_CLK>;
+                               clock-names = "core", "iface";
+                               status = "disabled";
+                       };
+
+                       i2c@124a0000 {
+                               compatible = "qcom,i2c-qup-v1.1.1";
+                               reg = <0x124a0000 0x1000>;
+                               interrupts = <0 196 0>;
+
+                               clocks = <&gcc GSBI2_QUP_CLK>, <&gcc GSBI2_H_CLK>;
+                               clock-names = "core", "iface";
+                               status = "disabled";
+
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
+
+               };
+
+               gsbi4: gsbi@16300000 {
+                       compatible = "qcom,gsbi-v1.0.0";
+                       reg = <0x16300000 0x100>;
+                       clocks = <&gcc GSBI4_H_CLK>;
+                       clock-names = "iface";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+                       status = "disabled";
+
+                       serial@16340000 {
+                               compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
+                               reg = <0x16340000 0x1000>,
+                                     <0x16300000 0x1000>;
+                               interrupts = <0 152 0x0>;
+                               clocks = <&gcc GSBI4_UART_CLK>, <&gcc GSBI4_H_CLK>;
+                               clock-names = "core", "iface";
+                               status = "disabled";
+                       };
+
+                       i2c@16380000 {
+                               compatible = "qcom,i2c-qup-v1.1.1";
+                               reg = <0x16380000 0x1000>;
+                               interrupts = <0 153 0>;
+
+                               clocks = <&gcc GSBI4_QUP_CLK>, <&gcc GSBI4_H_CLK>;
+                               clock-names = "core", "iface";
+                               status = "disabled";
+
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
+               };
+
+               gsbi5: gsbi@1a200000 {
+                       compatible = "qcom,gsbi-v1.0.0";
+                       reg = <0x1a200000 0x100>;
+                       clocks = <&gcc GSBI5_H_CLK>;
+                       clock-names = "iface";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+                       status = "disabled";
+
+                       serial@1a240000 {
+                               compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
+                               reg = <0x1a240000 0x1000>,
+                                     <0x1a200000 0x1000>;
+                               interrupts = <0 154 0x0>;
+                               clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>;
+                               clock-names = "core", "iface";
+                               status = "disabled";
+                       };
+
+                       i2c@1a280000 {
+                               compatible = "qcom,i2c-qup-v1.1.1";
+                               reg = <0x1a280000 0x1000>;
+                               interrupts = <0 155 0>;
+
+                               clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>;
+                               clock-names = "core", "iface";
+                               status = "disabled";
+
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
+
+                       spi@1a280000 {
+                               compatible = "qcom,spi-qup-v1.1.1";
+                               reg = <0x1a280000 0x1000>;
+                               interrupts = <0 155 0>;
+
+                               clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>;
+                               clock-names = "core", "iface";
+                               status = "disabled";
+
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
+               };
+
+               qcom,ssbi@500000 {
+                       compatible = "qcom,ssbi";
+                       reg = <0x00500000 0x1000>;
+                       qcom,controller-type = "pmic-arbiter";
+               };
+
+               gcc: clock-controller@900000 {
+                       compatible = "qcom,gcc-ipq8064";
+                       reg = <0x00900000 0x4000>;
+                       #clock-cells = <1>;
+                       #reset-cells = <1>;
+               };
+       };
+};
index 45180adfadf1907a2b448aafca8517889014d786..e0883c376248073158153de3341b6bae038c58f9 100644 (file)
@@ -1,3 +1,5 @@
+#include <dt-bindings/input/input.h>
+
 #include "qcom-msm8660.dtsi"
 
 / {
                                status = "ok";
                        };
                };
+
+               amba {
+                       /* eMMC */
+                       sdcc1: sdcc@12400000 {
+                               status = "okay";
+                       };
+
+                       /* External micro SD card */
+                       sdcc3: sdcc@12180000 {
+                               status = "okay";
+                       };
+               };
+       };
+};
+
+&pmicintc {
+       keypad@148 {
+               linux,keymap = <
+                       MATRIX_KEY(0, 0, KEY_FN_F1)
+                       MATRIX_KEY(0, 1, KEY_UP)
+                       MATRIX_KEY(0, 2, KEY_LEFT)
+                       MATRIX_KEY(0, 3, KEY_VOLUMEUP)
+                       MATRIX_KEY(1, 0, KEY_FN_F2)
+                       MATRIX_KEY(1, 1, KEY_RIGHT)
+                       MATRIX_KEY(1, 2, KEY_DOWN)
+                       MATRIX_KEY(1, 3, KEY_VOLUMEDOWN)
+                       MATRIX_KEY(2, 3, KEY_ENTER)
+                       MATRIX_KEY(4, 0, KEY_CAMERA_FOCUS)
+                       MATRIX_KEY(4, 1, KEY_UP)
+                       MATRIX_KEY(4, 2, KEY_LEFT)
+                       MATRIX_KEY(4, 3, KEY_HOME)
+                       MATRIX_KEY(4, 4, KEY_FN_F3)
+                       MATRIX_KEY(5, 0, KEY_CAMERA)
+                       MATRIX_KEY(5, 1, KEY_RIGHT)
+                       MATRIX_KEY(5, 2, KEY_DOWN)
+                       MATRIX_KEY(5, 3, KEY_BACK)
+                       MATRIX_KEY(5, 4, KEY_MENU)
+                       >;
+               keypad,num-rows = <6>;
+               keypad,num-columns = <5>;
        };
 };
index 53837aaa2f726a523d73791ca52f687528621862..0affd6193f56c987c5a2806f40705fbddb92cab2 100644 (file)
@@ -2,6 +2,7 @@
 
 /include/ "skeleton.dtsi"
 
+#include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/clock/qcom,gcc-msm8660.h>
 #include <dt-bindings/soc/qcom,gsbi.h>
 
                        compatible = "qcom,ssbi";
                        reg = <0x500000 0x1000>;
                        qcom,controller-type = "pmic-arbiter";
+
+                       pmicintc: pmic@0 {
+                               compatible = "qcom,pm8058";
+                               interrupt-parent = <&msmgpio>;
+                               interrupts = <88 8>;
+                               #interrupt-cells = <2>;
+                               interrupt-controller;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               pwrkey@1c {
+                                       compatible = "qcom,pm8058-pwrkey";
+                                       reg = <0x1c>;
+                                       interrupt-parent = <&pmicintc>;
+                                       interrupts = <50 1>, <51 1>;
+                                       debounce = <15625>;
+                                       pull-up;
+                               };
+
+                               keypad@148 {
+                                       compatible = "qcom,pm8058-keypad";
+                                       reg = <0x148>;
+                                       interrupt-parent = <&pmicintc>;
+                                       interrupts = <74 1>, <75 1>;
+                                       debounce = <15>;
+                                       scan-delay = <32>;
+                                       row-hold = <91500>;
+                               };
+
+                               rtc@11d {
+                                       compatible = "qcom,pm8058-rtc";
+                                       interrupt-parent = <&pmicintc>;
+                                       interrupts = <39 1>;
+                                       reg = <0x11d>;
+                                       allow-set-time;
+                               };
+
+                               vibrator@4a {
+                                       compatible = "qcom,pm8058-vib";
+                                       reg = <0x4a>;
+                               };
+                       };
+               };
+
+               /* Temporary fixed regulator */
+               vsdcc_fixed: vsdcc-regulator {
+                       compatible = "regulator-fixed";
+                       regulator-name = "SDCC Power";
+                       regulator-min-microvolt = <2700000>;
+                       regulator-max-microvolt = <2700000>;
+                       regulator-always-on;
+               };
+
+               amba {
+                       compatible = "arm,amba-bus";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+                       sdcc1: sdcc@12400000 {
+                               status          = "disabled";
+                               compatible      = "arm,pl18x", "arm,primecell";
+                               arm,primecell-periphid = <0x00051180>;
+                               reg             = <0x12400000 0x8000>;
+                               interrupts      = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupt-names = "cmd_irq";
+                               clocks          = <&gcc SDC1_CLK>, <&gcc SDC1_H_CLK>;
+                               clock-names     = "mclk", "apb_pclk";
+                               bus-width       = <8>;
+                               max-frequency   = <48000000>;
+                               non-removable;
+                               cap-sd-highspeed;
+                               cap-mmc-highspeed;
+                               vmmc-supply = <&vsdcc_fixed>;
+                       };
+
+                       sdcc3: sdcc@12180000 {
+                               compatible      = "arm,pl18x", "arm,primecell";
+                               arm,primecell-periphid = <0x00051180>;
+                               status          = "disabled";
+                               reg             = <0x12180000 0x8000>;
+                               interrupts      = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupt-names = "cmd_irq";
+                               clocks          = <&gcc SDC3_CLK>, <&gcc SDC3_H_CLK>;
+                               clock-names     = "mclk", "apb_pclk";
+                               bus-width       = <4>;
+                               cap-sd-highspeed;
+                               cap-mmc-highspeed;
+                               max-frequency   = <48000000>;
+                               no-1-8-v;
+                               vmmc-supply = <&vsdcc_fixed>;
+                       };
                };
        };
+
 };
index 8f75cc4c8340bd30b7a3f4b5a5ee632b5b5474f1..7f70fae90959ea54fc11fb29c944cebb0b468f66 100644 (file)
@@ -1,3 +1,5 @@
+#include <dt-bindings/input/input.h>
+
 #include "qcom-msm8960.dtsi"
 
 / {
                                status = "ok";
                        };
                };
+
+               amba {
+                       /* eMMC */
+                       sdcc1: sdcc@12400000 {
+                               status = "okay";
+                       };
+
+                       /* External micro SD card */
+                       sdcc3: sdcc@12180000 {
+                               status = "okay";
+                       };
+               };
+       };
+};
+
+&pmicintc {
+       keypad@148 {
+               linux,keymap = <
+                       MATRIX_KEY(0, 0, KEY_VOLUMEUP)
+                       MATRIX_KEY(0, 1, KEY_VOLUMEDOWN)
+                       MATRIX_KEY(0, 2, KEY_CAMERA_FOCUS)
+                       MATRIX_KEY(0, 3, KEY_CAMERA)
+                       >;
+               keypad,num-rows = <1>;
+               keypad,num-columns = <5>;
        };
 };
index 5303e53e34dc2e23c884ace1cfb8ac79d89556fb..e1b0d5cd9e3cb7860363169a4f58efc158d05ced 100644 (file)
@@ -2,6 +2,7 @@
 
 /include/ "skeleton.dtsi"
 
+#include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/clock/qcom,gcc-msm8960.h>
 #include <dt-bindings/soc/qcom,gsbi.h>
 
                        compatible = "qcom,ssbi";
                        reg = <0x500000 0x1000>;
                        qcom,controller-type = "pmic-arbiter";
+
+                       pmicintc: pmic@0 {
+                               compatible = "qcom,pm8921";
+                               interrupt-parent = <&msmgpio>;
+                               interrupts = <104 8>;
+                               #interrupt-cells = <2>;
+                               interrupt-controller;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               pwrkey@1c {
+                                       compatible = "qcom,pm8921-pwrkey";
+                                       reg = <0x1c>;
+                                       interrupt-parent = <&pmicintc>;
+                                       interrupts = <50 1>, <51 1>;
+                                       debounce = <15625>;
+                                       pull-up;
+                               };
+
+                               keypad@148 {
+                                       compatible = "qcom,pm8921-keypad";
+                                       reg = <0x148>;
+                                       interrupt-parent = <&pmicintc>;
+                                       interrupts = <74 1>, <75 1>;
+                                       debounce = <15>;
+                                       scan-delay = <32>;
+                                       row-hold = <91500>;
+                               };
+
+                               rtc@11d {
+                                       compatible = "qcom,pm8921-rtc";
+                                       interrupt-parent = <&pmicintc>;
+                                       interrupts = <39 1>;
+                                       reg = <0x11d>;
+                                       allow-set-time;
+                               };
+                       };
                };
 
                rng@1a500000 {
                        clocks = <&gcc PRNG_CLK>;
                        clock-names = "core";
                };
+
+               /* Temporary fixed regulator */
+               vsdcc_fixed: vsdcc-regulator {
+                       compatible = "regulator-fixed";
+                       regulator-name = "SDCC Power";
+                       regulator-min-microvolt = <2700000>;
+                       regulator-max-microvolt = <2700000>;
+                       regulator-always-on;
+               };
+
+               amba {
+                       compatible = "arm,amba-bus";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+                       sdcc1: sdcc@12400000 {
+                               status          = "disabled";
+                               compatible      = "arm,pl18x", "arm,primecell";
+                               arm,primecell-periphid = <0x00051180>;
+                               reg             = <0x12400000 0x8000>;
+                               interrupts      = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupt-names = "cmd_irq";
+                               clocks          = <&gcc SDC1_CLK>, <&gcc SDC1_H_CLK>;
+                               clock-names     = "mclk", "apb_pclk";
+                               bus-width       = <8>;
+                               max-frequency   = <96000000>;
+                               non-removable;
+                               cap-sd-highspeed;
+                               cap-mmc-highspeed;
+                               vmmc-supply = <&vsdcc_fixed>;
+                       };
+
+                       sdcc3: sdcc@12180000 {
+                               compatible      = "arm,pl18x", "arm,primecell";
+                               arm,primecell-periphid = <0x00051180>;
+                               status          = "disabled";
+                               reg             = <0x12180000 0x8000>;
+                               interrupts      = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupt-names = "cmd_irq";
+                               clocks          = <&gcc SDC3_CLK>, <&gcc SDC3_H_CLK>;
+                               clock-names     = "mclk", "apb_pclk";
+                               bus-width       = <4>;
+                               cap-sd-highspeed;
+                               cap-mmc-highspeed;
+                               max-frequency   = <192000000>;
+                               no-1-8-v;
+                               vmmc-supply = <&vsdcc_fixed>;
+                       };
+               };
        };
 };
index 69dca2aca25ab0e80634c39bf2e790a21cb8ee6d..e265ec16a7879b013639821e2a7b2db56aa57989 100644 (file)
@@ -1,8 +1,8 @@
 /dts-v1/;
 
-#include "skeleton.dtsi"
-
+#include <dt-bindings/interrupt-controller/irq.h>
 #include <dt-bindings/clock/qcom,gcc-msm8974.h>
+#include "skeleton.dtsi"
 
 / {
        model = "Qualcomm MSM8974";
                        #interrupt-cells = <2>;
                        interrupts = <0 208 0>;
                };
+
+               blsp_i2c11: i2c@f9967000 {
+                       status = "disable";
+                       compatible = "qcom,i2c-qup-v2.1.1";
+                       reg = <0xf9967000 0x1000>;
+                       interrupts = <0 105 IRQ_TYPE_NONE>;
+                       clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
+                       clock-names = "core", "iface";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
        };
 };
index d8ec5058c3519a42c446d0dd8f69d7da11a40718..ef152e384822c8f34633568a9002f2d1507fca21 100644 (file)
@@ -51,7 +51,7 @@
        };
 
        irqc0: interrupt-controller@e61c0000 {
-               compatible = "renesas,irqc";
+               compatible = "renesas,irqc-r8a73a4", "renesas,irqc";
                #interrupt-cells = <2>;
                interrupt-controller;
                reg = <0 0xe61c0000 0 0x200>;
@@ -90,7 +90,7 @@
        };
 
        irqc1: interrupt-controller@e61c0200 {
-               compatible = "renesas,irqc";
+               compatible = "renesas,irqc-r8a73a4", "renesas,irqc";
                #interrupt-cells = <2>;
                interrupt-controller;
                reg = <0 0xe61c0200 0 0x200>;
        };
 
        thermal@e61f0000 {
-               compatible = "renesas,rcar-thermal";
+               compatible = "renesas,thermal-r8a73a4", "renesas,rcar-thermal";
                reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>,
                         <0 0xe61f0200 0 0x38>, <0 0xe61f0300 0 0x38>;
                interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>;
index 72891e5f0f1bf958e70d7b12aa0a920b0faa917f..7cfba9aa1b415cc180dae8f0a75901fb5921f488 100644 (file)
        scif0: serial@ffe40000 {
                compatible = "renesas,scif-r8a7779", "renesas,scif";
                reg = <0xffe40000 0x100>;
-               interrupt-parent = <&gic>;
                interrupts = <0 88 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&cpg_clocks R8A7779_CLK_P>;
                clock-names = "sci_ick";
        scif1: serial@ffe41000 {
                compatible = "renesas,scif-r8a7779", "renesas,scif";
                reg = <0xffe41000 0x100>;
-               interrupt-parent = <&gic>;
                interrupts = <0 89 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&cpg_clocks R8A7779_CLK_P>;
                clock-names = "sci_ick";
        scif2: serial@ffe42000 {
                compatible = "renesas,scif-r8a7779", "renesas,scif";
                reg = <0xffe42000 0x100>;
-               interrupt-parent = <&gic>;
                interrupts = <0 90 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&cpg_clocks R8A7779_CLK_P>;
                clock-names = "sci_ick";
        scif3: serial@ffe43000 {
                compatible = "renesas,scif-r8a7779", "renesas,scif";
                reg = <0xffe43000 0x100>;
-               interrupt-parent = <&gic>;
                interrupts = <0 91 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&cpg_clocks R8A7779_CLK_P>;
                clock-names = "sci_ick";
        scif4: serial@ffe44000 {
                compatible = "renesas,scif-r8a7779", "renesas,scif";
                reg = <0xffe44000 0x100>;
-               interrupt-parent = <&gic>;
                interrupts = <0 92 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&cpg_clocks R8A7779_CLK_P>;
                clock-names = "sci_ick";
        scif5: serial@ffe45000 {
                compatible = "renesas,scif-r8a7779", "renesas,scif";
                reg = <0xffe45000 0x100>;
-               interrupt-parent = <&gic>;
                interrupts = <0 93 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&cpg_clocks R8A7779_CLK_P>;
                clock-names = "sci_ick";
        };
 
        thermal@ffc48000 {
-               compatible = "renesas,rcar-thermal";
+               compatible = "renesas,thermal-r8a7779", "renesas,rcar-thermal";
                reg = <0xffc48000 0x38>;
        };
 
                /* Gate clocks */
                mstp0_clks: clocks@ffc80030 {
                        compatible = "renesas,r8a7779-mstp-clocks",
-                                    "renesas,cpg-mstp-clocks";
+                                    "renesas,cpg-mstp-clocks";
                        reg = <0xffc80030 4>;
                        clocks = <&cpg_clocks R8A7779_CLK_S>,
-                                <&cpg_clocks R8A7779_CLK_P>,
+                                <&cpg_clocks R8A7779_CLK_P>,
                                 <&cpg_clocks R8A7779_CLK_P>,
                                 <&cpg_clocks R8A7779_CLK_P>,
                                 <&cpg_clocks R8A7779_CLK_S>,
                };
                mstp1_clks: clocks@ffc80034 {
                        compatible = "renesas,r8a7779-mstp-clocks",
-                                    "renesas,cpg-mstp-clocks";
+                                    "renesas,cpg-mstp-clocks";
                        reg = <0xffc80034 4>, <0xffc80044 4>;
                        clocks = <&cpg_clocks R8A7779_CLK_P>,
                                 <&cpg_clocks R8A7779_CLK_P>,
                };
                mstp3_clks: clocks@ffc8003c {
                        compatible = "renesas,r8a7779-mstp-clocks",
-                                    "renesas,cpg-mstp-clocks";
+                                    "renesas,cpg-mstp-clocks";
                        reg = <0xffc8003c 4>;
                        clocks = <&s4_clk>, <&s4_clk>, <&s4_clk>, <&s4_clk>,
                                 <&s4_clk>, <&s4_clk>;
index 7853c2c15ce67e852b2e79bb7c546973ea23c2bc..69098b906b3919d2653dd244b6cc3220d6dfb741 100644 (file)
@@ -32,7 +32,7 @@
                reg = <0 0x40000000 0 0x40000000>;
        };
 
-       memory@180000000 {
+       memory@140000000 {
                device_type = "memory";
                reg = <1 0x40000000 0 0xc0000000>;
        };
                renesas,groups = "usb2";
                renesas,function = "usb2";
        };
+
+       vin1_pins: vin {
+               renesas,groups = "vin1_data8", "vin1_clk";
+               renesas,function = "vin1";
+       };
 };
 
 &ether {
        status = "ok";
        pinctrl-0 = <&iic2_pins>;
        pinctrl-names = "default";
+
+       composite-in@20 {
+               compatible = "adi,adv7180";
+               reg = <0x20>;
+               remote = <&vin1>;
+
+               port {
+                       adv7180: endpoint {
+                               bus-width = <8>;
+                               remote-endpoint = <&vin1ep0>;
+                       };
+               };
+       };
 };
 
 &iic3 {
        status = "okay";
 
        vdd_dvfs: regulator@68 {
-               compatible = "diasemi,da9210";
+               compatible = "dlg,da9210";
                reg = <0x68>;
 
                regulator-min-microvolt = <1000000>;
        pinctrl-0 = <&usb2_pins>;
        pinctrl-names = "default";
 };
+
+/* composite video input */
+&vin1 {
+       pinctrl-0 = <&vin1_pins>;
+       pinctrl-names = "default";
+
+       status = "ok";
+
+       port {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               vin1ep0: endpoint {
+                       remote-endpoint = <&adv7180>;
+                       bus-width = <8>;
+               };
+       };
+};
index aa146d2d10227a6d3ef469abac6029cd0eaf7f15..d0e17733dc1a340608b10b3f4f595e93ec53d45d 100644 (file)
                spi2 = &msiof1;
                spi3 = &msiof2;
                spi4 = &msiof3;
+               vin0 = &vin0;
+               vin1 = &vin1;
+               vin2 = &vin2;
+               vin3 = &vin3;
        };
 
        cpus {
                             <0 3 IRQ_TYPE_LEVEL_HIGH>;
        };
 
+       dmac0: dma-controller@e6700000 {
+               compatible = "renesas,rcar-dmac";
+               reg = <0 0xe6700000 0 0x20000>;
+               interrupts = <0 197 IRQ_TYPE_LEVEL_HIGH
+                             0 200 IRQ_TYPE_LEVEL_HIGH
+                             0 201 IRQ_TYPE_LEVEL_HIGH
+                             0 202 IRQ_TYPE_LEVEL_HIGH
+                             0 203 IRQ_TYPE_LEVEL_HIGH
+                             0 204 IRQ_TYPE_LEVEL_HIGH
+                             0 205 IRQ_TYPE_LEVEL_HIGH
+                             0 206 IRQ_TYPE_LEVEL_HIGH
+                             0 207 IRQ_TYPE_LEVEL_HIGH
+                             0 208 IRQ_TYPE_LEVEL_HIGH
+                             0 209 IRQ_TYPE_LEVEL_HIGH
+                             0 210 IRQ_TYPE_LEVEL_HIGH
+                             0 211 IRQ_TYPE_LEVEL_HIGH
+                             0 212 IRQ_TYPE_LEVEL_HIGH
+                             0 213 IRQ_TYPE_LEVEL_HIGH
+                             0 214 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-names = "error",
+                               "ch0", "ch1", "ch2", "ch3",
+                               "ch4", "ch5", "ch6", "ch7",
+                               "ch8", "ch9", "ch10", "ch11",
+                               "ch12", "ch13", "ch14";
+               clocks = <&mstp2_clks R8A7790_CLK_SYS_DMAC0>;
+               clock-names = "fck";
+               #dma-cells = <1>;
+               dma-channels = <15>;
+       };
+
+       dmac1: dma-controller@e6720000 {
+               compatible = "renesas,rcar-dmac";
+               reg = <0 0xe6720000 0 0x20000>;
+               interrupts = <0 220 IRQ_TYPE_LEVEL_HIGH
+                             0 216 IRQ_TYPE_LEVEL_HIGH
+                             0 217 IRQ_TYPE_LEVEL_HIGH
+                             0 218 IRQ_TYPE_LEVEL_HIGH
+                             0 219 IRQ_TYPE_LEVEL_HIGH
+                             0 308 IRQ_TYPE_LEVEL_HIGH
+                             0 309 IRQ_TYPE_LEVEL_HIGH
+                             0 310 IRQ_TYPE_LEVEL_HIGH
+                             0 311 IRQ_TYPE_LEVEL_HIGH
+                             0 312 IRQ_TYPE_LEVEL_HIGH
+                             0 313 IRQ_TYPE_LEVEL_HIGH
+                             0 314 IRQ_TYPE_LEVEL_HIGH
+                             0 315 IRQ_TYPE_LEVEL_HIGH
+                             0 316 IRQ_TYPE_LEVEL_HIGH
+                             0 317 IRQ_TYPE_LEVEL_HIGH
+                             0 318 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-names = "error",
+                               "ch0", "ch1", "ch2", "ch3",
+                               "ch4", "ch5", "ch6", "ch7",
+                               "ch8", "ch9", "ch10", "ch11",
+                               "ch12", "ch13", "ch14";
+               clocks = <&mstp2_clks R8A7790_CLK_SYS_DMAC1>;
+               clock-names = "fck";
+               #dma-cells = <1>;
+               dma-channels = <15>;
+       };
        i2c0: i2c@e6508000 {
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
        };
 
+       vin0: video@e6ef0000 {
+               compatible = "renesas,vin-r8a7790";
+               clocks = <&mstp8_clks R8A7790_CLK_VIN0>;
+               reg = <0 0xe6ef0000 0 0x1000>;
+               interrupts = <0 188 IRQ_TYPE_LEVEL_HIGH>;
+               status = "disabled";
+       };
+
+       vin1: video@e6ef1000 {
+               compatible = "renesas,vin-r8a7790";
+               clocks = <&mstp8_clks R8A7790_CLK_VIN1>;
+               reg = <0 0xe6ef1000 0 0x1000>;
+               interrupts = <0 189 IRQ_TYPE_LEVEL_HIGH>;
+               status = "disabled";
+       };
+
+       vin2: video@e6ef2000 {
+               compatible = "renesas,vin-r8a7790";
+               clocks = <&mstp8_clks R8A7790_CLK_VIN2>;
+               reg = <0 0xe6ef2000 0 0x1000>;
+               interrupts = <0 190 IRQ_TYPE_LEVEL_HIGH>;
+               status = "disabled";
+       };
+
+       vin3: video@e6ef3000 {
+               compatible = "renesas,vin-r8a7790";
+               clocks = <&mstp8_clks R8A7790_CLK_VIN3>;
+               reg = <0 0xe6ef3000 0 0x1000>;
+               interrupts = <0 191 IRQ_TYPE_LEVEL_HIGH>;
+               status = "disabled";
+       };
+
        clocks {
                #address-cells = <2>;
                #size-cells = <2>;
                mstp1_clks: mstp1_clks@e6150134 {
                        compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
                        reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>;
-                       clocks = <&p_clk>, <&p_clk>, <&p_clk>, <&rclk_clk>,
+                       clocks = <&m2_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&rclk_clk>,
                                 <&cp_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>,
                                 <&zs_clk>;
                        #clock-cells = <1>;
                        renesas,clock-indices = <
-                               R8A7790_CLK_TMU1 R8A7790_CLK_TMU3 R8A7790_CLK_TMU2
+                               R8A7790_CLK_JPU R8A7790_CLK_TMU1 R8A7790_CLK_TMU3 R8A7790_CLK_TMU2
                                R8A7790_CLK_CMT0 R8A7790_CLK_TMU0 R8A7790_CLK_VSP1_DU1
                                R8A7790_CLK_VSP1_DU0 R8A7790_CLK_VSP1_R R8A7790_CLK_VSP1_S
                        >;
                        clock-output-names =
-                               "tmu1", "tmu3", "tmu2", "cmt0", "tmu0", "vsp1-du1",
+                               "jpu", "tmu1", "tmu3", "tmu2", "cmt0", "tmu0", "vsp1-du1",
                                "vsp1-du0", "vsp1-rt", "vsp1-sy";
                };
                mstp2_clks: mstp2_clks@e6150138 {
                        compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
                        reg = <0 0xe6150138 0 4>, <0 0xe6150040 0 4>;
                        clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>,
-                                <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>;
+                                <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>, <&zs_clk>,
+                                <&zs_clk>;
                        #clock-cells = <1>;
                        renesas,clock-indices = <
                                R8A7790_CLK_SCIFA2 R8A7790_CLK_SCIFA1 R8A7790_CLK_SCIFA0
                                R8A7790_CLK_MSIOF2 R8A7790_CLK_SCIFB0 R8A7790_CLK_SCIFB1
                                R8A7790_CLK_MSIOF1 R8A7790_CLK_MSIOF3 R8A7790_CLK_SCIFB2
+                               R8A7790_CLK_SYS_DMAC1 R8A7790_CLK_SYS_DMAC0
                        >;
                        clock-output-names =
                                "scifa2", "scifa1", "scifa0", "msiof2", "scifb0",
-                               "scifb1", "msiof1", "msiof3", "scifb2";
+                               "scifb1", "msiof1", "msiof3", "scifb2",
+                               "sys-dmac1", "sys-dmac0";
                };
                mstp3_clks: mstp3_clks@e615013c {
                        compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
                reg = <0 0xe6b10000 0 0x2c>;
                interrupts = <0 184 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp9_clks R8A7790_CLK_QSPI_MOD>;
+               dmas = <&dmac0 0x17>, <&dmac0 0x18>;
+               dma-names = "tx", "rx";
                num-cs = <1>;
                #address-cells = <1>;
                #size-cells = <0>;
 
        msiof0: spi@e6e20000 {
                compatible = "renesas,msiof-r8a7790";
-               reg = <0 0xe6e20000 0 0x0064>;
+               reg = <0 0xe6e20000 0 0x0064>, <0 0xe7e20000 0 0x0064>;
                interrupts = <0 156 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp0_clks R8A7790_CLK_MSIOF0>;
+               dmas = <&dmac0 0x51>, <&dmac0 0x52>;
+               dma-names = "tx", "rx";
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
 
        msiof1: spi@e6e10000 {
                compatible = "renesas,msiof-r8a7790";
-               reg = <0 0xe6e10000 0 0x0064>;
+               reg = <0 0xe6e10000 0 0x0064>, <0 0xe7e10000 0 0x0064>;
                interrupts = <0 157 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp2_clks R8A7790_CLK_MSIOF1>;
+               dmas = <&dmac0 0x55>, <&dmac0 0x56>;
+               dma-names = "tx", "rx";
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
 
        msiof2: spi@e6e00000 {
                compatible = "renesas,msiof-r8a7790";
-               reg = <0 0xe6e00000 0 0x0064>;
+               reg = <0 0xe6e00000 0 0x0064>, <0 0xe7e00000 0 0x0064>;
                interrupts = <0 158 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp2_clks R8A7790_CLK_MSIOF2>;
+               dmas = <&dmac0 0x41>, <&dmac0 0x42>;
+               dma-names = "tx", "rx";
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
 
        msiof3: spi@e6c90000 {
                compatible = "renesas,msiof-r8a7790";
-               reg = <0 0xe6c90000 0 0x0064>;
+               reg = <0 0xe6c90000 0 0x0064>, <0 0xe7c90000 0 0x0064>;
                interrupts = <0 159 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp2_clks R8A7790_CLK_MSIOF3>;
+               dmas = <&dmac0 0x45>, <&dmac0 0x46>;
+               dma-names = "tx", "rx";
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
        rcar_sound: rcar_sound@0xec500000 {
                #sound-dai-cells = <1>;
                compatible =  "renesas,rcar_sound-r8a7790", "renesas,rcar_sound-gen2", "renesas,rcar_sound";
-               interrupt-parent = <&gic>;
                reg =   <0 0xec500000 0 0x1000>, /* SCU */
                        <0 0xec5a0000 0 0x100>,  /* ADG */
                        <0 0xec540000 0 0x1000>, /* SSIU */
index 3a2ef0a2a137f8d49754c28b2bb95ba9bb2fb225..f1b56de10205f14bdcd829900368c31dae067a39 100644 (file)
                renesas,groups = "usb1";
                renesas,function = "usb1";
        };
+
+       vin0_pins: vin0 {
+               renesas,groups = "vin0_data8", "vin0_clk";
+               renesas,function = "vin0";
+       };
 };
 
 &scif0 {
 
        status = "okay";
        clock-frequency = <400000>;
+
+       composite-in@20 {
+               compatible = "adi,adv7180";
+               reg = <0x20>;
+               remote = <&vin0>;
+
+               port {
+                       adv7180: endpoint {
+                               bus-width = <8>;
+                               remote-endpoint = <&vin0ep>;
+                       };
+               };
+       };
 };
 
 &qspi {
 &pciec {
        status = "okay";
 };
+
+/* composite video input */
+&vin0 {
+       status = "ok";
+       pinctrl-0 = <&vin0_pins>;
+       pinctrl-names = "default";
+
+       port {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               vin0ep: endpoint {
+                       remote-endpoint = <&adv7180>;
+                       bus-width = <8>;
+               };
+       };
+};
index 740308e09457dbe139f50e81b30a5185b8550d4d..07550e775e8047111e2f280ef8d94da993970ebb 100644 (file)
                renesas,groups = "usb1";
                renesas,function = "usb1";
        };
+
+       vin1_pins: vin1 {
+               renesas,groups = "vin1_data8", "vin1_clk";
+               renesas,function = "vin1";
+       };
 };
 
 &ether {
        status = "okay";
        clock-frequency = <400000>;
 
+       composite-in@20 {
+               compatible = "adi,adv7180";
+               reg = <0x20>;
+               remote = <&vin1>;
+
+               port {
+                       adv7180: endpoint {
+                               bus-width = <8>;
+                               remote-endpoint = <&vin1ep>;
+                       };
+               };
+       };
+
        eeprom@50 {
                compatible = "renesas,24c02";
                reg = <0x50>;
        clock-frequency = <100000>;
 
        vdd_dvfs: regulator@68 {
-               compatible = "diasemi,da9210";
+               compatible = "dlg,da9210";
                reg = <0x68>;
 
                regulator-min-microvolt = <1000000>;
 &cpu0 {
        cpu0-supply = <&vdd_dvfs>;
 };
+
+/* composite video input */
+&vin1 {
+       status = "ok";
+       pinctrl-0 = <&vin1_pins>;
+       pinctrl-names = "default";
+
+       port {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               vin1ep: endpoint {
+                       remote-endpoint = <&adv7180>;
+                       bus-width = <8>;
+               };
+       };
+};
index e270f38d827fd53b124cc889b2fcda542898066e..e06c11fa8698cfcc4cd5fc13ce1f905f554de01f 100644 (file)
@@ -34,6 +34,9 @@
                spi1 = &msiof0;
                spi2 = &msiof1;
                spi3 = &msiof2;
+               vin0 = &vin0;
+               vin1 = &vin1;
+               vin2 = &vin2;
        };
 
        cpus {
                             <0 17 IRQ_TYPE_LEVEL_HIGH>;
        };
 
+       dmac0: dma-controller@e6700000 {
+               compatible = "renesas,rcar-dmac";
+               reg = <0 0xe6700000 0 0x20000>;
+               interrupts = <0 197 IRQ_TYPE_LEVEL_HIGH
+                             0 200 IRQ_TYPE_LEVEL_HIGH
+                             0 201 IRQ_TYPE_LEVEL_HIGH
+                             0 202 IRQ_TYPE_LEVEL_HIGH
+                             0 203 IRQ_TYPE_LEVEL_HIGH
+                             0 204 IRQ_TYPE_LEVEL_HIGH
+                             0 205 IRQ_TYPE_LEVEL_HIGH
+                             0 206 IRQ_TYPE_LEVEL_HIGH
+                             0 207 IRQ_TYPE_LEVEL_HIGH
+                             0 208 IRQ_TYPE_LEVEL_HIGH
+                             0 209 IRQ_TYPE_LEVEL_HIGH
+                             0 210 IRQ_TYPE_LEVEL_HIGH
+                             0 211 IRQ_TYPE_LEVEL_HIGH
+                             0 212 IRQ_TYPE_LEVEL_HIGH
+                             0 213 IRQ_TYPE_LEVEL_HIGH
+                             0 214 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-names = "error",
+                               "ch0", "ch1", "ch2", "ch3",
+                               "ch4", "ch5", "ch6", "ch7",
+                               "ch8", "ch9", "ch10", "ch11",
+                               "ch12", "ch13", "ch14";
+               clocks = <&mstp2_clks R8A7791_CLK_SYS_DMAC0>;
+               clock-names = "fck";
+               #dma-cells = <1>;
+               dma-channels = <15>;
+       };
+
+       dmac1: dma-controller@e6720000 {
+               compatible = "renesas,rcar-dmac";
+               reg = <0 0xe6720000 0 0x20000>;
+               interrupts = <0 220 IRQ_TYPE_LEVEL_HIGH
+                             0 216 IRQ_TYPE_LEVEL_HIGH
+                             0 217 IRQ_TYPE_LEVEL_HIGH
+                             0 218 IRQ_TYPE_LEVEL_HIGH
+                             0 219 IRQ_TYPE_LEVEL_HIGH
+                             0 308 IRQ_TYPE_LEVEL_HIGH
+                             0 309 IRQ_TYPE_LEVEL_HIGH
+                             0 310 IRQ_TYPE_LEVEL_HIGH
+                             0 311 IRQ_TYPE_LEVEL_HIGH
+                             0 312 IRQ_TYPE_LEVEL_HIGH
+                             0 313 IRQ_TYPE_LEVEL_HIGH
+                             0 314 IRQ_TYPE_LEVEL_HIGH
+                             0 315 IRQ_TYPE_LEVEL_HIGH
+                             0 316 IRQ_TYPE_LEVEL_HIGH
+                             0 317 IRQ_TYPE_LEVEL_HIGH
+                             0 318 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-names = "error",
+                               "ch0", "ch1", "ch2", "ch3",
+                               "ch4", "ch5", "ch6", "ch7",
+                               "ch8", "ch9", "ch10", "ch11",
+                               "ch12", "ch13", "ch14";
+               clocks = <&mstp2_clks R8A7791_CLK_SYS_DMAC1>;
+               clock-names = "fck";
+               #dma-cells = <1>;
+               dma-channels = <15>;
+       };
+
        /* The memory map in the User's Manual maps the cores to bus numbers */
        i2c0: i2c@e6508000 {
                #address-cells = <1>;
                status = "disabled";
        };
 
+       vin0: video@e6ef0000 {
+               compatible = "renesas,vin-r8a7791";
+               clocks = <&mstp8_clks R8A7791_CLK_VIN0>;
+               reg = <0 0xe6ef0000 0 0x1000>;
+               interrupts = <0 188 IRQ_TYPE_LEVEL_HIGH>;
+               status = "disabled";
+       };
+
+       vin1: video@e6ef1000 {
+               compatible = "renesas,vin-r8a7791";
+               clocks = <&mstp8_clks R8A7791_CLK_VIN1>;
+               reg = <0 0xe6ef1000 0 0x1000>;
+               interrupts = <0 189 IRQ_TYPE_LEVEL_HIGH>;
+               status = "disabled";
+       };
+
+       vin2: video@e6ef2000 {
+               compatible = "renesas,vin-r8a7791";
+               clocks = <&mstp8_clks R8A7791_CLK_VIN2>;
+               reg = <0 0xe6ef2000 0 0x1000>;
+               interrupts = <0 190 IRQ_TYPE_LEVEL_HIGH>;
+               status = "disabled";
+       };
+
        clocks {
                #address-cells = <2>;
                #size-cells = <2>;
                mstp1_clks: mstp1_clks@e6150134 {
                        compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
                        reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>;
-                       clocks = <&p_clk>, <&p_clk>, <&p_clk>, <&rclk_clk>,
+                       clocks = <&m2_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&rclk_clk>,
                                 <&cp_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>;
                        #clock-cells = <1>;
                        renesas,clock-indices = <
-                               R8A7791_CLK_TMU1 R8A7791_CLK_TMU3 R8A7791_CLK_TMU2
+                               R8A7791_CLK_JPU R8A7791_CLK_TMU1 R8A7791_CLK_TMU3 R8A7791_CLK_TMU2
                                R8A7791_CLK_CMT0 R8A7791_CLK_TMU0 R8A7791_CLK_VSP1_DU1
                                R8A7791_CLK_VSP1_DU0 R8A7791_CLK_VSP1_S
                        >;
                        clock-output-names =
-                               "tmu1", "tmu3", "tmu2", "cmt0", "tmu0", "vsp1-du1",
+                               "jpu", "tmu1", "tmu3", "tmu2", "cmt0", "tmu0", "vsp1-du1",
                                "vsp1-du0", "vsp1-sy";
                };
                mstp2_clks: mstp2_clks@e6150138 {
                reg = <0 0xe6b10000 0 0x2c>;
                interrupts = <0 184 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp9_clks R8A7791_CLK_QSPI_MOD>;
+               dmas = <&dmac0 0x17>, <&dmac0 0x18>;
+               dma-names = "tx", "rx";
                num-cs = <1>;
                #address-cells = <1>;
                #size-cells = <0>;
 
        msiof0: spi@e6e20000 {
                compatible = "renesas,msiof-r8a7791";
-               reg = <0 0xe6e20000 0 0x0064>;
+               reg = <0 0xe6e20000 0 0x0064>, <0 0xe7e20000 0 0x0064>;
                interrupts = <0 156 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp0_clks R8A7791_CLK_MSIOF0>;
+               dmas = <&dmac0 0x51>, <&dmac0 0x52>;
+               dma-names = "tx", "rx";
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
 
        msiof1: spi@e6e10000 {
                compatible = "renesas,msiof-r8a7791";
-               reg = <0 0xe6e10000 0 0x0064>;
+               reg = <0 0xe6e10000 0 0x0064>, <0 0xe7e10000 0 0x0064>;
                interrupts = <0 157 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp2_clks R8A7791_CLK_MSIOF1>;
+               dmas = <&dmac0 0x55>, <&dmac0 0x56>;
+               dma-names = "tx", "rx";
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
 
        msiof2: spi@e6e00000 {
                compatible = "renesas,msiof-r8a7791";
-               reg = <0 0xe6e00000 0 0x0064>;
+               reg = <0 0xe6e00000 0 0x0064>, <0 0xe7e00000 0 0x0064>;
                interrupts = <0 158 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp2_clks R8A7791_CLK_MSIOF2>;
+               dmas = <&dmac0 0x41>, <&dmac0 0x42>;
+               dma-names = "tx", "rx";
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
        rcar_sound: rcar_sound@0xec500000 {
                #sound-dai-cells = <1>;
                compatible =  "renesas,rcar_sound-r8a7791", "renesas,rcar_sound-gen2", "renesas,rcar_sound";
-               interrupt-parent = <&gic>;
                reg =   <0 0xec500000 0 0x1000>, /* SCU */
                        <0 0xec5a0000 0 0x100>,  /* ADG */
                        <0 0xec540000 0 0x1000>, /* SSIU */
diff --git a/arch/arm/boot/dts/r8a7794-alt.dts b/arch/arm/boot/dts/r8a7794-alt.dts
new file mode 100644 (file)
index 0000000..79d06ef
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * Device Tree Source for the Alt board
+ *
+ * Copyright (C) 2014 Renesas Electronics Corporation
+ *
+ * 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 "r8a7794.dtsi"
+
+/ {
+       model = "Alt";
+       compatible = "renesas,alt", "renesas,r8a7794";
+
+       aliases {
+               serial0 = &scif2;
+       };
+
+       chosen {
+               bootargs = "console=ttySC0,38400 ignore_loglevel rw root=/dev/nfs ip=dhcp";
+       };
+
+       memory@40000000 {
+               device_type = "memory";
+               reg = <0 0x40000000 0 0x40000000>;
+       };
+
+       lbsc {
+               #address-cells = <1>;
+               #size-cells = <1>;
+       };
+};
+
+&extal_clk {
+       clock-frequency = <20000000>;
+};
+
+&cmt0 {
+       status = "ok";
+};
+
+&scif2 {
+       status = "ok";
+};
diff --git a/arch/arm/boot/dts/r8a7794.dtsi b/arch/arm/boot/dts/r8a7794.dtsi
new file mode 100644 (file)
index 0000000..d4e8bce
--- /dev/null
@@ -0,0 +1,531 @@
+/*
+ * Device Tree Source for the r8a7794 SoC
+ *
+ * Copyright (C) 2014 Renesas Electronics Corporation
+ * Copyright (C) 2014 Ulrich Hecht
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include <dt-bindings/clock/r8a7794-clock.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/ {
+       compatible = "renesas,r8a7794";
+       interrupt-parent = <&gic>;
+       #address-cells = <2>;
+       #size-cells = <2>;
+
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               cpu0: cpu@0 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a7";
+                       reg = <0>;
+                       clock-frequency = <1000000000>;
+               };
+
+               cpu1: cpu@1 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a7";
+                       reg = <1>;
+                       clock-frequency = <1000000000>;
+               };
+       };
+
+       gic: interrupt-controller@f1001000 {
+               compatible = "arm,cortex-a7-gic";
+               #interrupt-cells = <3>;
+               #address-cells = <0>;
+               interrupt-controller;
+               reg = <0 0xf1001000 0 0x1000>,
+                       <0 0xf1002000 0 0x1000>,
+                       <0 0xf1004000 0 0x2000>,
+                       <0 0xf1006000 0 0x2000>;
+               interrupts = <1 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
+       };
+
+       cmt0: timer@ffca0000 {
+               compatible = "renesas,cmt-48-gen2";
+               reg = <0 0xffca0000 0 0x1004>;
+               interrupts = <0 142 IRQ_TYPE_LEVEL_HIGH>,
+                            <0 143 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp1_clks R8A7794_CLK_CMT0>;
+               clock-names = "fck";
+
+               renesas,channels-mask = <0x60>;
+
+               status = "disabled";
+       };
+
+       cmt1: timer@e6130000 {
+               compatible = "renesas,cmt-48-gen2";
+               reg = <0 0xe6130000 0 0x1004>;
+               interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>,
+                            <0 121 IRQ_TYPE_LEVEL_HIGH>,
+                            <0 122 IRQ_TYPE_LEVEL_HIGH>,
+                            <0 123 IRQ_TYPE_LEVEL_HIGH>,
+                            <0 124 IRQ_TYPE_LEVEL_HIGH>,
+                            <0 125 IRQ_TYPE_LEVEL_HIGH>,
+                            <0 126 IRQ_TYPE_LEVEL_HIGH>,
+                            <0 127 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp3_clks R8A7794_CLK_CMT1>;
+               clock-names = "fck";
+
+               renesas,channels-mask = <0xff>;
+
+               status = "disabled";
+       };
+
+       irqc0: interrupt-controller@e61c0000 {
+               compatible = "renesas,irqc-r8a7794", "renesas,irqc";
+               #interrupt-cells = <2>;
+               interrupt-controller;
+               reg = <0 0xe61c0000 0 0x200>;
+               interrupts = <0 0 IRQ_TYPE_LEVEL_HIGH>,
+                            <0 1 IRQ_TYPE_LEVEL_HIGH>,
+                            <0 2 IRQ_TYPE_LEVEL_HIGH>,
+                            <0 3 IRQ_TYPE_LEVEL_HIGH>,
+                            <0 12 IRQ_TYPE_LEVEL_HIGH>,
+                            <0 13 IRQ_TYPE_LEVEL_HIGH>,
+                            <0 14 IRQ_TYPE_LEVEL_HIGH>,
+                            <0 15 IRQ_TYPE_LEVEL_HIGH>,
+                            <0 16 IRQ_TYPE_LEVEL_HIGH>,
+                            <0 17 IRQ_TYPE_LEVEL_HIGH>;
+       };
+
+       scifa0: serial@e6c40000 {
+               compatible = "renesas,scifa-r8a7794", "renesas,scifa";
+               reg = <0 0xe6c40000 0 64>;
+               interrupts = <0 144 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp2_clks R8A7794_CLK_SCIFA0>;
+               clock-names = "sci_ick";
+               status = "disabled";
+       };
+
+       scifa1: serial@e6c50000 {
+               compatible = "renesas,scifa-r8a7794", "renesas,scifa";
+               reg = <0 0xe6c50000 0 64>;
+               interrupts = <0 145 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp2_clks R8A7794_CLK_SCIFA1>;
+               clock-names = "sci_ick";
+               status = "disabled";
+       };
+
+       scifa2: serial@e6c60000 {
+               compatible = "renesas,scifa-r8a7794", "renesas,scifa";
+               reg = <0 0xe6c60000 0 64>;
+               interrupts = <0 151 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp2_clks R8A7794_CLK_SCIFA2>;
+               clock-names = "sci_ick";
+               status = "disabled";
+       };
+
+       scifa3: serial@e6c70000 {
+               compatible = "renesas,scifa-r8a7794", "renesas,scifa";
+               reg = <0 0xe6c70000 0 64>;
+               interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp11_clks R8A7794_CLK_SCIFA3>;
+               clock-names = "sci_ick";
+               status = "disabled";
+       };
+
+       scifa4: serial@e6c78000 {
+               compatible = "renesas,scifa-r8a7794", "renesas,scifa";
+               reg = <0 0xe6c78000 0 64>;
+               interrupts = <0 30 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp11_clks R8A7794_CLK_SCIFA4>;
+               clock-names = "sci_ick";
+               status = "disabled";
+       };
+
+       scifa5: serial@e6c80000 {
+               compatible = "renesas,scifa-r8a7794", "renesas,scifa";
+               reg = <0 0xe6c80000 0 64>;
+               interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp11_clks R8A7794_CLK_SCIFA5>;
+               clock-names = "sci_ick";
+               status = "disabled";
+       };
+
+       scifb0: serial@e6c20000 {
+               compatible = "renesas,scifb-r8a7794", "renesas,scifb";
+               reg = <0 0xe6c20000 0 64>;
+               interrupts = <0 148 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp2_clks R8A7794_CLK_SCIFB0>;
+               clock-names = "sci_ick";
+               status = "disabled";
+       };
+
+       scifb1: serial@e6c30000 {
+               compatible = "renesas,scifb-r8a7794", "renesas,scifb";
+               reg = <0 0xe6c30000 0 64>;
+               interrupts = <0 149 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp2_clks R8A7794_CLK_SCIFB1>;
+               clock-names = "sci_ick";
+               status = "disabled";
+       };
+
+       scifb2: serial@e6ce0000 {
+               compatible = "renesas,scifb-r8a7794", "renesas,scifb";
+               reg = <0 0xe6ce0000 0 64>;
+               interrupts = <0 150 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp2_clks R8A7794_CLK_SCIFB2>;
+               clock-names = "sci_ick";
+               status = "disabled";
+       };
+
+       scif0: serial@e6e60000 {
+               compatible = "renesas,scif-r8a7794", "renesas,scif";
+               reg = <0 0xe6e60000 0 64>;
+               interrupts = <0 152 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp7_clks R8A7794_CLK_SCIF0>;
+               clock-names = "sci_ick";
+               status = "disabled";
+       };
+
+       scif1: serial@e6e68000 {
+               compatible = "renesas,scif-r8a7794", "renesas,scif";
+               reg = <0 0xe6e68000 0 64>;
+               interrupts = <0 153 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp7_clks R8A7794_CLK_SCIF1>;
+               clock-names = "sci_ick";
+               status = "disabled";
+       };
+
+       scif2: serial@e6e58000 {
+               compatible = "renesas,scif-r8a7794", "renesas,scif";
+               reg = <0 0xe6e58000 0 64>;
+               interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp7_clks R8A7794_CLK_SCIF2>;
+               clock-names = "sci_ick";
+               status = "disabled";
+       };
+
+       scif3: serial@e6ea8000 {
+               compatible = "renesas,scif-r8a7794", "renesas,scif";
+               reg = <0 0xe6ea8000 0 64>;
+               interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp7_clks R8A7794_CLK_SCIF3>;
+               clock-names = "sci_ick";
+               status = "disabled";
+       };
+
+       scif4: serial@e6ee0000 {
+               compatible = "renesas,scif-r8a7794", "renesas,scif";
+               reg = <0 0xe6ee0000 0 64>;
+               interrupts = <0 24 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp7_clks R8A7794_CLK_SCIF4>;
+               clock-names = "sci_ick";
+               status = "disabled";
+       };
+
+       scif5: serial@e6ee8000 {
+               compatible = "renesas,scif-r8a7794", "renesas,scif";
+               reg = <0 0xe6ee8000 0 64>;
+               interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp7_clks R8A7794_CLK_SCIF5>;
+               clock-names = "sci_ick";
+               status = "disabled";
+       };
+
+       hscif0: serial@e62c0000 {
+               compatible = "renesas,hscif-r8a7794", "renesas,hscif";
+               reg = <0 0xe62c0000 0 96>;
+               interrupts = <0 154 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp7_clks R8A7794_CLK_HSCIF0>;
+               clock-names = "sci_ick";
+               status = "disabled";
+       };
+
+       hscif1: serial@e62c8000 {
+               compatible = "renesas,hscif-r8a7794", "renesas,hscif";
+               reg = <0 0xe62c8000 0 96>;
+               interrupts = <0 155 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp7_clks R8A7794_CLK_HSCIF1>;
+               clock-names = "sci_ick";
+               status = "disabled";
+       };
+
+       hscif2: serial@e62d0000 {
+               compatible = "renesas,hscif-r8a7794", "renesas,hscif";
+               reg = <0 0xe62d0000 0 96>;
+               interrupts = <0 21 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp7_clks R8A7794_CLK_HSCIF2>;
+               clock-names = "sci_ick";
+               status = "disabled";
+       };
+
+       clocks {
+               #address-cells = <2>;
+               #size-cells = <2>;
+               ranges;
+
+               /* External root clock */
+               extal_clk: extal_clk {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       /* This value must be overriden by the board. */
+                       clock-frequency = <0>;
+                       clock-output-names = "extal";
+               };
+
+               /* Special CPG clocks */
+               cpg_clocks: cpg_clocks@e6150000 {
+                       compatible = "renesas,r8a7794-cpg-clocks",
+                                    "renesas,rcar-gen2-cpg-clocks";
+                       reg = <0 0xe6150000 0 0x1000>;
+                       clocks = <&extal_clk>;
+                       #clock-cells = <1>;
+                       clock-output-names = "main", "pll0", "pll1", "pll3",
+                                            "lb", "qspi", "sdh", "sd0", "z";
+               };
+
+               /* Fixed factor clocks */
+               pll1_div2_clk: pll1_div2_clk {
+                       compatible = "fixed-factor-clock";
+                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
+                       #clock-cells = <0>;
+                       clock-div = <2>;
+                       clock-mult = <1>;
+                       clock-output-names = "pll1_div2";
+               };
+               zg_clk: zg_clk {
+                       compatible = "fixed-factor-clock";
+                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
+                       #clock-cells = <0>;
+                       clock-div = <6>;
+                       clock-mult = <1>;
+                       clock-output-names = "zg";
+               };
+               zx_clk: zx_clk {
+                       compatible = "fixed-factor-clock";
+                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
+                       #clock-cells = <0>;
+                       clock-div = <3>;
+                       clock-mult = <1>;
+                       clock-output-names = "zx";
+               };
+               zs_clk: zs_clk {
+                       compatible = "fixed-factor-clock";
+                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
+                       #clock-cells = <0>;
+                       clock-div = <6>;
+                       clock-mult = <1>;
+                       clock-output-names = "zs";
+               };
+               hp_clk: hp_clk {
+                       compatible = "fixed-factor-clock";
+                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
+                       #clock-cells = <0>;
+                       clock-div = <12>;
+                       clock-mult = <1>;
+                       clock-output-names = "hp";
+               };
+               i_clk: i_clk {
+                       compatible = "fixed-factor-clock";
+                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
+                       #clock-cells = <0>;
+                       clock-div = <2>;
+                       clock-mult = <1>;
+                       clock-output-names = "i";
+               };
+               b_clk: b_clk {
+                       compatible = "fixed-factor-clock";
+                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
+                       #clock-cells = <0>;
+                       clock-div = <12>;
+                       clock-mult = <1>;
+                       clock-output-names = "b";
+               };
+               p_clk: p_clk {
+                       compatible = "fixed-factor-clock";
+                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
+                       #clock-cells = <0>;
+                       clock-div = <24>;
+                       clock-mult = <1>;
+                       clock-output-names = "p";
+               };
+               cl_clk: cl_clk {
+                       compatible = "fixed-factor-clock";
+                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
+                       #clock-cells = <0>;
+                       clock-div = <48>;
+                       clock-mult = <1>;
+                       clock-output-names = "cl";
+               };
+               m2_clk: m2_clk {
+                       compatible = "fixed-factor-clock";
+                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
+                       #clock-cells = <0>;
+                       clock-div = <8>;
+                       clock-mult = <1>;
+                       clock-output-names = "m2";
+               };
+               imp_clk: imp_clk {
+                       compatible = "fixed-factor-clock";
+                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
+                       #clock-cells = <0>;
+                       clock-div = <4>;
+                       clock-mult = <1>;
+                       clock-output-names = "imp";
+               };
+               rclk_clk: rclk_clk {
+                       compatible = "fixed-factor-clock";
+                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
+                       #clock-cells = <0>;
+                       clock-div = <(48 * 1024)>;
+                       clock-mult = <1>;
+                       clock-output-names = "rclk";
+               };
+               oscclk_clk: oscclk_clk {
+                       compatible = "fixed-factor-clock";
+                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
+                       #clock-cells = <0>;
+                       clock-div = <(12 * 1024)>;
+                       clock-mult = <1>;
+                       clock-output-names = "oscclk";
+               };
+               zb3_clk: zb3_clk {
+                       compatible = "fixed-factor-clock";
+                       clocks = <&cpg_clocks R8A7794_CLK_PLL3>;
+                       #clock-cells = <0>;
+                       clock-div = <4>;
+                       clock-mult = <1>;
+                       clock-output-names = "zb3";
+               };
+               zb3d2_clk: zb3d2_clk {
+                       compatible = "fixed-factor-clock";
+                       clocks = <&cpg_clocks R8A7794_CLK_PLL3>;
+                       #clock-cells = <0>;
+                       clock-div = <8>;
+                       clock-mult = <1>;
+                       clock-output-names = "zb3d2";
+               };
+               ddr_clk: ddr_clk {
+                       compatible = "fixed-factor-clock";
+                       clocks = <&cpg_clocks R8A7794_CLK_PLL3>;
+                       #clock-cells = <0>;
+                       clock-div = <8>;
+                       clock-mult = <1>;
+                       clock-output-names = "ddr";
+               };
+               mp_clk: mp_clk {
+                       compatible = "fixed-factor-clock";
+                       clocks = <&pll1_div2_clk>;
+                       #clock-cells = <0>;
+                       clock-div = <15>;
+                       clock-mult = <1>;
+                       clock-output-names = "mp";
+               };
+               cp_clk: cp_clk {
+                       compatible = "fixed-factor-clock";
+                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
+                       #clock-cells = <0>;
+                       clock-div = <48>;
+                       clock-mult = <1>;
+                       clock-output-names = "cp";
+               };
+
+               acp_clk: acp_clk {
+                       compatible = "fixed-factor-clock";
+                       clocks = <&extal_clk>;
+                       #clock-cells = <0>;
+                       clock-div = <2>;
+                       clock-mult = <1>;
+                       clock-output-names = "acp";
+               };
+
+               /* Gate clocks */
+               mstp0_clks: mstp0_clks@e6150130 {
+                       compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
+                       reg = <0 0xe6150130 0 4>, <0 0xe6150030 0 4>;
+                       clocks = <&mp_clk>;
+                       #clock-cells = <1>;
+                       renesas,clock-indices = <R8A7794_CLK_MSIOF0>;
+                       clock-output-names = "msiof0";
+               };
+               mstp1_clks: mstp1_clks@e6150134 {
+                       compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
+                       reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>;
+                       clocks = <&p_clk>, <&p_clk>, <&p_clk>, <&rclk_clk>,
+                                <&cp_clk>,
+                                <&zs_clk>, <&zs_clk>, <&zs_clk>;
+                       #clock-cells = <1>;
+                       renesas,clock-indices = <
+                               R8A7794_CLK_TMU1 R8A7794_CLK_TMU3 R8A7794_CLK_TMU2
+                               R8A7794_CLK_CMT0 R8A7794_CLK_TMU0
+                       >;
+                       clock-output-names =
+                               "tmu1", "tmu3", "tmu2", "cmt0", "tmu0";
+               };
+               mstp2_clks: mstp2_clks@e6150138 {
+                       compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
+                       reg = <0 0xe6150138 0 4>, <0 0xe6150040 0 4>;
+                       clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>,
+                                <&mp_clk>, <&mp_clk>, <&mp_clk>;
+                       #clock-cells = <1>;
+                       renesas,clock-indices = <
+                               R8A7794_CLK_SCIFA2 R8A7794_CLK_SCIFA1 R8A7794_CLK_SCIFA0
+                               R8A7794_CLK_MSIOF2 R8A7794_CLK_SCIFB0 R8A7794_CLK_SCIFB1
+                               R8A7794_CLK_MSIOF1 R8A7794_CLK_SCIFB2
+                       >;
+                       clock-output-names =
+                               "scifa2", "scifa1", "scifa0", "msiof2", "scifb0",
+                               "scifb1", "msiof1", "scifb2";
+               };
+               mstp3_clks: mstp3_clks@e615013c {
+                       compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
+                       reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
+                       clocks = <&rclk_clk>;
+                       #clock-cells = <1>;
+                       renesas,clock-indices = <
+                               R8A7794_CLK_CMT1
+                       >;
+                       clock-output-names =
+                               "cmt1";
+               };
+               mstp7_clks: mstp7_clks@e615014c {
+                       compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
+                       reg = <0 0xe615014c 0 4>, <0 0xe61501c4 0 4>;
+                       clocks = <&zs_clk>, <&p_clk>, <&p_clk>, <&zs_clk>,
+                                <&zs_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>;
+                       #clock-cells = <1>;
+                       renesas,clock-indices = <
+                               R8A7794_CLK_HSCIF2 R8A7794_CLK_SCIF5
+                               R8A7794_CLK_SCIF4 R8A7794_CLK_HSCIF1 R8A7794_CLK_HSCIF0
+                               R8A7794_CLK_SCIF3 R8A7794_CLK_SCIF2 R8A7794_CLK_SCIF1
+                               R8A7794_CLK_SCIF0
+                       >;
+                       clock-output-names =
+                               "hscif2", "scif5", "scif4", "hscif1", "hscif0",
+                               "scif3", "scif2", "scif1", "scif0";
+               };
+               mstp8_clks: mstp8_clks@e6150990 {
+                       compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
+                       reg = <0 0xe6150990 0 4>, <0 0xe61509a0 0 4>;
+                       clocks = <&p_clk>;
+                       #clock-cells = <1>;
+                       renesas,clock-indices = <
+                               R8A7794_CLK_ETHER
+                       >;
+                       clock-output-names =
+                               "ether";
+               };
+               mstp11_clks: mstp11_clks@e615099c {
+                       compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
+                       reg = <0 0xe615099c 0 4>, <0 0xe61509ac 0 4>;
+                       clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>;
+                       #clock-cells = <1>;
+                       renesas,clock-indices = <
+                               R8A7794_CLK_SCIFA3 R8A7794_CLK_SCIFA4 R8A7794_CLK_SCIFA5
+                       >;
+                       clock-output-names = "scifa3", "scifa4", "scifa5";
+               };
+       };
+};
index c9d912da61415b104d62f045b88de810924ac009..d5344510c6763f3dbd2b74c0c71593db213fdbdd 100644 (file)
        pinctrl-names = "default";
        pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
        vmmc-supply = <&vcc_sd0>;
-
-       slot@0 {
-               reg = <0>;
-               bus-width = <4>;
-               disable-wp;
-       };
+       bus-width = <4>;
+       disable-wp;
 };
 
 &mmc1 { /* wifi */
        pinctrl-names = "default";
        pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4>;
 
-       slot@0 {
-               reg = <0>;
-               bus-width = <4>;
-               disable-wp;
-       };
+       bus-width = <4>;
+       disable-wp;
 };
 
 &uart0 {
index 879a818fba51797062b4f5e7cbca58dc14b4a863..ad9c2db59670659a9142edfbe486459f0eb84f35 100644 (file)
                        bias-disable;
                };
 
+               emmc {
+                       emmc_clk: emmc-clk {
+                               rockchip,pins = <RK_GPIO3 31 RK_FUNC_2 &pcfg_pull_default>;
+                       };
+
+                       emmc_cmd: emmc-cmd {
+                               rockchip,pins = <RK_GPIO4 9 RK_FUNC_2 &pcfg_pull_default>;
+                       };
+
+                       emmc_rst: emmc-rst {
+                               rockchip,pins = <RK_GPIO4 10 RK_FUNC_2 &pcfg_pull_default>;
+                       };
+
+                       /*
+                        * The data pins are shared between nandc and emmc and
+                        * not accessible through pinctrl. Also they should've
+                        * been already set correctly by firmware, as
+                        * flash/emmc is the boot-device.
+                        */
+               };
+
                i2c0 {
                        i2c0_xfer: i2c0-xfer {
                                rockchip,pins = <RK_GPIO2 28 RK_FUNC_1 &pcfg_pull_none>,
                        };
                };
 
+               spi0 {
+                       spi0_clk: spi0-clk {
+                               rockchip,pins = <RK_GPIO1 5 RK_FUNC_2 &pcfg_pull_default>;
+                       };
+                       spi0_cs0: spi0-cs0 {
+                               rockchip,pins = <RK_GPIO1 4 RK_FUNC_2 &pcfg_pull_default>;
+                       };
+                       spi0_tx: spi0-tx {
+                               rockchip,pins = <RK_GPIO1 7 RK_FUNC_2 &pcfg_pull_default>;
+                       };
+                       spi0_rx: spi0-rx {
+                               rockchip,pins = <RK_GPIO1 6 RK_FUNC_2 &pcfg_pull_default>;
+                       };
+                       spi0_cs1: spi0-cs1 {
+                               rockchip,pins = <RK_GPIO4 15 RK_FUNC_1 &pcfg_pull_default>;
+                       };
+               };
+
+               spi1 {
+                       spi1_clk: spi1-clk {
+                               rockchip,pins = <RK_GPIO2 19 RK_FUNC_2 &pcfg_pull_default>;
+                       };
+                       spi1_cs0: spi1-cs0 {
+                               rockchip,pins = <RK_GPIO2 20 RK_FUNC_2 &pcfg_pull_default>;
+                       };
+                       spi1_rx: spi1-rx {
+                               rockchip,pins = <RK_GPIO2 22 RK_FUNC_2 &pcfg_pull_default>;
+                       };
+                       spi1_tx: spi1-tx {
+                               rockchip,pins = <RK_GPIO2 21 RK_FUNC_2 &pcfg_pull_default>;
+                       };
+                       spi1_cs1: spi1-cs1 {
+                               rockchip,pins = <RK_GPIO2 23 RK_FUNC_2 &pcfg_pull_default>;
+                       };
+               };
+
                uart0 {
                        uart0_xfer: uart0-xfer {
                                rockchip,pins = <RK_GPIO1 0 RK_FUNC_1 &pcfg_pull_default>,
        pinctrl-0 = <&pwm3_out>;
 };
 
+&spi0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>;
+};
+
+&spi1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>;
+};
+
 &uart0 {
        pinctrl-names = "default";
        pinctrl-0 = <&uart0_xfer>;
index 5e4e3c238b2d1d79faca9c3ac803e4bf97c322fb..39f66e349445b400dab2fe6e02d4c1decacd8c1e 100644 (file)
                pinctrl-0 = <&ir_recv_pin>;
        };
 
+       vcc_otg: usb-otg-regulator {
+               compatible = "regulator-fixed";
+               enable-active-high;
+               gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&otg_vbus_drv>;
+               regulator-name = "otg-vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-always-on;
+               regulator-boot-on;
+       };
+
        vcc_sd0: sdmmc-regulator {
                compatible = "regulator-fixed";
                regulator-name = "sdmmc-supply";
                startup-delay-us = <100000>;
                vin-supply = <&vcc_io>;
        };
+
+       vcc_host: usb-host-regulator {
+               compatible = "regulator-fixed";
+               enable-active-high;
+               gpio = <&gpio0 3 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&host_vbus_drv>;
+               regulator-name = "host-pwr";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-always-on;
+               regulator-boot-on;
+       };
 };
 
 &i2c1 {
        status = "okay";
        clock-frequency = <400000>;
 
+       rtc@51 {
+               compatible = "haoyu,hym8563";
+               reg = <0x51>;
+               interrupt-parent = <&gpio0>;
+               interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&rtc_int>;
+               #clock-cells = <0>;
+               clock-output-names = "xin32k";
+       };
+
        act8846: act8846@5a {
                compatible = "active-semi,act8846";
                reg = <0x5a>;
                                regulator-name = "VCC_RMII";
                                regulator-min-microvolt = <3300000>;
                                regulator-max-microvolt = <3300000>;
-                               regulator-always-on;
                        };
 
                        vccio_wl: REG10 {
        pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
        vmmc-supply = <&vcc_sd0>;
 
-       slot@0 {
-               reg = <0>;
-               bus-width = <4>;
-               disable-wp;
-       };
+       bus-width = <4>;
+       disable-wp;
 };
 
 &pinctrl {
                };
        };
 
+       hym8563 {
+               rtc_int: rtc-int {
+                       rockchip,pins = <RK_GPIO0 0 RK_FUNC_GPIO &pcfg_pull_up>;
+               };
+       };
+
        ir-receiver {
                ir_recv_pin: ir-recv-pin {
                        rockchip,pins = <RK_GPIO0 10 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
+
+       usb {
+               host_vbus_drv: host-vbus-drv {
+                       rockchip,pins = <0 3 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+               otg_vbus_drv: otg-vbus-drv {
+                       rockchip,pins = <2 31 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
 };
 
 &uart0 {
        status = "okay";
 };
 
+&usb_host {
+       status = "okay";
+};
+
+&usb_otg {
+       status = "okay";
+};
+
 &wdt {
        status = "okay";
 };
index ee801a9c6b74144e4a8153908a5e1ad07365bfef..82732f5249b27161931809836719368863ea4047 100644 (file)
                        bias-disable;
                };
 
+               emmc {
+                       emmc_clk: emmc-clk {
+                               rockchip,pins = <RK_GPIO0 24 RK_FUNC_2 &pcfg_pull_none>;
+                       };
+
+                       emmc_cmd: emmc-cmd {
+                               rockchip,pins = <RK_GPIO0 26 RK_FUNC_2 &pcfg_pull_up>;
+                       };
+
+                       emmc_rst: emmc-rst {
+                               rockchip,pins = <RK_GPIO0 27 RK_FUNC_2 &pcfg_pull_none>;
+                       };
+
+                       /*
+                        * The data pins are shared between nandc and emmc and
+                        * not accessible through pinctrl. Also they should've
+                        * been already set correctly by firmware, as
+                        * flash/emmc is the boot-device.
+                        */
+               };
+
                i2c0 {
                        i2c0_xfer: i2c0-xfer {
                                rockchip,pins = <RK_GPIO1 24 RK_FUNC_1 &pcfg_pull_none>,
                        };
                };
 
+               spi0 {
+                       spi0_clk: spi0-clk {
+                               rockchip,pins = <RK_GPIO1 6 RK_FUNC_2 &pcfg_pull_up>;
+                       };
+                       spi0_cs0: spi0-cs0 {
+                               rockchip,pins = <RK_GPIO1 7 RK_FUNC_2 &pcfg_pull_up>;
+                       };
+                       spi0_tx: spi0-tx {
+                               rockchip,pins = <RK_GPIO1 5 RK_FUNC_2 &pcfg_pull_up>;
+                       };
+                       spi0_rx: spi0-rx {
+                               rockchip,pins = <RK_GPIO1 4 RK_FUNC_2 &pcfg_pull_up>;
+                       };
+                       spi0_cs1: spi0-cs1 {
+                               rockchip,pins = <RK_GPIO1 15 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+               };
+
+               spi1 {
+                       spi1_clk: spi1-clk {
+                               rockchip,pins = <RK_GPIO0 30 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       spi1_cs0: spi1-cs0 {
+                               rockchip,pins = <RK_GPIO0 31 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       spi1_rx: spi1-rx {
+                               rockchip,pins = <RK_GPIO0 28 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       spi1_tx: spi1-tx {
+                               rockchip,pins = <RK_GPIO0 29 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       spi1_cs1: spi1-cs1 {
+                               rockchip,pins = <RK_GPIO1 14 RK_FUNC_2 &pcfg_pull_up>;
+                       };
+               };
+
                uart0 {
                        uart0_xfer: uart0-xfer {
                                rockchip,pins = <RK_GPIO1 0 RK_FUNC_1 &pcfg_pull_up>,
        pinctrl-0 = <&pwm3_out>;
 };
 
+&spi0 {
+       compatible = "rockchip,rk3188-spi", "rockchip,rk3066-spi";
+       pinctrl-names = "default";
+       pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>;
+};
+
+&spi1 {
+       compatible = "rockchip,rk3188-spi", "rockchip,rk3066-spi";
+       pinctrl-names = "default";
+       pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>;
+};
+
 &uart0 {
        pinctrl-names = "default";
        pinctrl-0 = <&uart0_xfer>;
index 7d59ff4de4087142c0cac4f7020ccdf9f91ecdda..a76dd44adb533c608bbb892a7e1ba3bcde9de790 100644 (file)
@@ -26,7 +26,7 @@
                interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
 
                pinctrl-names = "default";
-               pinctrl-0 = <&hym8563_int>;
+               pinctrl-0 = <&pmic_int>;
 
                #clock-cells = <0>;
                clock-output-names = "xin32k";
                };
        };
 };
-
-&pinctrl {
-       hym8563 {
-               hym8563_int: hym8563-int {
-                       rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>;
-               };
-       };
-};
index 9a88b6c66396b21b326441477da64a8aeb1cfb70..ff522f8e3df4ea393a00a83b509f4452b1ef1bff 100644 (file)
 / {
        compatible = "rockchip,rk3288-evb-rk808", "rockchip,rk3288";
 };
+
+&i2c0 {
+       clock-frequency = <400000>;
+       status = "okay";
+
+       rk808: pmic@1b {
+               compatible = "rockchip,rk808";
+               reg = <0x1b>;
+               interrupt-parent = <&gpio0>;
+               interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pmic_int>;
+               rockchip,system-power-controller;
+               wakeup-source;
+               #clock-cells = <1>;
+               clock-output-names = "xin32k", "rk808-clkout2";
+
+               vcc8-supply = <&vcc_18>;
+               vcc9-supply = <&vcc_io>;
+               vcc10-supply = <&vcc_io>;
+               vcc12-supply = <&vcc_io>;
+               vddio-supply = <&vccio_pmu>;
+
+               regulators {
+                       vdd_cpu: DCDC_REG1 {
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-min-microvolt = <750000>;
+                               regulator-max-microvolt = <1300000>;
+                               regulator-name = "vdd_arm";
+                       };
+
+                       vdd_gpu: DCDC_REG2 {
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-min-microvolt = <850000>;
+                               regulator-max-microvolt = <1250000>;
+                               regulator-name = "vdd_gpu";
+                       };
+
+                       vcc_ddr: DCDC_REG3 {
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-name = "vcc_ddr";
+                       };
+
+                       vcc_io: DCDC_REG4 {
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-name = "vcc_io";
+                       };
+
+                       vccio_pmu: LDO_REG1 {
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-name = "vccio_pmu";
+                       };
+
+                       vcc_tp: LDO_REG2 {
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-name = "vcc_tp";
+                       };
+
+                       vdd_10: LDO_REG3 {
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-name = "vdd_10";
+                       };
+
+                       vcc18_lcd: LDO_REG4 {
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-name = "vcc18_lcd";
+                       };
+
+                       vccio_sd: LDO_REG5 {
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-name = "vccio_sd";
+                       };
+
+                       vdd10_lcd: LDO_REG6 {
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-name = "vdd10_lcd";
+                       };
+
+                       vcc_18: LDO_REG7 {
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-name = "vcc_18";
+                       };
+
+                       vcca_codec: LDO_REG8 {
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-name = "vcca_codec";
+                       };
+
+                       vcc_wl: SWITCH_REG1 {
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-name = "vcc_wl";
+                       };
+
+                       vcc_lcd: SWITCH_REG2 {
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-name = "vcc_lcd";
+                       };
+               };
+       };
+};
index 4f572093c8b40c9707be62a6a44e5eac675326f9..cb83cea52fa141db24a4882469ef7dad904d892a 100644 (file)
@@ -10,6 +10,7 @@
  * GNU General Public License for more details.
  */
 
+#include <dt-bindings/pwm/pwm.h>
 #include "rk3288.dtsi"
 
 / {
                reg = <0x0 0x80000000>;
        };
 
+       backlight {
+               compatible = "pwm-backlight";
+               brightness-levels = <
+                         0   1   2   3   4   5   6   7
+                         8   9  10  11  12  13  14  15
+                        16  17  18  19  20  21  22  23
+                        24  25  26  27  28  29  30  31
+                        32  33  34  35  36  37  38  39
+                        40  41  42  43  44  45  46  47
+                        48  49  50  51  52  53  54  55
+                        56  57  58  59  60  61  62  63
+                        64  65  66  67  68  69  70  71
+                        72  73  74  75  76  77  78  79
+                        80  81  82  83  84  85  86  87
+                        88  89  90  91  92  93  94  95
+                        96  97  98  99 100 101 102 103
+                       104 105 106 107 108 109 110 111
+                       112 113 114 115 116 117 118 119
+                       120 121 122 123 124 125 126 127
+                       128 129 130 131 132 133 134 135
+                       136 137 138 139 140 141 142 143
+                       144 145 146 147 148 149 150 151
+                       152 153 154 155 156 157 158 159
+                       160 161 162 163 164 165 166 167
+                       168 169 170 171 172 173 174 175
+                       176 177 178 179 180 181 182 183
+                       184 185 186 187 188 189 190 191
+                       192 193 194 195 196 197 198 199
+                       200 201 202 203 204 205 206 207
+                       208 209 210 211 212 213 214 215
+                       216 217 218 219 220 221 222 223
+                       224 225 226 227 228 229 230 231
+                       232 233 234 235 236 237 238 239
+                       240 241 242 243 244 245 246 247
+                       248 249 250 251 252 253 254 255>;
+               default-brightness-level = <128>;
+               enable-gpios = <&gpio7 2 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&bl_en>;
+               pwms = <&pwm0 0 1000000 PWM_POLARITY_INVERTED>;
+       };
+
        gpio-keys {
                compatible = "gpio-keys";
                #address-cells = <1>;
        };
 };
 
+&emmc {
+       broken-cd;
+       bus-width = <8>;
+       cap-mmc-highspeed;
+       disable-wp;
+       non-removable;
+       num-slots = <1>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>;
+       status = "okay";
+};
+
+&sdmmc {
+       bus-width = <4>;
+       cap-mmc-highspeed;
+       cap-sd-highspeed;
+       card-detect-delay = <200>;
+       disable-wp;                     /* wp not hooked up */
+       num-slots = <1>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
+       status = "okay";
+};
+
 &i2c0 {
        status = "okay";
 };
        status = "okay";
 };
 
+&pwm0 {
+       status = "okay";
+};
+
 &uart0 {
        status = "okay";
 };
 };
 
 &pinctrl {
+       backlight {
+               bl_en: bl-en {
+                       rockchip,pins = <7 2 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
        buttons {
                pwrbtn: pwrbtn {
                        rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
                };
        };
 
+       pmic {
+               pmic_int: pmic-int {
+                       rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>;
+               };
+       };
+
        usb {
                host_vbus_drv: host-vbus-drv {
                        rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>;
 &usb_host0_ehci {
        status = "okay";
 };
+
+&usb_host1 {
+       status = "okay";
+};
index 5950b0a532242b35518bfee3f9ea97b2c962f152..874e66dbb93be117c5ff7afda004d8151b3603fd 100644 (file)
                i2c3 = &i2c3;
                i2c4 = &i2c4;
                i2c5 = &i2c5;
+               mshc0 = &emmc;
+               mshc1 = &sdmmc;
+               mshc2 = &sdio0;
+               mshc3 = &sdio1;
                serial0 = &uart0;
                serial1 = &uart1;
                serial2 = &uart2;
                serial3 = &uart3;
                serial4 = &uart4;
+               spi0 = &spi0;
+               spi1 = &spi1;
+               spi2 = &spi2;
        };
 
        cpus {
                };
        };
 
+       amba {
+               compatible = "arm,amba-bus";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               dmac_peri: dma-controller@ff250000 {
+                       compatible = "arm,pl330", "arm,primecell";
+                       reg = <0xff250000 0x4000>;
+                       interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
+                       #dma-cells = <1>;
+                       clocks = <&cru ACLK_DMAC2>;
+                       clock-names = "apb_pclk";
+               };
+
+               dmac_bus_ns: dma-controller@ff600000 {
+                       compatible = "arm,pl330", "arm,primecell";
+                       reg = <0xff600000 0x4000>;
+                       interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
+                       #dma-cells = <1>;
+                       clocks = <&cru ACLK_DMAC1>;
+                       clock-names = "apb_pclk";
+                       status = "disabled";
+               };
+
+               dmac_bus_s: dma-controller@ffb20000 {
+                       compatible = "arm,pl330", "arm,primecell";
+                       reg = <0xffb20000 0x4000>;
+                       interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
+                       #dma-cells = <1>;
+                       clocks = <&cru ACLK_DMAC1>;
+                       clock-names = "apb_pclk";
+               };
+       };
+
        xin24m: oscillator {
                compatible = "fixed-clock";
                clock-frequency = <24000000>;
                clock-frequency = <24000000>;
        };
 
+       sdmmc: dwmmc@ff0c0000 {
+               compatible = "rockchip,rk3288-dw-mshc";
+               clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>;
+               clock-names = "biu", "ciu";
+               fifo-depth = <0x100>;
+               interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+               reg = <0xff0c0000 0x4000>;
+               status = "disabled";
+       };
+
+       sdio0: dwmmc@ff0d0000 {
+               compatible = "rockchip,rk3288-dw-mshc";
+               clocks = <&cru HCLK_SDIO0>, <&cru SCLK_SDIO0>;
+               clock-names = "biu", "ciu";
+               fifo-depth = <0x100>;
+               interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
+               reg = <0xff0d0000 0x4000>;
+               status = "disabled";
+       };
+
+       sdio1: dwmmc@ff0e0000 {
+               compatible = "rockchip,rk3288-dw-mshc";
+               clocks = <&cru HCLK_SDIO1>, <&cru SCLK_SDIO1>;
+               clock-names = "biu", "ciu";
+               fifo-depth = <0x100>;
+               interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
+               reg = <0xff0e0000 0x4000>;
+               status = "disabled";
+       };
+
+       emmc: dwmmc@ff0f0000 {
+               compatible = "rockchip,rk3288-dw-mshc";
+               clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>;
+               clock-names = "biu", "ciu";
+               fifo-depth = <0x100>;
+               interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
+               reg = <0xff0f0000 0x4000>;
+               status = "disabled";
+       };
+
+       saradc: saradc@ff100000 {
+               compatible = "rockchip,saradc";
+               reg = <0xff100000 0x100>;
+               interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
+               #io-channel-cells = <1>;
+               clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
+               clock-names = "saradc", "apb_pclk";
+               status = "disabled";
+       };
+
+       spi0: spi@ff110000 {
+               compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi";
+               clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
+               clock-names = "spiclk", "apb_pclk";
+               interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>;
+               reg = <0xff110000 0x1000>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               status = "disabled";
+       };
+
+       spi1: spi@ff120000 {
+               compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi";
+               clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
+               clock-names = "spiclk", "apb_pclk";
+               interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>;
+               reg = <0xff120000 0x1000>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               status = "disabled";
+       };
+
+       spi2: spi@ff130000 {
+               compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi";
+               clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>;
+               clock-names = "spiclk", "apb_pclk";
+               interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>;
+               reg = <0xff130000 0x1000>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               status = "disabled";
+       };
+
        i2c1: i2c@ff140000 {
                compatible = "rockchip,rk3288-i2c";
                reg = <0xff140000 0x1000>;
 
        /* NOTE: ohci@ff520000 doesn't actually work on hardware */
 
+       usb_host1: usb@ff540000 {
+               compatible = "rockchip,rk3288-usb", "rockchip,rk3066-usb",
+                               "snps,dwc2";
+               reg = <0xff540000 0x40000>;
+               interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&cru HCLK_USBHOST1>;
+               clock-names = "otg";
+               status = "disabled";
+       };
+
+       usb_otg: usb@ff580000 {
+               compatible = "rockchip,rk3288-usb", "rockchip,rk3066-usb",
+                               "snps,dwc2";
+               reg = <0xff580000 0x40000>;
+               interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&cru HCLK_OTG0>;
+               clock-names = "otg";
+               status = "disabled";
+       };
+
        usb_hsic: usb@ff5c0000 {
                compatible = "generic-ehci";
                reg = <0xff5c0000 0x100>;
                status = "disabled";
        };
 
+       pwm0: pwm@ff680000 {
+               compatible = "rockchip,rk3288-pwm";
+               reg = <0xff680000 0x10>;
+               #pwm-cells = <3>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pwm0_pin>;
+               clocks = <&cru PCLK_PWM>;
+               clock-names = "pwm";
+               status = "disabled";
+       };
+
+       pwm1: pwm@ff680010 {
+               compatible = "rockchip,rk3288-pwm";
+               reg = <0xff680010 0x10>;
+               #pwm-cells = <3>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pwm1_pin>;
+               clocks = <&cru PCLK_PWM>;
+               clock-names = "pwm";
+               status = "disabled";
+       };
+
+       pwm2: pwm@ff680020 {
+               compatible = "rockchip,rk3288-pwm";
+               reg = <0xff680020 0x10>;
+               #pwm-cells = <3>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pwm2_pin>;
+               clocks = <&cru PCLK_PWM>;
+               clock-names = "pwm";
+               status = "disabled";
+       };
+
+       pwm3: pwm@ff680030 {
+               compatible = "rockchip,rk3288-pwm";
+               reg = <0xff680030 0x10>;
+               #pwm-cells = <2>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pwm3_pin>;
+               clocks = <&cru PCLK_PWM>;
+               clock-names = "pwm";
+               status = "disabled";
+       };
+
        pmu: power-management@ff730000 {
                compatible = "rockchip,rk3288-pmu", "syscon";
                reg = <0xff730000 0x100>;
                status = "disabled";
        };
 
+       i2s: i2s@ff890000 {
+               compatible = "rockchip,rk3288-i2s", "rockchip,rk3066-i2s";
+               reg = <0xff890000 0x10000>;
+               interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               dmas = <&dmac_bus_s 0>, <&dmac_bus_s 1>;
+               dma-names = "tx", "rx";
+               clock-names = "i2s_hclk", "i2s_clk";
+               clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&i2s0_bus>;
+               status = "disabled";
+       };
+
        gic: interrupt-controller@ffc01000 {
                compatible = "arm,gic-400";
                interrupt-controller;
                        };
                };
 
+               i2s0 {
+                       i2s0_bus: i2s0-bus {
+                               rockchip,pins = <6 0 RK_FUNC_1 &pcfg_pull_none>,
+                                               <6 1 RK_FUNC_1 &pcfg_pull_none>,
+                                               <6 2 RK_FUNC_1 &pcfg_pull_none>,
+                                               <6 3 RK_FUNC_1 &pcfg_pull_none>,
+                                               <6 4 RK_FUNC_1 &pcfg_pull_none>,
+                                               <6 8 RK_FUNC_1 &pcfg_pull_none>;
+                       };
+               };
+
                sdmmc {
                        sdmmc_clk: sdmmc-clk {
                                rockchip,pins = <6 20 RK_FUNC_1 &pcfg_pull_none>;
                        };
                };
 
+               sdio0 {
+                       sdio0_bus1: sdio0-bus1 {
+                               rockchip,pins = <4 20 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+
+                       sdio0_bus4: sdio0-bus4 {
+                               rockchip,pins = <4 20 RK_FUNC_1 &pcfg_pull_up>,
+                                               <4 21 RK_FUNC_1 &pcfg_pull_up>,
+                                               <4 22 RK_FUNC_1 &pcfg_pull_up>,
+                                               <4 23 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+
+                       sdio0_cmd: sdio0-cmd {
+                               rockchip,pins = <4 24 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+
+                       sdio0_clk: sdio0-clk {
+                               rockchip,pins = <4 25 RK_FUNC_1 &pcfg_pull_none>;
+                       };
+
+                       sdio0_cd: sdio0-cd {
+                               rockchip,pins = <4 26 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+
+                       sdio0_wp: sdio0-wp {
+                               rockchip,pins = <4 27 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+
+                       sdio0_pwr: sdio0-pwr {
+                               rockchip,pins = <4 28 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+
+                       sdio0_bkpwr: sdio0-bkpwr {
+                               rockchip,pins = <4 29 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+
+                       sdio0_int: sdio0-int {
+                               rockchip,pins = <4 30 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+               };
+
+               sdio1 {
+                       sdio1_bus1: sdio1-bus1 {
+                               rockchip,pins = <3 24 4 &pcfg_pull_up>;
+                       };
+
+                       sdio1_bus4: sdio1-bus4 {
+                               rockchip,pins = <3 24 4 &pcfg_pull_up>,
+                                               <3 25 4 &pcfg_pull_up>,
+                                               <3 26 4 &pcfg_pull_up>,
+                                               <3 27 4 &pcfg_pull_up>;
+                       };
+
+                       sdio1_cd: sdio1-cd {
+                               rockchip,pins = <3 28 4 &pcfg_pull_up>;
+                       };
+
+                       sdio1_wp: sdio1-wp {
+                               rockchip,pins = <3 29 4 &pcfg_pull_up>;
+                       };
+
+                       sdio1_bkpwr: sdio1-bkpwr {
+                               rockchip,pins = <3 30 4 &pcfg_pull_up>;
+                       };
+
+                       sdio1_int: sdio1-int {
+                               rockchip,pins = <3 31 4 &pcfg_pull_up>;
+                       };
+
+                       sdio1_cmd: sdio1-cmd {
+                               rockchip,pins = <4 6 4 &pcfg_pull_up>;
+                       };
+
+                       sdio1_clk: sdio1-clk {
+                               rockchip,pins = <4 7 4 &pcfg_pull_none>;
+                       };
+
+                       sdio1_pwr: sdio1-pwr {
+                               rockchip,pins = <4 9 4 &pcfg_pull_up>;
+                       };
+               };
+
                emmc {
                        emmc_clk: emmc-clk {
                                rockchip,pins = <3 18 RK_FUNC_2 &pcfg_pull_none>;
                        };
                };
 
+               spi0 {
+                       spi0_clk: spi0-clk {
+                               rockchip,pins = <5 12 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       spi0_cs0: spi0-cs0 {
+                               rockchip,pins = <5 13 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       spi0_tx: spi0-tx {
+                               rockchip,pins = <5 14 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       spi0_rx: spi0-rx {
+                               rockchip,pins = <5 15 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       spi0_cs1: spi0-cs1 {
+                               rockchip,pins = <5 16 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+               };
+               spi1 {
+                       spi1_clk: spi1-clk {
+                               rockchip,pins = <7 12 RK_FUNC_2 &pcfg_pull_up>;
+                       };
+                       spi1_cs0: spi1-cs0 {
+                               rockchip,pins = <7 13 RK_FUNC_2 &pcfg_pull_up>;
+                       };
+                       spi1_rx: spi1-rx {
+                               rockchip,pins = <7 14 RK_FUNC_2 &pcfg_pull_up>;
+                       };
+                       spi1_tx: spi1-tx {
+                               rockchip,pins = <7 15 RK_FUNC_2 &pcfg_pull_up>;
+                       };
+               };
+
+               spi2 {
+                       spi2_cs1: spi2-cs1 {
+                               rockchip,pins = <8 3 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       spi2_clk: spi2-clk {
+                               rockchip,pins = <8 6 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       spi2_cs0: spi2-cs0 {
+                               rockchip,pins = <8 7 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       spi2_rx: spi2-rx {
+                               rockchip,pins = <8 8 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+                       spi2_tx: spi2-tx {
+                               rockchip,pins = <8 9 RK_FUNC_1 &pcfg_pull_up>;
+                       };
+               };
+
                uart0 {
                        uart0_xfer: uart0-xfer {
                                rockchip,pins = <4 16 RK_FUNC_1 &pcfg_pull_up>,
                                rockchip,pins = <5 15 3 &pcfg_pull_none>;
                        };
                };
+
+               pwm0 {
+                       pwm0_pin: pwm0-pin {
+                               rockchip,pins = <7 0 RK_FUNC_1 &pcfg_pull_none>;
+                       };
+               };
+
+               pwm1 {
+                       pwm1_pin: pwm1-pin {
+                               rockchip,pins = <7 1 RK_FUNC_1 &pcfg_pull_none>;
+                       };
+               };
+
+               pwm2 {
+                       pwm2_pin: pwm2-pin {
+                               rockchip,pins = <7 22 3 &pcfg_pull_none>;
+                       };
+               };
+
+               pwm3 {
+                       pwm3_pin: pwm3-pin {
+                               rockchip,pins = <7 23 3 &pcfg_pull_none>;
+                       };
+               };
        };
 };
index 8caf85d839019ab1ed47690cf9bb4597de71b2f2..7332d12eb565a43822b5cfcaa9e4023c3fca7770 100644 (file)
                i2c2 = &i2c2;
                i2c3 = &i2c3;
                i2c4 = &i2c4;
+               mshc0 = &emmc;
+               mshc1 = &mmc0;
+               mshc2 = &mmc1;
+               spi0 = &spi0;
+               spi1 = &spi1;
+       };
+
+       amba {
+               compatible = "arm,amba-bus";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               dmac1_s: dma-controller@20018000 {
+                       compatible = "arm,pl330", "arm,primecell";
+                       reg = <0x20018000 0x4000>;
+                       interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
+                       #dma-cells = <1>;
+                       clocks = <&cru ACLK_DMA1>;
+                       clock-names = "apb_pclk";
+               };
+
+               dmac1_ns: dma-controller@2001c000 {
+                       compatible = "arm,pl330", "arm,primecell";
+                       reg = <0x2001c000 0x4000>;
+                       interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
+                       #dma-cells = <1>;
+                       clocks = <&cru ACLK_DMA1>;
+                       clock-names = "apb_pclk";
+                       status = "disabled";
+               };
+
+               dmac2: dma-controller@20078000 {
+                       compatible = "arm,pl330", "arm,primecell";
+                       reg = <0x20078000 0x4000>;
+                       interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
+                       #dma-cells = <1>;
+                       clocks = <&cru ACLK_DMA2>;
+                       clock-names = "apb_pclk";
+               };
        };
 
        xin24m: oscillator {
                status = "disabled";
        };
 
+       usb_otg: usb@10180000 {
+               compatible = "rockchip,rk3066-usb", "snps,dwc2";
+               reg = <0x10180000 0x40000>;
+               interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&cru HCLK_OTG0>;
+               clock-names = "otg";
+               status = "disabled";
+       };
+
+       usb_host: usb@101c0000 {
+               compatible = "snps,dwc2";
+               reg = <0x101c0000 0x40000>;
+               interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&cru HCLK_OTG1>;
+               clock-names = "otg";
+               status = "disabled";
+       };
+
        mmc0: dwmmc@10214000 {
                compatible = "rockchip,rk2928-dw-mshc";
                reg = <0x10214000 0x1000>;
                interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
-               #address-cells = <1>;
-               #size-cells = <0>;
 
                clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>;
                clock-names = "biu", "ciu";
                compatible = "rockchip,rk2928-dw-mshc";
                reg = <0x10218000 0x1000>;
                interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
-               #address-cells = <1>;
-               #size-cells = <0>;
 
                clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>;
                clock-names = "biu", "ciu";
                status = "disabled";
        };
 
+       emmc: dwmmc@1021c000 {
+               compatible = "rockchip,rk2928-dw-mshc";
+               reg = <0x1021c000 0x1000>;
+               interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
+
+               clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>;
+               clock-names = "biu", "ciu";
+
+               status = "disabled";
+       };
+
        pmu: pmu@20004000 {
                compatible = "rockchip,rk3066-pmu", "syscon";
                reg = <0x20004000 0x100>;
                #size-cells = <0>;
 
                rockchip,grf = <&grf>;
-               rockchip,bus-index = <0>;
 
                clock-names = "i2c";
                clocks = <&cru PCLK_I2C0>;
                clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
                status = "disabled";
        };
+
+       saradc: saradc@2006c000 {
+               compatible = "rockchip,saradc";
+               reg = <0x2006c000 0x100>;
+               interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
+               #io-channel-cells = <1>;
+               clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
+               clock-names = "saradc", "apb_pclk";
+               status = "disabled";
+       };
+
+       spi0: spi@20070000 {
+               compatible = "rockchip,rk3066-spi";
+               clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
+               clock-names = "spiclk", "apb_pclk";
+               interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
+               reg = <0x20070000 0x1000>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               status = "disabled";
+       };
+
+       spi1: spi@20074000 {
+               compatible = "rockchip,rk3066-spi";
+               clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
+               clock-names = "spiclk", "apb_pclk";
+               interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
+               reg = <0x20074000 0x1000>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               status = "disabled";
+       };
 };
index 45013b867c8d2c414a93469c475c99446a3b0e71..5f4144d1e3a1e97adc8b6648b5dabab5a6c10a13 100644 (file)
                                compatible = "atmel,at91sam9260-usart";
                                reg = <0xf001c000 0x100>;
                                interrupts = <12 IRQ_TYPE_LEVEL_HIGH 5>;
+                               dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(3)>,
+                                      <&dma0 2 (AT91_DMA_CFG_PER_ID(4) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
+                               dma-names = "tx", "rx";
                                pinctrl-names = "default";
                                pinctrl-0 = <&pinctrl_usart0>;
                                clocks = <&usart0_clk>;
                                compatible = "atmel,at91sam9260-usart";
                                reg = <0xf0020000 0x100>;
                                interrupts = <13 IRQ_TYPE_LEVEL_HIGH 5>;
+                               dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(5)>,
+                                      <&dma0 2 (AT91_DMA_CFG_PER_ID(6) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
+                               dma-names = "tx", "rx";
                                pinctrl-names = "default";
                                pinctrl-0 = <&pinctrl_usart1>;
                                clocks = <&usart1_clk>;
                                compatible = "atmel,at91sam9260-usart";
                                reg = <0xf8020000 0x100>;
                                interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>;
+                               dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(7)>,
+                                      <&dma1 2 (AT91_DMA_CFG_PER_ID(8) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
+                               dma-names = "tx", "rx";
                                pinctrl-names = "default";
                                pinctrl-0 = <&pinctrl_usart2>;
                                clocks = <&usart2_clk>;
                                compatible = "atmel,at91sam9260-usart";
                                reg = <0xf8024000 0x100>;
                                interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>;
+                               dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(9)>,
+                                      <&dma1 2 (AT91_DMA_CFG_PER_ID(10) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
+                               dma-names = "tx", "rx";
                                pinctrl-names = "default";
                                pinctrl-0 = <&pinctrl_usart3>;
                                clocks = <&usart3_clk>;
                        };
 
                        ramc0: ramc@ffffea00 {
-                               compatible = "atmel,at91sam9g45-ddramc";
+                               compatible = "atmel,sama5d3-ddramc";
                                reg = <0xffffea00 0x200>;
+                               clocks = <&ddrck>, <&mpddr_clk>;
+                               clock-names = "ddrck", "mpddr";
                        };
 
                        dbgu: serial@ffffee00 {
                                compatible = "atmel,at91sam9260-usart";
                                reg = <0xffffee00 0x200>;
                                interrupts = <2 IRQ_TYPE_LEVEL_HIGH 7>;
+                               dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(13)>,
+                                      <&dma1 2 (AT91_DMA_CFG_PER_ID(14) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
+                               dma-names = "tx", "rx";
                                pinctrl-names = "default";
                                pinctrl-0 = <&pinctrl_dbgu>;
                                clocks = <&dbgu_clk>;
                        pinctrl@fffff200 {
                                #address-cells = <1>;
                                #size-cells = <1>;
-                               compatible = "atmel,at91sam9x5-pinctrl", "atmel,at91rm9200-pinctrl", "simple-bus";
+                               compatible = "atmel,sama5d3-pinctrl", "atmel,at91sam9x5-pinctrl", "simple-bus";
                                ranges = <0xfffff200 0xfffff200 0xa00>;
                                atmel,mux-mask = <
                                        /*   A          B          C  */
                                                reg = <2>;
                                        };
 
+                                       hsmc_clk: hsmc_clk {
+                                               #clock-cells = <0>;
+                                               reg = <5>;
+                                       };
+
                                        pioA_clk: pioA_clk {
                                                #clock-cells = <0>;
                                                reg = <6>;
                                                #clock-cells = <0>;
                                                reg = <48>;
                                        };
+
+                                       mpddr_clk: mpddr_clk {
+                                               #clock-cells = <0>;
+                                               reg = <49>;
+                                       };
                                };
                        };
 
                                reg = <0xfffffe00 0x10>;
                        };
 
+                       shutdown-controller@fffffe10 {
+                               compatible = "atmel,at91sam9x5-shdwc";
+                               reg = <0xfffffe10 0x10>;
+                       };
+
                        pit: timer@fffffe30 {
                                compatible = "atmel,at91sam9260-pit";
                                reg = <0xfffffe30 0xf>;
                                        0xffffc000 0x00000070   /* NFC HSMC regs */
                                        0x00200000 0x00100000   /* NFC SRAM banks */
                                        >;
+                               clocks = <&hsmc_clk>;
                        };
                };
        };
index a0775851cce56d01c696adb65a4cbf2f8dc9d514..eaf41451ad0cf5afec07ab94a03ae9e9a4bdee42 100644 (file)
@@ -40,7 +40,7 @@
                                                atmel,clk-output-range = <0 66000000>;
                                        };
 
-                                       can1_clk: can0_clk {
+                                       can1_clk: can1_clk {
                                                #clock-cells = <0>;
                                                reg = <41>;
                                                atmel,clk-output-range = <0 66000000>;
index f7d8583eef821938c876d4a4dbbeb26be6f7aa3a..962dc28dc37b9bbc4a3427c4e127d26fc689bf63 100644 (file)
 
                        macb0: ethernet@f0028000 {
                                phy-mode = "rgmii";
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               ethernet-phy@1 {
+                                       reg = <0x1>;
+                                       interrupt-parent = <&pioB>;
+                                       interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
+                                       txen-skew-ps = <800>;
+                                       txc-skew-ps = <3000>;
+                                       rxdv-skew-ps = <400>;
+                                       rxc-skew-ps = <3000>;
+                                       rxd0-skew-ps = <400>;
+                                       rxd1-skew-ps = <400>;
+                                       rxd2-skew-ps = <400>;
+                                       rxd3-skew-ps = <400>;
+                               };
+
+                               ethernet-phy@7 {
+                                       reg = <0x7>;
+                                       interrupt-parent = <&pioB>;
+                                       interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
+                                       txen-skew-ps = <800>;
+                                       txc-skew-ps = <3000>;
+                                       rxdv-skew-ps = <400>;
+                                       rxc-skew-ps = <3000>;
+                                       rxd0-skew-ps = <400>;
+                                       rxd1-skew-ps = <400>;
+                                       rxd2-skew-ps = <400>;
+                                       rxd3-skew-ps = <400>;
+                               };
                        };
 
                        pmc: pmc@fffffc00 {
index b8c6f20e780c995aa98a5c4061f8031d24f05798..49c10d33df302b7d967f0861c1424f636026a943 100644 (file)
@@ -25,6 +25,8 @@
                        };
 
                        spi0: spi@f0004000 {
+                               dmas = <0>, <0>;        /*  Do not use DMA for spi0 */
+
                                m25p80@0 {
                                        compatible = "atmel,at25df321a";
                                        spi-max-frequency = <50000000>;
@@ -51,6 +53,7 @@
                        };
 
                        usart1: serial@f0020000 {
+                               dmas = <0>, <0>;        /*  Do not use DMA for usart1 */
                                pinctrl-names = "default";
                                pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>;
                                status = "okay";
                        };
 
                        dbgu: serial@ffffee00 {
+                               dmas = <0>, <0>;        /*  Do not use DMA for dbgu */
                                status = "okay";
                        };
 
index 99659db97e8941aa1b1b57e63958adfb262fab56..30ef97e99dc53ea77cefcf55f370c8511ec468c8 100644 (file)
@@ -66,7 +66,7 @@
        };
 
        vmmc_sdhi0: regulator@2 {
-               compatible = "regulator-fixed";
+               compatible = "regulator-fixed";
                regulator-name = "SDHI0 Vcc";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
@@ -75,7 +75,7 @@
        };
 
        vmmc_sdhi2: regulator@3 {
-               compatible = "regulator-fixed";
+               compatible = "regulator-fixed";
                regulator-name = "SDHI2 Vcc";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
index d7f52cf313500c084de91eb0ba34a15aff23acbf..030a5920312fa19b631246cd82e7a65924c95a46 100644 (file)
@@ -14,6 +14,7 @@
 
 / {
        compatible = "renesas,sh73a0";
+       interrupt-parent = <&gic>;
 
        cpus {
                #address-cells = <1>;
@@ -66,7 +67,6 @@
                        <0xe6900020 1>,
                        <0xe6900040 1>,
                        <0xe6900060 1>;
-               interrupt-parent = <&gic>;
                interrupts = <0 1 IRQ_TYPE_LEVEL_HIGH
                              0 2 IRQ_TYPE_LEVEL_HIGH
                              0 3 IRQ_TYPE_LEVEL_HIGH
@@ -86,7 +86,6 @@
                        <0xe6900024 1>,
                        <0xe6900044 1>,
                        <0xe6900064 1>;
-               interrupt-parent = <&gic>;
                interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH
                              0 10 IRQ_TYPE_LEVEL_HIGH
                              0 11 IRQ_TYPE_LEVEL_HIGH
                        <0xe6900028 1>,
                        <0xe6900048 1>,
                        <0xe6900068 1>;
-               interrupt-parent = <&gic>;
                interrupts = <0 17 IRQ_TYPE_LEVEL_HIGH
                              0 18 IRQ_TYPE_LEVEL_HIGH
                              0 19 IRQ_TYPE_LEVEL_HIGH
                        <0xe690002c 1>,
                        <0xe690004c 1>,
                        <0xe690006c 1>;
-               interrupt-parent = <&gic>;
                interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH
                              0 26 IRQ_TYPE_LEVEL_HIGH
                              0 27 IRQ_TYPE_LEVEL_HIGH
                #size-cells = <0>;
                compatible = "renesas,rmobile-iic";
                reg = <0xe6820000 0x425>;
-               interrupt-parent = <&gic>;
                interrupts = <0 167 IRQ_TYPE_LEVEL_HIGH
                              0 168 IRQ_TYPE_LEVEL_HIGH
                              0 169 IRQ_TYPE_LEVEL_HIGH
                #size-cells = <0>;
                compatible = "renesas,rmobile-iic";
                reg = <0xe6822000 0x425>;
-               interrupt-parent = <&gic>;
                interrupts = <0 51 IRQ_TYPE_LEVEL_HIGH
                              0 52 IRQ_TYPE_LEVEL_HIGH
                              0 53 IRQ_TYPE_LEVEL_HIGH
                #size-cells = <0>;
                compatible = "renesas,rmobile-iic";
                reg = <0xe6824000 0x425>;
-               interrupt-parent = <&gic>;
                interrupts = <0 171 IRQ_TYPE_LEVEL_HIGH
                              0 172 IRQ_TYPE_LEVEL_HIGH
                              0 173 IRQ_TYPE_LEVEL_HIGH
                #size-cells = <0>;
                compatible = "renesas,rmobile-iic";
                reg = <0xe6826000 0x425>;
-               interrupt-parent = <&gic>;
                interrupts = <0 183 IRQ_TYPE_LEVEL_HIGH
                              0 184 IRQ_TYPE_LEVEL_HIGH
                              0 185 IRQ_TYPE_LEVEL_HIGH
                #size-cells = <0>;
                compatible = "renesas,rmobile-iic";
                reg = <0xe6828000 0x425>;
-               interrupt-parent = <&gic>;
                interrupts = <0 187 IRQ_TYPE_LEVEL_HIGH
                              0 188 IRQ_TYPE_LEVEL_HIGH
                              0 189 IRQ_TYPE_LEVEL_HIGH
        mmcif: mmc@e6bd0000 {
                compatible = "renesas,sh-mmcif";
                reg = <0xe6bd0000 0x100>;
-               interrupt-parent = <&gic>;
                interrupts = <0 140 IRQ_TYPE_LEVEL_HIGH
                              0 141 IRQ_TYPE_LEVEL_HIGH>;
                reg-io-width = <4>;
        sdhi0: sd@ee100000 {
                compatible = "renesas,sdhi-sh73a0";
                reg = <0xee100000 0x100>;
-               interrupt-parent = <&gic>;
                interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH
                              0 84 IRQ_TYPE_LEVEL_HIGH
                              0 85 IRQ_TYPE_LEVEL_HIGH>;
        sdhi1: sd@ee120000 {
                compatible = "renesas,sdhi-sh73a0";
                reg = <0xee120000 0x100>;
-               interrupt-parent = <&gic>;
                interrupts = <0 88 IRQ_TYPE_LEVEL_HIGH
                              0 89 IRQ_TYPE_LEVEL_HIGH>;
                toshiba,mmc-wrprotect-disable;
        sdhi2: sd@ee140000 {
                compatible = "renesas,sdhi-sh73a0";
                reg = <0xee140000 0x100>;
-               interrupt-parent = <&gic>;
                interrupts = <0 104 IRQ_TYPE_LEVEL_HIGH
                              0 105 IRQ_TYPE_LEVEL_HIGH>;
                toshiba,mmc-wrprotect-disable;
        scifa0: serial@e6c40000 {
                compatible = "renesas,scifa-sh73a0", "renesas,scifa";
                reg = <0xe6c40000 0x100>;
-               interrupt-parent = <&gic>;
                interrupts = <0 72 IRQ_TYPE_LEVEL_HIGH>;
                status = "disabled";
        };
        scifa1: serial@e6c50000 {
                compatible = "renesas,scifa-sh73a0", "renesas,scifa";
                reg = <0xe6c50000 0x100>;
-               interrupt-parent = <&gic>;
                interrupts = <0 73 IRQ_TYPE_LEVEL_HIGH>;
                status = "disabled";
        };
        scifa2: serial@e6c60000 {
                compatible = "renesas,scifa-sh73a0", "renesas,scifa";
                reg = <0xe6c60000 0x100>;
-               interrupt-parent = <&gic>;
                interrupts = <0 74 IRQ_TYPE_LEVEL_HIGH>;
                status = "disabled";
        };
        scifa3: serial@e6c70000 {
                compatible = "renesas,scifa-sh73a0", "renesas,scifa";
                reg = <0xe6c70000 0x100>;
-               interrupt-parent = <&gic>;
                interrupts = <0 75 IRQ_TYPE_LEVEL_HIGH>;
                status = "disabled";
        };
        scifa4: serial@e6c80000 {
                compatible = "renesas,scifa-sh73a0", "renesas,scifa";
                reg = <0xe6c80000 0x100>;
-               interrupt-parent = <&gic>;
                interrupts = <0 78 IRQ_TYPE_LEVEL_HIGH>;
                status = "disabled";
        };
        scifa5: serial@e6cb0000 {
                compatible = "renesas,scifa-sh73a0", "renesas,scifa";
                reg = <0xe6cb0000 0x100>;
-               interrupt-parent = <&gic>;
                interrupts = <0 79 IRQ_TYPE_LEVEL_HIGH>;
                status = "disabled";
        };
        scifa6: serial@e6cc0000 {
                compatible = "renesas,scifa-sh73a0", "renesas,scifa";
                reg = <0xe6cc0000 0x100>;
-               interrupt-parent = <&gic>;
                interrupts = <0 156 IRQ_TYPE_LEVEL_HIGH>;
                status = "disabled";
        };
        scifa7: serial@e6cd0000 {
                compatible = "renesas,scifa-sh73a0", "renesas,scifa";
                reg = <0xe6cd0000 0x100>;
-               interrupt-parent = <&gic>;
                interrupts = <0 143 IRQ_TYPE_LEVEL_HIGH>;
                status = "disabled";
        };
        scifb8: serial@e6c30000 {
                compatible = "renesas,scifb-sh73a0", "renesas,scifb";
                reg = <0xe6c30000 0x100>;
-               interrupt-parent = <&gic>;
                interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>;
                status = "disabled";
        };
                #sound-dai-cells = <1>;
                compatible = "renesas,sh_fsi2";
                reg = <0xec230000 0x400>;
-               interrupt-parent = <&gic>;
                interrupts = <0 146 0x4>;
                status = "disabled";
        };
index 4d77ad690ed54d93bb863ded9f8b088b47f9ae9f..45fce2cf6fede0a11ce2aca2d1de31aa70147ecf 100644 (file)
                        };
                };
 
+               sdr: sdr@ffc25000 {
+                       compatible = "syscon";
+                       reg = <0xffc25000 0x1000>;
+               };
+
+               sdramedac {
+                       compatible = "altr,sdram-edac";
+                       altr,sdr-syscon = <&sdr>;
+                       interrupts = <0 39 4>;
+               };
+
                L2: l2-cache@fffef000 {
                        compatible = "arm,pl310-cache";
                        reg = <0xfffef000 0x1000>;
index 12d1c2ccaf5ba4b22b12a4793dd1d6f8e51da38e..03e8268ae2196e697cededfe5db00eec393fac9d 100644 (file)
@@ -15,6 +15,8 @@
  */
 
 /dts-v1/;
+/* First 4KB has trampoline code for secondary cores. */
+/memreserve/ 0x00000000 0x0001000;
 #include "socfpga.dtsi"
 
 / {
 
                dwmmc0@ff704000 {
                        num-slots = <1>;
-                       supports-highspeed;
                        broken-cd;
-
-                       slot@0 {
-                               reg = <0>;
-                               bus-width = <4>;
-                       };
+                       bus-width = <4>;
+                       cap-mmc-highspeed;
+                       cap-sd-highspeed;
                };
 
                sysmgr@ffd08000 {
index d532d171e3917dba36b2284be351d33774fdd7a4..27d551c384d06b884f4eee5d19f7c75e783938e3 100644 (file)
                */
                ethernet0 = &gmac1;
        };
-
-       aliases {
-               /* this allow the ethaddr uboot environmnet variable contents
-                * to be added to the gmac1 device tree blob.
-                */
-               ethernet0 = &gmac1;
-       };
 };
 
 &gmac1 {
index bf511828729f9fe8c7756b19eed1341a40a23789..28c05e7a31c9ec172ef03b1fc95bdcb7044446cc 100644 (file)
@@ -16,6 +16,8 @@
  */
 
 /dts-v1/;
+/* First 4KB has trampoline code for secondary cores. */
+/memreserve/ 0x00000000 0x0001000;
 #include "socfpga.dtsi"
 
 / {
                        };
                };
 
-               dwmmc0@ff704000 {
+               mmc0: dwmmc0@ff704000 {
                        num-slots = <1>;
-                       supports-highspeed;
                        broken-cd;
-
-                       slot@0 {
-                               reg = <0>;
-                               bus-width = <4>;
-                       };
+                       bus-width = <4>;
+                       cap-mmc-highspeed;
+                       cap-sd-highspeed;
                };
 
                ethernet@ff702000 {
index 45de1514af0ac24f36c0cf5a737a70c7da555213..d7296a5f750cd5edef23d62078b47361027de785 100644 (file)
        };
 };
 
+&mmc0 {
+       cd-gpios = <&gpio1 18 0>;
+};
+
 &usb1 {
        status = "okay";
 };
index 09792b41111058f2546577d3f7ddefdc78291b41..f9345e02ca49e069b846563dc474432b77377b45 100644 (file)
 
                dwmmc0@ff704000 {
                        num-slots = <1>;
-                       supports-highspeed;
                        broken-cd;
-
-                       slot@0 {
-                               reg = <0>;
-                               bus-width = <4>;
-                       };
+                       bus-width = <4>;
+                       cap-mmc-highspeed;
+                       cap-sd-highspeed;
                };
 
                ethernet@ff700000 {
index 459cb63777641ed594b3ca85c8d738dae969a2ce..380f914b226d527e0052df449a7f2fc33cb0c16c 100644 (file)
                #size-cells = <1>;
                ranges;
 
+               dma: dma-controller@01c02000 {
+                       compatible = "allwinner,sun4i-a10-dma";
+                       reg = <0x01c02000 0x1000>;
+                       interrupts = <27>;
+                       clocks = <&ahb_gates 6>;
+                       #dma-cells = <2>;
+               };
+
                spi0: spi@01c05000 {
                        compatible = "allwinner,sun4i-a10-spi";
                        reg = <0x01c05000 0x1000>;
                        interrupts = <10>;
                        clocks = <&ahb_gates 20>, <&spi0_clk>;
                        clock-names = "ahb", "mod";
+                       dmas = <&dma 1 27>, <&dma 1 26>;
+                       dma-names = "rx", "tx";
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        interrupts = <11>;
                        clocks = <&ahb_gates 21>, <&spi1_clk>;
                        clock-names = "ahb", "mod";
+                       dmas = <&dma 1 9>, <&dma 1 8>;
+                       dma-names = "rx", "tx";
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        interrupts = <12>;
                        clocks = <&ahb_gates 22>, <&spi2_clk>;
                        clock-names = "ahb", "mod";
+                       dmas = <&dma 1 29>, <&dma 1 28>;
+                       dma-names = "rx", "tx";
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        interrupts = <50>;
                        clocks = <&ahb_gates 23>, <&spi3_clk>;
                        clock-names = "ahb", "mod";
+                       dmas = <&dma 1 31>, <&dma 1 30>;
+                       dma-names = "rx", "tx";
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <0x01c2ac00 0x400>;
                        interrupts = <7>;
                        clocks = <&apb1_gates 0>;
-                       clock-frequency = <100000>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <0x01c2b000 0x400>;
                        interrupts = <8>;
                        clocks = <&apb1_gates 1>;
-                       clock-frequency = <100000>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <0x01c2b400 0x400>;
                        interrupts = <9>;
                        clocks = <&apb1_gates 2>;
-                       clock-frequency = <100000>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
index 24b0ad3a7c07f53a2af4bb1e22c3ba4f20e3d03d..d73a2287b37ab7affcb826c2ad864d8eefdb0c59 100644 (file)
                #size-cells = <1>;
                ranges;
 
+               dma: dma-controller@01c02000 {
+                       compatible = "allwinner,sun4i-a10-dma";
+                       reg = <0x01c02000 0x1000>;
+                       interrupts = <27>;
+                       clocks = <&ahb_gates 6>;
+                       #dma-cells = <2>;
+               };
+
                spi0: spi@01c05000 {
                        compatible = "allwinner,sun4i-a10-spi";
                        reg = <0x01c05000 0x1000>;
                        interrupts = <10>;
                        clocks = <&ahb_gates 20>, <&spi0_clk>;
                        clock-names = "ahb", "mod";
+                       dmas = <&dma 1 27>, <&dma 1 26>;
+                       dma-names = "rx", "tx";
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        interrupts = <11>;
                        clocks = <&ahb_gates 21>, <&spi1_clk>;
                        clock-names = "ahb", "mod";
+                       dmas = <&dma 1 9>, <&dma 1 8>;
+                       dma-names = "rx", "tx";
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        interrupts = <12>;
                        clocks = <&ahb_gates 22>, <&spi2_clk>;
                        clock-names = "ahb", "mod";
+                       dmas = <&dma 1 29>, <&dma 1 28>;
+                       dma-names = "rx", "tx";
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <0x01c2ac00 0x400>;
                        interrupts = <7>;
                        clocks = <&apb1_gates 0>;
-                       clock-frequency = <100000>;
                        status = "disabled";
                };
 
                        reg = <0x01c2b000 0x400>;
                        interrupts = <8>;
                        clocks = <&apb1_gates 1>;
-                       clock-frequency = <100000>;
                        status = "disabled";
                };
 
                        reg = <0x01c2b400 0x400>;
                        interrupts = <9>;
                        clocks = <&apb1_gates 2>;
-                       clock-frequency = <100000>;
                        status = "disabled";
                };
 
diff --git a/arch/arm/boot/dts/sun5i-a13-hsg-h702.dts b/arch/arm/boot/dts/sun5i-a13-hsg-h702.dts
new file mode 100644 (file)
index 0000000..8b3cd09
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ * Copyright 2014 Chen-Yu Tsai <wens@csie.org>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library 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 library; if not, write to the Free
+ *     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ *     MA 02110-1301 USA
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+/include/ "sun5i-a13.dtsi"
+/include/ "sunxi-common-regulators.dtsi"
+
+/ {
+       model = "HSG H702";
+       compatible = "hsg,h702", "allwinner,sun5i-a13";
+
+       soc@01c00000 {
+               mmc0: mmc@01c0f000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_h702>;
+                       vmmc-supply = <&reg_vcc3v3>;
+                       bus-width = <4>;
+                       cd-gpios = <&pio 6 0 0>; /* PG0 */
+                       cd-inverted;
+                       status = "okay";
+               };
+
+               usbphy: phy@01c13400 {
+                       /*
+                        * There doesn't seem to be a GPIO for controlling
+                        * usb1 vbus, despite the fex file saying otherwise.
+                        */
+                       usb1_vbus-supply = <&reg_vcc5v0>;
+                       status = "okay";
+               };
+
+               ehci0: usb@01c14000 {
+                       status = "okay";
+               };
+
+               ohci0: usb@01c14400 {
+                       status = "okay";
+               };
+
+               pinctrl@01c20800 {
+                       mmc0_cd_pin_h702: mmc0_cd_pin@0 {
+                               allwinner,pins = "PG0";
+                               allwinner,function = "gpio_in";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <1>;
+                       };
+               };
+
+               uart1: serial@01c28400 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&uart1_pins_b>;
+                       status = "okay";
+               };
+
+               i2c0: i2c@01c2ac00 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c0_pins_a>;
+                       status = "okay";
+
+                       axp209: pmic@34 {
+                               compatible = "x-powers,axp209";
+                               reg = <0x34>;
+                               interrupts = <0>;
+                               interrupt-controller;
+                               #interrupt-cells = <1>;
+                       };
+               };
+
+               i2c1: i2c@01c2b000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c1_pins_a>;
+                       status = "okay";
+
+                       pcf8563: rtc@51 {
+                               compatible = "nxp,pcf8563";
+                               reg = <0x51>;
+                       };
+               };
+
+               i2c2: i2c@01c2b400 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c2_pins_a>;
+                       status = "okay";
+               };
+       };
+};
index bf86e65dd167bf2aad4131c1060d57698fedfc77..c4b5d7825b9f78c89c0e088f07d77bc60e98e813 100644 (file)
                #size-cells = <1>;
                ranges;
 
+               dma: dma-controller@01c02000 {
+                       compatible = "allwinner,sun4i-a10-dma";
+                       reg = <0x01c02000 0x1000>;
+                       interrupts = <27>;
+                       clocks = <&ahb_gates 6>;
+                       #dma-cells = <2>;
+               };
+
                spi0: spi@01c05000 {
                        compatible = "allwinner,sun4i-a10-spi";
                        reg = <0x01c05000 0x1000>;
                        interrupts = <10>;
                        clocks = <&ahb_gates 20>, <&spi0_clk>;
                        clock-names = "ahb", "mod";
+                       dmas = <&dma 1 27>, <&dma 1 26>;
+                       dma-names = "rx", "tx";
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        interrupts = <11>;
                        clocks = <&ahb_gates 21>, <&spi1_clk>;
                        clock-names = "ahb", "mod";
+                       dmas = <&dma 1 9>, <&dma 1 8>;
+                       dma-names = "rx", "tx";
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        interrupts = <12>;
                        clocks = <&ahb_gates 22>, <&spi2_clk>;
                        clock-names = "ahb", "mod";
+                       dmas = <&dma 1 29>, <&dma 1 28>;
+                       dma-names = "rx", "tx";
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <0x01c2ac00 0x400>;
                        interrupts = <7>;
                        clocks = <&apb1_gates 0>;
-                       clock-frequency = <100000>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <0x01c2b000 0x400>;
                        interrupts = <8>;
                        clocks = <&apb1_gates 1>;
-                       clock-frequency = <100000>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <0x01c2b400 0x400>;
                        interrupts = <9>;
                        clocks = <&apb1_gates 2>;
-                       clock-frequency = <100000>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
index e06fbfc55bb7ee6dee85d601bd3b12fdcac269b6..543f895d18d3c870446f52085095221566ef83a3 100644 (file)
@@ -3,12 +3,48 @@
  *
  * 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:
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
  *
- * http://www.opensource.org/licenses/gpl-license.html
- * http://www.gnu.org/copyleft/gpl.html
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library 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 library; if not, write to the Free
+ *     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ *     MA 02110-1301 USA
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
  */
 
 /include/ "skeleton.dtsi"
                        reg = <0x01c2ac00 0x400>;
                        interrupts = <0 6 4>;
                        clocks = <&apb2_gates 0>;
-                       clock-frequency = <100000>;
                        resets = <&apb2_rst 0>;
                        status = "disabled";
                        #address-cells = <1>;
                        reg = <0x01c2b000 0x400>;
                        interrupts = <0 7 4>;
                        clocks = <&apb2_gates 1>;
-                       clock-frequency = <100000>;
                        resets = <&apb2_rst 1>;
                        status = "disabled";
                        #address-cells = <1>;
                        reg = <0x01c2b400 0x400>;
                        interrupts = <0 8 4>;
                        clocks = <&apb2_gates 2>;
-                       clock-frequency = <100000>;
                        resets = <&apb2_rst 2>;
                        status = "disabled";
                        #address-cells = <1>;
                        reg = <0x01c2b800 0x400>;
                        interrupts = <0 9 4>;
                        clocks = <&apb2_gates 3>;
-                       clock-frequency = <100000>;
                        resets = <&apb2_rst 3>;
                        status = "disabled";
                        #address-cells = <1>;
                        interrupts = <1 9 0xf04>;
                };
 
+               rtc: rtc@01f00000 {
+                       compatible = "allwinner,sun6i-a31-rtc";
+                       reg = <0x01f00000 0x54>;
+                       interrupts = <0 40 4>, <0 41 4>;
+               };
+
                nmi_intc: interrupt-controller@01f00c0c {
                        compatible = "allwinner,sun6i-a31-sc-nmi";
                        interrupt-controller;
diff --git a/arch/arm/boot/dts/sun7i-a20-hummingbird.dts b/arch/arm/boot/dts/sun7i-a20-hummingbird.dts
new file mode 100644 (file)
index 0000000..0e4bfa3
--- /dev/null
@@ -0,0 +1,236 @@
+/*
+ * Copyright 2013 Wills Wang
+ *
+ * Wills Wang <wills.wang.open@gmail.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"
+/include/ "sunxi-common-regulators.dtsi"
+
+/ {
+       model = "Merrii A20 Hummingbird";
+       compatible = "merrii,a20-hummingbird", "allwinner,sun7i-a20";
+
+       soc@01c00000 {
+               mmc0: mmc@01c0f000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
+                       vmmc-supply = <&reg_vcc3v0>;
+                       bus-width = <4>;
+                       cd-gpios = <&pio 7 1 0>; /* PH1 */
+                       cd-inverted;
+                       status = "okay";
+               };
+
+               mmc3: mmc@01c12000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&mmc3_pins_a>;
+                       vmmc-supply = <&reg_mmc3_vdd>;
+                       bus-width = <4>;
+                       non-removable;
+                       status = "okay";
+               };
+
+               usbphy: phy@01c13400 {
+                       usb1_vbus-supply = <&reg_usb1_vbus>;
+                       usb2_vbus-supply = <&reg_usb2_vbus>;
+                       status = "okay";
+               };
+
+               ehci0: usb@01c14000 {
+                       status = "okay";
+               };
+
+               ohci0: usb@01c14400 {
+                       status = "okay";
+               };
+
+               ahci: sata@01c18000 {
+                       target-supply = <&reg_ahci_5v>;
+                       status = "okay";
+               };
+
+               ehci1: usb@01c1c000 {
+                       status = "okay";
+               };
+
+               ohci1: usb@01c1c400 {
+                       status = "okay";
+               };
+
+               pio: pinctrl@01c20800 {
+                       ahci_pwr_pin_a20_hummingbird: ahci_pwr_pin@0 {
+                               allwinner,pins = "PH15";
+                               allwinner,function = "gpio_out";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+
+                       usb1_vbus_pin_a20_hummingbird: usb1_vbus_pin@0 {
+                               allwinner,pins = "PH2";
+                               allwinner,function = "gpio_out";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+
+                       mmc3_vdd_pin_a20_hummingbird: mmc3_vdd_pin@0 {
+                               allwinner,pins = "PH9";
+                               allwinner,function = "gpio_out";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+
+                       gmac_vdd_pin_a20_hummingbird: gmac_vdd_pin@0 {
+                               allwinner,pins = "PH16";
+                               allwinner,function = "gpio_out";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+               };
+
+               pwm: pwm@01c20e00 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pwm0_pins_a>;
+                       status = "okay";
+               };
+
+               ir0: ir@01c21800 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&ir0_pins_a>;
+                       status = "okay";
+               };
+
+               uart0: serial@01c28000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&uart0_pins_a>;
+                       status = "okay";
+               };
+
+               uart2: serial@01c28800 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&uart2_pins_a>;
+                       status = "okay";
+               };
+
+               uart3: serial@01c28c00 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&uart3_pins_a>;
+                       status = "okay";
+               };
+
+               uart4: serial@01c29000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&uart4_pins_a>;
+                       status = "okay";
+               };
+
+               uart5: serial@01c29400 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&uart5_pins_a>;
+                       status = "okay";
+               };
+
+               i2c0: i2c@01c2ac00 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c0_pins_a>;
+                       status = "okay";
+
+                       axp209: pmic@34 {
+                               compatible = "x-powers,axp209";
+                               reg = <0x34>;
+                               interrupt-parent = <&nmi_intc>;
+                               interrupts = <0 8>;
+                               interrupt-controller;
+                               #interrupt-cells = <1>;
+                       };
+               };
+
+               i2c1: i2c@01c2b000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c1_pins_a>;
+                       status = "okay";
+               };
+
+               i2c2: i2c@01c2b400 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c2_pins_a>;
+                       status = "okay";
+               };
+
+               i2c3: i2c@01c2b800 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c3_pins_a>;
+                       status = "okay";
+               };
+
+               spi2: spi@01c17000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&spi2_pins_b>;
+                       status = "okay";
+               };
+
+               gmac: ethernet@01c50000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&gmac_pins_rgmii_a>;
+                       phy = <&phy1>;
+                       phy-mode = "rgmii";
+                       phy-supply = <&reg_gmac_vdd>;
+                       /* phy reset config */
+                       snps,reset-gpio = <&pio 0 17 0>; /* PA17 */
+                       snps,reset-active-low;
+                       /* wait 1s after reset, otherwise fail to read phy id */
+                       snps,reset-delays-us = <0 10000 1000000>;
+                       status = "okay";
+
+                       phy1: ethernet-phy@1 {
+                               reg = <1>;
+                       };
+               };
+       };
+
+       reg_ahci_5v: ahci-5v {
+               pinctrl-0 = <&ahci_pwr_pin_a20_hummingbird>;
+               gpio = <&pio 7 15 0>; /* PH15 */
+               status = "okay";
+       };
+
+       reg_usb1_vbus: usb1-vbus {
+               pinctrl-0 = <&usb1_vbus_pin_a20_hummingbird>;
+               gpio = <&pio 7 2 0>; /* PH2 */
+               status = "okay";
+       };
+
+       reg_usb2_vbus: usb2-vbus {
+               status = "okay";
+       };
+
+       reg_mmc3_vdd: mmc3_vdd {
+               compatible = "regulator-fixed";
+               pinctrl-names = "default";
+               pinctrl-0 = <&mmc3_vdd_pin_a20_hummingbird>;
+               regulator-name = "mmc3_vdd";
+               regulator-min-microvolt = <3000000>;
+               regulator-max-microvolt = <3000000>;
+               enable-active-high;
+               gpio = <&pio 7 9 0>; /* PH9 */
+       };
+
+       reg_gmac_vdd: gmac_vdd {
+               compatible = "regulator-fixed";
+               pinctrl-names = "default";
+               pinctrl-0 = <&gmac_vdd_pin_a20_hummingbird>;
+               regulator-name = "gmac_vdd";
+               regulator-min-microvolt = <3000000>;
+               regulator-max-microvolt = <3000000>;
+               enable-active-high;
+               gpio = <&pio 7 16 0>; /* PH16 */
+       };
+};
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-lime.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-lime.dts
new file mode 100644 (file)
index 0000000..1eb8175
--- /dev/null
@@ -0,0 +1,137 @@
+/*
+ * This is based on sun4i-a10-olinuxino-lime.dts
+ *
+ * Copyright 2014 - Hans de Goede <hdegoede@redhat.com>
+ * Copyright (c) 2014 FUKAUMI Naoki <naobsd@gmail.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"
+/include/ "sunxi-common-regulators.dtsi"
+
+/ {
+       model = "Olimex A20-OLinuXino-LIME";
+       compatible = "olimex,a20-olinuxino-lime", "allwinner,sun7i-a20";
+
+       soc@01c00000 {
+               mmc0: mmc@01c0f000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
+                       vmmc-supply = <&reg_vcc3v3>;
+                       bus-width = <4>;
+                       cd-gpios = <&pio 7 1 0>; /* PH1 */
+                       cd-inverted;
+                       status = "okay";
+               };
+
+               usbphy: phy@01c13400 {
+                       usb1_vbus-supply = <&reg_usb1_vbus>;
+                       usb2_vbus-supply = <&reg_usb2_vbus>;
+                       status = "okay";
+               };
+
+               ehci0: usb@01c14000 {
+                       status = "okay";
+               };
+
+               ohci0: usb@01c14400 {
+                       status = "okay";
+               };
+
+               ahci: sata@01c18000 {
+                       target-supply = <&reg_ahci_5v>;
+                       status = "okay";
+               };
+
+               ehci1: usb@01c1c000 {
+                       status = "okay";
+               };
+
+               ohci1: usb@01c1c400 {
+                       status = "okay";
+               };
+
+               pinctrl@01c20800 {
+                       ahci_pwr_pin_olinuxinolime: ahci_pwr_pin@1 {
+                               allwinner,pins = "PC3";
+                               allwinner,function = "gpio_out";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+
+                       led_pins_olinuxinolime: led_pins@0 {
+                               allwinner,pins = "PH2";
+                               allwinner,function = "gpio_out";
+                               allwinner,drive = <1>;
+                               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";
+
+                       axp209: pmic@34 {
+                               compatible = "x-powers,axp209";
+                               reg = <0x34>;
+                               interrupt-parent = <&nmi_intc>;
+                               interrupts = <0 8>;
+
+                               interrupt-controller;
+                               #interrupt-cells = <1>;
+                       };
+               };
+
+               gmac: ethernet@01c50000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&gmac_pins_mii_a>;
+                       phy = <&phy1>;
+                       phy-mode = "mii";
+                       status = "okay";
+
+                       phy1: ethernet-phy@1 {
+                               reg = <1>;
+                       };
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+               pinctrl-names = "default";
+               pinctrl-0 = <&led_pins_olinuxinolime>;
+
+               green {
+                       label = "a20-olinuxino-lime:green:usr";
+                       gpios = <&pio 7 2 0>;
+                       default-state = "on";
+               };
+       };
+
+       reg_ahci_5v: ahci-5v {
+               pinctrl-0 = <&ahci_pwr_pin_olinuxinolime>;
+               gpio = <&pio 2 3 0>;
+               status = "okay";
+       };
+
+       reg_usb1_vbus: usb1-vbus {
+               status = "okay";
+       };
+
+       reg_usb2_vbus: usb2-vbus {
+               status = "okay";
+       };
+};
index 4011628c738101b0004b6bb9da7f4c0ee3fa1e70..a96b9946506949d89e839310ac4980cd61111a17 100644 (file)
@@ -3,12 +3,48 @@
  *
  * 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:
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
  *
- * http://www.opensource.org/licenses/gpl-license.html
- * http://www.gnu.org/copyleft/gpl.html
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library 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 library; if not, write to the Free
+ *     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ *     MA 02110-1301 USA
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
  */
 
 /include/ "skeleton.dtsi"
                        interrupts = <0 0 4>;
                };
 
+               dma: dma-controller@01c02000 {
+                       compatible = "allwinner,sun4i-a10-dma";
+                       reg = <0x01c02000 0x1000>;
+                       interrupts = <0 27 4>;
+                       clocks = <&ahb_gates 6>;
+                       #dma-cells = <2>;
+               };
+
                spi0: spi@01c05000 {
                        compatible = "allwinner,sun4i-a10-spi";
                        reg = <0x01c05000 0x1000>;
                        interrupts = <0 10 4>;
                        clocks = <&ahb_gates 20>, <&spi0_clk>;
                        clock-names = "ahb", "mod";
+                       dmas = <&dma 1 27>, <&dma 1 26>;
+                       dma-names = "rx", "tx";
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        interrupts = <0 11 4>;
                        clocks = <&ahb_gates 21>, <&spi1_clk>;
                        clock-names = "ahb", "mod";
+                       dmas = <&dma 1 9>, <&dma 1 8>;
+                       dma-names = "rx", "tx";
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        interrupts = <0 12 4>;
                        clocks = <&ahb_gates 22>, <&spi2_clk>;
                        clock-names = "ahb", "mod";
+                       dmas = <&dma 1 29>, <&dma 1 28>;
+                       dma-names = "rx", "tx";
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        interrupts = <0 50 4>;
                        clocks = <&ahb_gates 23>, <&spi3_clk>;
                        clock-names = "ahb", "mod";
+                       dmas = <&dma 1 31>, <&dma 1 30>;
+                       dma-names = "rx", "tx";
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                                allwinner,pull = <0>;
                        };
 
+                       uart3_pins_a: uart3@0 {
+                               allwinner,pins = "PG6", "PG7", "PG8", "PG9";
+                               allwinner,function = "uart3";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+
+                       uart4_pins_a: uart4@0 {
+                               allwinner,pins = "PG10", "PG11";
+                               allwinner,function = "uart4";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+
+                       uart5_pins_a: uart5@0 {
+                               allwinner,pins = "PI10", "PI11";
+                               allwinner,function = "uart5";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+
                        uart6_pins_a: uart6@0 {
                                allwinner,pins = "PI12", "PI13";
                                allwinner,function = "uart6";
                                allwinner,pull = <0>;
                        };
 
+                       i2c3_pins_a: i2c3@0 {
+                               allwinner,pins = "PI0", "PI1";
+                               allwinner,function = "i2c3";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+
                        emac_pins_a: emac0@0 {
                                allwinner,pins = "PA0", "PA1", "PA2",
                                                "PA3", "PA4", "PA5", "PA6",
                                allwinner,pull = <0>;
                        };
 
+                       spi2_pins_b: spi2@1 {
+                               allwinner,pins = "PB14", "PB15", "PB16", "PB17";
+                               allwinner,function = "spi2";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+
                        mmc0_pins_a: mmc0@0 {
                                allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
                                allwinner,function = "mmc0";
                        reg = <0x01c2ac00 0x400>;
                        interrupts = <0 7 4>;
                        clocks = <&apb1_gates 0>;
-                       clock-frequency = <100000>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <0x01c2b000 0x400>;
                        interrupts = <0 8 4>;
                        clocks = <&apb1_gates 1>;
-                       clock-frequency = <100000>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <0x01c2b400 0x400>;
                        interrupts = <0 9 4>;
                        clocks = <&apb1_gates 2>;
-                       clock-frequency = <100000>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <0x01c2b800 0x400>;
                        interrupts = <0 88 4>;
                        clocks = <&apb1_gates 3>;
-                       clock-frequency = <100000>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <0x01c2c000 0x400>;
                        interrupts = <0 89 4>;
                        clocks = <&apb1_gates 15>;
-                       clock-frequency = <100000>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
index 34002e3eba9d8ea658e77f64c34a9fd8632da118..e9b8cca8dcc1cc7a9c61c9fe6a3450c72241849b 100644 (file)
@@ -13,6 +13,7 @@
 
 /dts-v1/;
 /include/ "sun8i-a23.dtsi"
+/include/ "sunxi-common-regulators.dtsi"
 
 / {
        model = "Ippo Q8H Dual Core Tablet (v5)";
        };
 
        soc@01c00000 {
+               mmc0: mmc@01c0f000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_q8h>;
+                       vmmc-supply = <&reg_vcc3v0>;
+                       bus-width = <4>;
+                       cd-gpios = <&pio 1 4 0>; /* PB4 */
+                       cd-inverted;
+                       status = "okay";
+               };
+
+               pinctrl@01c20800 {
+                       mmc0_cd_pin_q8h: mmc0_cd_pin@0 {
+                               allwinner,pins = "PB4";
+                               allwinner,function = "gpio_in";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <1>;
+                       };
+               };
+
+               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";
+               };
+
+               i2c2: i2c@01c2b400 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c2_pins_a>;
+                       /* pull-ups and devices require PMIC regulator */
+                       status = "failed";
+               };
+
                r_uart: serial@01f02800 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&r_uart_pins_a>;
                        status = "okay";
                };
        };
index 54ac0787216ae0e2b7093e74b329444d46cdbde9..6146ef15efbe31849eedd9ca1efa9de1d99935e1 100644 (file)
@@ -3,12 +3,48 @@
  *
  * Chen-Yu Tsai <wens@csie.org>
  *
- * 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:
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
  *
- * http://www.opensource.org/licenses/gpl-license.html
- * http://www.gnu.org/copyleft/gpl.html
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library 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 library; if not, write to the Free
+ *     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ *     MA 02110-1301 USA
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
  */
 
 /include/ "skeleton.dtsi"
                                        "apb2_uart1", "apb2_uart2",
                                        "apb2_uart3", "apb2_uart4";
                };
+
+               mmc0_clk: clk@01c20088 {
+                       #clock-cells = <0>;
+                       compatible = "allwinner,sun4i-a10-mod0-clk";
+                       reg = <0x01c20088 0x4>;
+                       clocks = <&osc24M>, <&pll6>;
+                       clock-output-names = "mmc0";
+               };
+
+               mmc1_clk: clk@01c2008c {
+                       #clock-cells = <0>;
+                       compatible = "allwinner,sun4i-a10-mod0-clk";
+                       reg = <0x01c2008c 0x4>;
+                       clocks = <&osc24M>, <&pll6>;
+                       clock-output-names = "mmc1";
+               };
+
+               mmc2_clk: clk@01c20090 {
+                       #clock-cells = <0>;
+                       compatible = "allwinner,sun4i-a10-mod0-clk";
+                       reg = <0x01c20090 0x4>;
+                       clocks = <&osc24M>, <&pll6>;
+                       clock-output-names = "mmc2";
+               };
        };
 
        soc@01c00000 {
                #size-cells = <1>;
                ranges;
 
+               dma: dma-controller@01c02000 {
+                       compatible = "allwinner,sun8i-a23-dma";
+                       reg = <0x01c02000 0x1000>;
+                       interrupts = <0 50 4>;
+                       clocks = <&ahb1_gates 6>;
+                       resets = <&ahb1_rst 6>;
+                       #dma-cells = <1>;
+               };
+
+               mmc0: mmc@01c0f000 {
+                       compatible = "allwinner,sun5i-a13-mmc";
+                       reg = <0x01c0f000 0x1000>;
+                       clocks = <&ahb1_gates 8>, <&mmc0_clk>;
+                       clock-names = "ahb", "mmc";
+                       resets = <&ahb1_rst 8>;
+                       reset-names = "ahb";
+                       interrupts = <0 60 4>;
+                       status = "disabled";
+               };
+
+               mmc1: mmc@01c10000 {
+                       compatible = "allwinner,sun5i-a13-mmc";
+                       reg = <0x01c10000 0x1000>;
+                       clocks = <&ahb1_gates 9>, <&mmc1_clk>;
+                       clock-names = "ahb", "mmc";
+                       resets = <&ahb1_rst 9>;
+                       reset-names = "ahb";
+                       interrupts = <0 61 4>;
+                       status = "disabled";
+               };
+
+               mmc2: mmc@01c11000 {
+                       compatible = "allwinner,sun5i-a13-mmc";
+                       reg = <0x01c11000 0x1000>;
+                       clocks = <&ahb1_gates 10>, <&mmc2_clk>;
+                       clock-names = "ahb", "mmc";
+                       resets = <&ahb1_rst 10>;
+                       reset-names = "ahb";
+                       interrupts = <0 62 4>;
+                       status = "disabled";
+               };
+
+               pio: pinctrl@01c20800 {
+                       compatible = "allwinner,sun8i-a23-pinctrl";
+                       reg = <0x01c20800 0x400>;
+                       interrupts = <0 11 4>,
+                                    <0 15 4>,
+                                    <0 17 4>;
+                       clocks = <&apb1_gates 5>;
+                       gpio-controller;
+                       interrupt-controller;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       #gpio-cells = <3>;
+
+                       uart0_pins_a: uart0@0 {
+                               allwinner,pins = "PF2", "PF4";
+                               allwinner,function = "uart0";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+
+                       mmc0_pins_a: mmc0@0 {
+                               allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
+                               allwinner,function = "mmc0";
+                               allwinner,drive = <2>;
+                               allwinner,pull = <0>;
+                       };
+
+                       mmc1_pins_a: mmc1@0 {
+                               allwinner,pins = "PG0","PG1","PG2","PG3","PG4","PG5";
+                               allwinner,function = "mmc1";
+                               allwinner,drive = <2>;
+                               allwinner,pull = <0>;
+                       };
+
+                       i2c0_pins_a: i2c0@0 {
+                               allwinner,pins = "PH2", "PH3";
+                               allwinner,function = "i2c0";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+
+                       i2c1_pins_a: i2c1@0 {
+                               allwinner,pins = "PH4", "PH5";
+                               allwinner,function = "i2c1";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+
+                       i2c2_pins_a: i2c2@0 {
+                               allwinner,pins = "PE12", "PE13";
+                               allwinner,function = "i2c2";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+               };
+
                ahb1_rst: reset@01c202c0 {
                        #reset-cells = <1>;
                        compatible = "allwinner,sun6i-a31-clock-reset";
                        reg-io-width = <4>;
                        clocks = <&apb2_gates 16>;
                        resets = <&apb2_rst 16>;
+                       dmas = <&dma 6>, <&dma 6>;
+                       dma-names = "rx", "tx";
                        status = "disabled";
                };
 
                        reg-io-width = <4>;
                        clocks = <&apb2_gates 17>;
                        resets = <&apb2_rst 17>;
+                       dmas = <&dma 7>, <&dma 7>;
+                       dma-names = "rx", "tx";
                        status = "disabled";
                };
 
                        reg-io-width = <4>;
                        clocks = <&apb2_gates 18>;
                        resets = <&apb2_rst 18>;
+                       dmas = <&dma 8>, <&dma 8>;
+                       dma-names = "rx", "tx";
                        status = "disabled";
                };
 
                        reg-io-width = <4>;
                        clocks = <&apb2_gates 19>;
                        resets = <&apb2_rst 19>;
+                       dmas = <&dma 9>, <&dma 9>;
+                       dma-names = "rx", "tx";
                        status = "disabled";
                };
 
                        reg-io-width = <4>;
                        clocks = <&apb2_gates 20>;
                        resets = <&apb2_rst 20>;
+                       dmas = <&dma 10>, <&dma 10>;
+                       dma-names = "rx", "tx";
                        status = "disabled";
                };
 
+               i2c0: i2c@01c2ac00 {
+                       compatible = "allwinner,sun6i-a31-i2c";
+                       reg = <0x01c2ac00 0x400>;
+                       interrupts = <0 6 4>;
+                       clocks = <&apb2_gates 0>;
+                       resets = <&apb2_rst 0>;
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+
+               i2c1: i2c@01c2b000 {
+                       compatible = "allwinner,sun6i-a31-i2c";
+                       reg = <0x01c2b000 0x400>;
+                       interrupts = <0 7 4>;
+                       clocks = <&apb2_gates 1>;
+                       resets = <&apb2_rst 1>;
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+
+               i2c2: i2c@01c2b400 {
+                       compatible = "allwinner,sun6i-a31-i2c";
+                       reg = <0x01c2b400 0x400>;
+                       interrupts = <0 8 4>;
+                       clocks = <&apb2_gates 2>;
+                       resets = <&apb2_rst 2>;
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+
                gic: interrupt-controller@01c81000 {
                        compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic";
                        reg = <0x01c81000 0x1000>,
                        interrupts = <1 9 0xf04>;
                };
 
+               rtc: rtc@01f00000 {
+                       compatible = "allwinner,sun6i-a31-rtc";
+                       reg = <0x01f00000 0x54>;
+                       interrupts = <0 40 4>, <0 41 4>;
+               };
+
                prcm@01f01400 {
                        compatible = "allwinner,sun8i-a23-prcm";
                        reg = <0x01f01400 0x200>;
                        resets = <&apb0_rst 4>;
                        status = "disabled";
                };
+
+               r_pio: pinctrl@01f02c00 {
+                       compatible = "allwinner,sun8i-a23-r-pinctrl";
+                       reg = <0x01f02c00 0x400>;
+                       interrupts = <0 45 4>;
+                       clocks = <&apb0_gates 0>;
+                       resets = <&apb0_rst 0>;
+                       gpio-controller;
+                       interrupt-controller;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       #gpio-cells = <3>;
+
+                       r_uart_pins_a: r_uart@0 {
+                               allwinner,pins = "PL2", "PL3";
+                               allwinner,function = "s_uart";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+               };
        };
 };
index 3d021efd1a38f6ae4f00087daef44dfd7bb85ec6..c9c5b10e03eb11dbff0c8b40bb308e8764572777 100644 (file)
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
        };
+
+       reg_vcc5v0: vcc5v0 {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc5v0";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+       };
 };
index 80b8eddb4105089743347b20dfb921c613af96ae..2ca9c1807f72374bb176aada1203f6d9bc88e220 100644 (file)
                #reset-cells = <1>;
        };
 
+       flow-controller@60007000 {
+               compatible = "nvidia,tegra114-flowctrl";
+               reg = <0x60007000 0x1000>;
+       };
+
        apbdma: dma@6000a000 {
                compatible = "nvidia,tegra114-apbdma";
                reg = <0x6000a000 0x1400>;
index 624b0fba2d0a0f27861fa4c2a97694c23a7e3088..029c9a0215413355d3ce7c081a3ac5bd00fcd3d7 100644 (file)
                reg = <0x0 0x80000000 0x0 0x80000000>;
        };
 
+       pcie-controller@0,01003000 {
+               status = "okay";
+
+               avddio-pex-supply = <&vdd_1v05_run>;
+               dvddio-pex-supply = <&vdd_1v05_run>;
+               avdd-pex-pll-supply = <&vdd_1v05_run>;
+               hvdd-pex-supply = <&vdd_3v3_lp0>;
+               hvdd-pex-pll-e-supply = <&vdd_3v3_lp0>;
+               vddio-pex-ctl-supply = <&vdd_3v3_lp0>;
+               avdd-pll-erefe-supply = <&avdd_1v05_run>;
+
+               pci@1,0 {
+                       status = "okay";
+               };
+
+               pci@2,0 {
+                       status = "okay";
+               };
+       };
+
        host1x@0,50000000 {
                hdmi@0,54280000 {
                        status = "okay";
        };
 
        pinmux: pinmux@0,70000868 {
-               pinctrl-names = "default";
-               pinctrl-0 = <&state_default>;
+               pinctrl-names = "boot";
+               pinctrl-0 = <&state_boot>;
 
-               state_default: pinmux {
+               state_boot: pinmux {
                        clk_32k_out_pa0 {
                                nvidia,pins = "clk_32k_out_pa0";
                                nvidia,function = "soc";
                                nvidia,tristate = <TEGRA_PIN_DISABLE>;
                                nvidia,enable-input = <TEGRA_PIN_DISABLE>;
                        };
+                       pex_l0_rst_n_pdd1 {
+                               nvidia,pins = "pex_l0_rst_n_pdd1";
+                               nvidia,function = "pe0";
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                       };
+                       pex_l0_clkreq_n_pdd2 {
+                               nvidia,pins = "pex_l0_clkreq_n_pdd2";
+                               nvidia,function = "pe0";
+                               nvidia,pull = <TEGRA_PIN_PULL_UP>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                       };
+                       pex_wake_n_pdd3 {
+                               nvidia,pins = "pex_wake_n_pdd3";
+                               nvidia,function = "pe";
+                               nvidia,pull = <TEGRA_PIN_PULL_UP>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                       };
+                       pex_l1_rst_n_pdd5 {
+                               nvidia,pins = "pex_l1_rst_n_pdd5";
+                               nvidia,function = "pe1";
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                       };
+                       pex_l1_clkreq_n_pdd6 {
+                               nvidia,pins = "pex_l1_clkreq_n_pdd6";
+                               nvidia,function = "pe1";
+                               nvidia,pull = <TEGRA_PIN_PULL_UP>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                       };
                        clk3_out_pee0 {
                                nvidia,pins = "clk3_out_pee0";
                                nvidia,function = "extperiph3";
                                        regulator-always-on;
                                };
 
-                               ldo0 {
+                               avdd_1v05_run: ldo0 {
                                        regulator-name = "+1.05V_RUN_AVDD";
                                        regulator-min-microvolt = <1050000>;
                                        regulator-max-microvolt = <1050000>;
                nvidia,sys-clock-req-active-high;
        };
 
+       /* Serial ATA */
+       sata@0,70020000 {
+               status = "okay";
+
+               hvdd-supply = <&vdd_3v3_lp0>;
+               vddio-supply = <&vdd_1v05_run>;
+               avdd-supply = <&vdd_1v05_run>;
+
+               target-5v-supply = <&vdd_5v0_sata>;
+               target-12v-supply = <&vdd_12v0_sata>;
+       };
+
        padctl@0,7009f000 {
                pinctrl-0 = <&padctl_default>;
                pinctrl-names = "default";
                        enable-active-high;
                        vin-supply = <&vdd_5v0_sys>;
                };
+
+               /* Molex power connector */
+               vdd_5v0_sata: regulator@13 {
+                       compatible = "regulator-fixed";
+                       reg = <13>;
+                       regulator-name = "+5V_SATA";
+                       regulator-min-microvolt = <5000000>;
+                       regulator-max-microvolt = <5000000>;
+                       gpio = <&gpio TEGRA_GPIO(EE, 2) GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+                       vin-supply = <&vdd_5v0_sys>;
+               };
+
+               vdd_12v0_sata: regulator@14 {
+                       compatible = "regulator-fixed";
+                       reg = <14>;
+                       regulator-name = "+12V_SATA";
+                       regulator-min-microvolt = <12000000>;
+                       regulator-max-microvolt = <12000000>;
+                       gpio = <&gpio TEGRA_GPIO(EE, 2) GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+                       vin-supply = <&vdd_mux>;
+               };
        };
 
        sound {
diff --git a/arch/arm/boot/dts/tegra124-nyan-big.dts b/arch/arm/boot/dts/tegra124-nyan-big.dts
new file mode 100644 (file)
index 0000000..7d0784c
--- /dev/null
@@ -0,0 +1,1136 @@
+/dts-v1/;
+
+#include <dt-bindings/input/input.h>
+#include "tegra124.dtsi"
+
+/ {
+       model = "Acer Chromebook 13 CB5-311";
+       compatible = "google,nyan-big", "nvidia,tegra124";
+
+       aliases {
+               rtc0 = "/i2c@0,7000d000/pmic@40";
+               rtc1 = "/rtc@0,7000e000";
+       };
+
+       memory {
+               reg = <0x0 0x80000000 0x0 0x80000000>;
+       };
+
+       host1x@0,50000000 {
+               hdmi@0,54280000 {
+                       status = "okay";
+
+                       vdd-supply = <&vdd_3v3_hdmi>;
+                       pll-supply = <&vdd_hdmi_pll>;
+                       hdmi-supply = <&vdd_5v0_hdmi>;
+
+                       nvidia,ddc-i2c-bus = <&hdmi_ddc>;
+                       nvidia,hpd-gpio =
+                               <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
+               };
+
+               sor@0,54540000 {
+                       status = "okay";
+
+                       nvidia,dpaux = <&dpaux>;
+                       nvidia,panel = <&panel>;
+               };
+
+               dpaux@0,545c0000 {
+                       vdd-supply = <&vdd_3v3_panel>;
+                       status = "okay";
+               };
+       };
+
+       pinmux@0,70000868 {
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinmux_default>;
+
+               pinmux_default: common {
+                       dap_mclk1_pw4 {
+                               nvidia,pins = "dap_mclk1_pw4";
+                               nvidia,function = "extperiph1";
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       dap2_din_pa4 {
+                               nvidia,pins = "dap2_din_pa4";
+                               nvidia,function = "i2s1";
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       dap2_dout_pa5 {
+                               nvidia,pins = "dap2_dout_pa5",
+                                             "dap2_fs_pa2",
+                                             "dap2_sclk_pa3";
+                               nvidia,function = "i2s1";
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       dvfs_pwm_px0 {
+                               nvidia,pins = "dvfs_pwm_px0",
+                                             "dvfs_clk_px2";
+                               nvidia,function = "cldvfs";
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       ulpi_clk_py0 {
+                               nvidia,pins = "ulpi_clk_py0",
+                                             "ulpi_nxt_py2",
+                                             "ulpi_stp_py3";
+                               nvidia,function = "spi1";
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       ulpi_dir_py1 {
+                               nvidia,pins = "ulpi_dir_py1";
+                               nvidia,function = "spi1";
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       cam_i2c_scl_pbb1 {
+                               nvidia,pins = "cam_i2c_scl_pbb1",
+                                             "cam_i2c_sda_pbb2";
+                               nvidia,function = "i2c3";
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,lock = <TEGRA_PIN_DISABLE>;
+                               nvidia,open-drain = <TEGRA_PIN_ENABLE>;
+                       };
+                       gen2_i2c_scl_pt5 {
+                               nvidia,pins = "gen2_i2c_scl_pt5",
+                                             "gen2_i2c_sda_pt6";
+                               nvidia,function = "i2c2";
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,lock = <TEGRA_PIN_DISABLE>;
+                               nvidia,open-drain = <TEGRA_PIN_ENABLE>;
+                       };
+                       pg4 {
+                               nvidia,pins = "pg4",
+                                             "pg5",
+                                             "pg6",
+                                             "pi3";
+                               nvidia,function = "spi4";
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       pg7 {
+                               nvidia,pins = "pg7";
+                               nvidia,function = "spi4";
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       ph1 {
+                               nvidia,pins = "ph1";
+                               nvidia,function = "pwm1";
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       pk0 {
+                               nvidia,pins = "pk0",
+                                             "kb_row15_ps7",
+                                             "clk_32k_out_pa0";
+                               nvidia,function = "soc";
+                               nvidia,pull = <TEGRA_PIN_PULL_UP>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                       };
+                       sdmmc1_clk_pz0 {
+                               nvidia,pins = "sdmmc1_clk_pz0";
+                               nvidia,function = "sdmmc1";
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       sdmmc1_cmd_pz1 {
+                               nvidia,pins = "sdmmc1_cmd_pz1",
+                                             "sdmmc1_dat0_py7",
+                                             "sdmmc1_dat1_py6",
+                                             "sdmmc1_dat2_py5",
+                                             "sdmmc1_dat3_py4";
+                               nvidia,function = "sdmmc1";
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_UP>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       sdmmc3_clk_pa6 {
+                               nvidia,pins = "sdmmc3_clk_pa6";
+                               nvidia,function = "sdmmc3";
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       sdmmc3_cmd_pa7 {
+                               nvidia,pins = "sdmmc3_cmd_pa7",
+                                             "sdmmc3_dat0_pb7",
+                                             "sdmmc3_dat1_pb6",
+                                             "sdmmc3_dat2_pb5",
+                                             "sdmmc3_dat3_pb4",
+                                             "kb_col4_pq4",
+                                             "sdmmc3_clk_lb_out_pee4",
+                                             "sdmmc3_clk_lb_in_pee5",
+                                             "sdmmc3_cd_n_pv2";
+                               nvidia,function = "sdmmc3";
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_UP>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       sdmmc4_clk_pcc4 {
+                               nvidia,pins = "sdmmc4_clk_pcc4";
+                               nvidia,function = "sdmmc4";
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       sdmmc4_cmd_pt7 {
+                               nvidia,pins = "sdmmc4_cmd_pt7",
+                                             "sdmmc4_dat0_paa0",
+                                             "sdmmc4_dat1_paa1",
+                                             "sdmmc4_dat2_paa2",
+                                             "sdmmc4_dat3_paa3",
+                                             "sdmmc4_dat4_paa4",
+                                             "sdmmc4_dat5_paa5",
+                                             "sdmmc4_dat6_paa6",
+                                             "sdmmc4_dat7_paa7";
+                               nvidia,function = "sdmmc4";
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_UP>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       pwr_i2c_scl_pz6 {
+                               nvidia,pins = "pwr_i2c_scl_pz6",
+                                             "pwr_i2c_sda_pz7";
+                               nvidia,function = "i2cpwr";
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,lock = <TEGRA_PIN_DISABLE>;
+                               nvidia,open-drain = <TEGRA_PIN_ENABLE>;
+                       };
+                       jtag_rtck {
+                               nvidia,pins = "jtag_rtck";
+                               nvidia,function = "rtck";
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_UP>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       clk_32k_in {
+                               nvidia,pins = "clk_32k_in";
+                               nvidia,function = "clk";
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       core_pwr_req {
+                               nvidia,pins = "core_pwr_req";
+                               nvidia,function = "pwron";
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       cpu_pwr_req {
+                               nvidia,pins = "cpu_pwr_req";
+                               nvidia,function = "cpu";
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       pwr_int_n {
+                               nvidia,pins = "pwr_int_n";
+                               nvidia,function = "pmi";
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_UP>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       reset_out_n {
+                               nvidia,pins = "reset_out_n";
+                               nvidia,function = "reset_out_n";
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       clk3_out_pee0 {
+                               nvidia,pins = "clk3_out_pee0";
+                               nvidia,function = "extperiph3";
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       gen1_i2c_sda_pc5 {
+                               nvidia,pins = "gen1_i2c_sda_pc5",
+                                             "gen1_i2c_scl_pc4";
+                               nvidia,function = "i2c1";
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,lock = <TEGRA_PIN_DISABLE>;
+                               nvidia,open-drain = <TEGRA_PIN_ENABLE>;
+                       };
+                       hdmi_cec_pee3 {
+                               nvidia,pins = "hdmi_cec_pee3";
+                               nvidia,function = "cec";
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,lock = <TEGRA_PIN_DISABLE>;
+                               nvidia,open-drain = <TEGRA_PIN_DISABLE>;
+                       };
+                       hdmi_int_pn7 {
+                               nvidia,pins = "hdmi_int_pn7";
+                               nvidia,function = "rsvd1";
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                       };
+                       ddc_scl_pv4 {
+                               nvidia,pins = "ddc_scl_pv4",
+                                             "ddc_sda_pv5";
+                               nvidia,function = "i2c4";
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,lock = <TEGRA_PIN_DISABLE>;
+                               nvidia,rcv-sel = <TEGRA_PIN_ENABLE>;
+                       };
+                       kb_row10_ps2 {
+                               nvidia,pins = "kb_row10_ps2";
+                               nvidia,function = "uarta";
+                               nvidia,pull = <TEGRA_PIN_PULL_UP>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                       };
+                       kb_row9_ps1 {
+                               nvidia,pins = "kb_row9_ps1";
+                               nvidia,function = "uarta";
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                       };
+                       usb_vbus_en0_pn4 {
+                               nvidia,pins = "usb_vbus_en0_pn4",
+                                             "usb_vbus_en1_pn5";
+                               nvidia,function = "usb";
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,lock = <TEGRA_PIN_DISABLE>;
+                               nvidia,open-drain = <TEGRA_PIN_ENABLE>;
+                       };
+                       drive_sdio1 {
+                               nvidia,pins = "drive_sdio1";
+                               nvidia,high-speed-mode = <TEGRA_PIN_ENABLE>;
+                               nvidia,schmitt = <TEGRA_PIN_DISABLE>;
+                               nvidia,pull-down-strength = <36>;
+                               nvidia,pull-up-strength = <20>;
+                               nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_SLOW>;
+                               nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_SLOW>;
+                       };
+                       drive_sdio3 {
+                               nvidia,pins = "drive_sdio3";
+                               nvidia,high-speed-mode = <TEGRA_PIN_ENABLE>;
+                               nvidia,schmitt = <TEGRA_PIN_DISABLE>;
+                               nvidia,pull-down-strength = <22>;
+                               nvidia,pull-up-strength = <36>;
+                               nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_FASTEST>;
+                               nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_FASTEST>;
+                       };
+                       drive_gma {
+                               nvidia,pins = "drive_gma";
+                               nvidia,high-speed-mode = <TEGRA_PIN_ENABLE>;
+                               nvidia,schmitt = <TEGRA_PIN_DISABLE>;
+                               nvidia,pull-down-strength = <2>;
+                               nvidia,pull-up-strength = <1>;
+                               nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_FASTEST>;
+                               nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_FASTEST>;
+                               nvidia,drive-type = <1>;
+                       };
+                       codec_irq_l {
+                               nvidia,pins = "ph4";
+                               nvidia,function = "gmi";
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                       };
+                       lcd_bl_en {
+                               nvidia,pins = "ph2";
+                               nvidia,function = "gmi";
+                               nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                       };
+                       touch_irq_l {
+                               nvidia,pins = "gpio_w3_aud_pw3";
+                               nvidia,function = "spi6";
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                       };
+                       tpm_davint_l {
+                               nvidia,pins = "ph6";
+                               nvidia,function = "gmi";
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                       };
+                       ts_irq_l {
+                               nvidia,pins = "pk2";
+                               nvidia,function = "gmi";
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                       };
+                       ts_reset_l {
+                               nvidia,pins = "pk4";
+                               nvidia,function = "gmi";
+                               nvidia,pull = <TEGRA_PIN_PULL_UP>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                       };
+                       ts_shdn_l {
+                               nvidia,pins = "pk1";
+                               nvidia,function = "gmi";
+                               nvidia,pull = <TEGRA_PIN_PULL_UP>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                       };
+                       ph7 {
+                               nvidia,pins = "ph7";
+                               nvidia,function = "gmi";
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                       };
+                       kb_col0_ap {
+                               nvidia,pins = "kb_col0_pq0";
+                               nvidia,function = "rsvd4";
+                               nvidia,pull = <TEGRA_PIN_PULL_UP>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                       };
+                       lid_open {
+                               nvidia,pins = "kb_row4_pr4";
+                               nvidia,function = "rsvd3";
+                               nvidia,pull = <TEGRA_PIN_PULL_UP>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                       };
+                       en_vdd_sd {
+                               nvidia,pins = "kb_row0_pr0";
+                               nvidia,function = "rsvd4";
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                       };
+                       ac_ok {
+                               nvidia,pins = "pj0";
+                               nvidia,function = "gmi";
+                               nvidia,pull = <TEGRA_PIN_PULL_UP>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                       };
+                       sensor_irq_l {
+                               nvidia,pins = "pi6";
+                               nvidia,function = "gmi";
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                       };
+                       wifi_en {
+                               nvidia,pins = "gpio_x7_aud_px7";
+                               nvidia,function = "rsvd4";
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                       };
+                       en_vdd_bl {
+                               nvidia,pins = "dap3_dout_pp2";
+                               nvidia,function = "i2s2";
+                               nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                       };
+                       en_vdd_hdmi {
+                               nvidia,pins = "spdif_in_pk6";
+                               nvidia,function = "spdif";
+                               nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                       };
+                       soc_warm_reset_l {
+                               nvidia,pins = "pi5";
+                               nvidia,function = "gmi";
+                               nvidia,pull = <TEGRA_PIN_PULL_UP>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+                       };
+                       hp_det_l {
+                               nvidia,pins = "pi7";
+                               nvidia,function = "rsvd1";
+                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                       };
+                       mic_det_l {
+                               nvidia,pins = "kb_row7_pr7";
+                               nvidia,function = "rsvd2";
+                               nvidia,pull = <TEGRA_PIN_PULL_UP>;
+                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
+                               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+                       };
+               };
+       };
+
+       serial@0,70006000 {
+               /* Debug connector on the bottom of the board near SD card. */
+               status = "okay";
+       };
+
+       pwm@0,7000a000 {
+               status = "okay";
+       };
+
+       i2c@0,7000c000 {
+               status = "okay";
+               clock-frequency = <100000>;
+
+               acodec: audio-codec@10 {
+                       compatible = "maxim,max98090";
+                       reg = <0x10>;
+                       interrupt-parent = <&gpio>;
+                       interrupts = <TEGRA_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
+               };
+
+               temperature-sensor@4c {
+                       compatible = "ti,tmp451";
+                       reg = <0x4c>;
+                       interrupt-parent = <&gpio>;
+                       interrupts = <TEGRA_GPIO(I, 6) IRQ_TYPE_LEVEL_LOW>;
+
+                       #thermal-sensor-cells = <1>;
+               };
+       };
+
+       i2c@0,7000c400 {
+               status = "okay";
+               clock-frequency = <100000>;
+       };
+
+       i2c@0,7000c500 {
+               status = "okay";
+               clock-frequency = <400000>;
+
+               tpm@20 {
+                       compatible = "infineon,slb9645tt";
+                       reg = <0x20>;
+               };
+       };
+
+       hdmi_ddc: i2c@0,7000c700 {
+               status = "okay";
+               clock-frequency = <100000>;
+       };
+
+       i2c@0,7000d000 {
+               status = "okay";
+               clock-frequency = <400000>;
+
+               pmic: pmic@40 {
+                       compatible = "ams,as3722";
+                       reg = <0x40>;
+                       interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
+
+                       ams,system-power-controller;
+
+                       #interrupt-cells = <2>;
+                       interrupt-controller;
+
+                       gpio-controller;
+                       #gpio-cells = <2>;
+
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&as3722_default>;
+
+                       as3722_default: pinmux {
+                               gpio0 {
+                                       pins = "gpio0";
+                                       function = "gpio";
+                                       bias-pull-down;
+                               };
+
+                               gpio1 {
+                                       pins = "gpio1";
+                                       function = "gpio";
+                                       bias-pull-up;
+                               };
+
+                               gpio2_4_7 {
+                                       pins = "gpio2", "gpio4", "gpio7";
+                                       function = "gpio";
+                                       bias-pull-up;
+                               };
+
+                               gpio3_6 {
+                                       pins = "gpio3", "gpio6";
+                                       bias-high-impedance;
+                               };
+
+                               gpio5 {
+                                       pins = "gpio5";
+                                       function = "clk32k-out";
+                                       bias-pull-down;
+                               };
+                       };
+
+                       regulators {
+                               vsup-sd2-supply = <&vdd_5v0_sys>;
+                               vsup-sd3-supply = <&vdd_5v0_sys>;
+                               vsup-sd4-supply = <&vdd_5v0_sys>;
+                               vsup-sd5-supply = <&vdd_5v0_sys>;
+                               vin-ldo0-supply = <&vdd_1v35_lp0>;
+                               vin-ldo1-6-supply = <&vdd_3v3_run>;
+                               vin-ldo2-5-7-supply = <&vddio_1v8>;
+                               vin-ldo3-4-supply = <&vdd_3v3_sys>;
+                               vin-ldo9-10-supply = <&vdd_5v0_sys>;
+                               vin-ldo11-supply = <&vdd_3v3_run>;
+
+                               sd0 {
+                                       regulator-name = "+VDD_CPU_AP";
+                                       regulator-min-microvolt = <700000>;
+                                       regulator-max-microvolt = <1350000>;
+                                       regulator-min-microamp = <3500000>;
+                                       regulator-max-microamp = <3500000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                                       ams,ext-control = <2>;
+                               };
+
+                               sd1 {
+                                       regulator-name = "+VDD_CORE";
+                                       regulator-min-microvolt = <700000>;
+                                       regulator-max-microvolt = <1350000>;
+                                       regulator-min-microamp = <2500000>;
+                                       regulator-max-microamp = <4000000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                                       ams,ext-control = <1>;
+                               };
+
+                               vdd_1v35_lp0: sd2 {
+                                       regulator-name = "+1.35V_LP0(sd2)";
+                                       regulator-min-microvolt = <1350000>;
+                                       regulator-max-microvolt = <1350000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                               };
+
+                               sd3 {
+                                       regulator-name = "+1.35V_LP0(sd3)";
+                                       regulator-min-microvolt = <1350000>;
+                                       regulator-max-microvolt = <1350000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                               };
+
+                               vdd_1v05_run: sd4 {
+                                       regulator-name = "+1.05V_RUN";
+                                       regulator-min-microvolt = <1050000>;
+                                       regulator-max-microvolt = <1050000>;
+                               };
+
+                               vddio_1v8: sd5 {
+                                       regulator-name = "+1.8V_VDDIO";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-boot-on;
+                                       regulator-always-on;
+                               };
+
+                               sd6 {
+                                       regulator-name = "+VDD_GPU_AP";
+                                       regulator-min-microvolt = <650000>;
+                                       regulator-max-microvolt = <1200000>;
+                                       regulator-min-microamp = <3500000>;
+                                       regulator-max-microamp = <3500000>;
+                                       regulator-boot-on;
+                                       regulator-always-on;
+                               };
+
+                               ldo0 {
+                                       regulator-name = "+1.05V_RUN_AVDD";
+                                       regulator-min-microvolt = <1050000>;
+                                       regulator-max-microvolt = <1050000>;
+                                       regulator-boot-on;
+                                       regulator-always-on;
+                                       ams,ext-control = <1>;
+                               };
+
+                               ldo1 {
+                                       regulator-name = "+1.8V_RUN_CAM";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                               };
+
+                               ldo2 {
+                                       regulator-name = "+1.2V_GEN_AVDD";
+                                       regulator-min-microvolt = <1200000>;
+                                       regulator-max-microvolt = <1200000>;
+                                       regulator-boot-on;
+                                       regulator-always-on;
+                               };
+
+                               ldo3 {
+                                       regulator-name = "+1.00V_LP0_VDD_RTC";
+                                       regulator-min-microvolt = <1000000>;
+                                       regulator-max-microvolt = <1000000>;
+                                       regulator-boot-on;
+                                       regulator-always-on;
+                                       ams,enable-tracking;
+                               };
+
+                               vdd_run_cam: ldo4 {
+                                       regulator-name = "+3.3V_RUN_CAM";
+                                       regulator-min-microvolt = <2800000>;
+                                       regulator-max-microvolt = <2800000>;
+                               };
+
+                               ldo5 {
+                                       regulator-name = "+1.2V_RUN_CAM_FRONT";
+                                       regulator-min-microvolt = <1200000>;
+                                       regulator-max-microvolt = <1200000>;
+                               };
+
+                               vddio_sdmmc3: ldo6 {
+                                       regulator-name = "+VDDIO_SDMMC3";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <3300000>;
+                               };
+
+                               ldo7 {
+                                       regulator-name = "+1.05V_RUN_CAM_REAR";
+                                       regulator-min-microvolt = <1050000>;
+                                       regulator-max-microvolt = <1050000>;
+                               };
+
+                               ldo9 {
+                                       regulator-name = "+2.8V_RUN_TOUCH";
+                                       regulator-min-microvolt = <2800000>;
+                                       regulator-max-microvolt = <2800000>;
+                               };
+
+                               ldo10 {
+                                       regulator-name = "+2.8V_RUN_CAM_AF";
+                                       regulator-min-microvolt = <2800000>;
+                                       regulator-max-microvolt = <2800000>;
+                               };
+
+                               ldo11 {
+                                       regulator-name = "+1.8V_RUN_VPP_FUSE";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                               };
+                       };
+               };
+       };
+
+       spi@0,7000d400 {
+               status = "okay";
+
+               cros_ec: cros-ec@0 {
+                       compatible = "google,cros-ec-spi";
+                       spi-max-frequency = <3000000>;
+                       interrupt-parent = <&gpio>;
+                       interrupts = <TEGRA_GPIO(C, 7) IRQ_TYPE_LEVEL_LOW>;
+                       reg = <0>;
+
+                       google,cros-ec-spi-msg-delay = <2000>;
+
+                       i2c-tunnel {
+                               compatible = "google,cros-ec-i2c-tunnel";
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               google,remote-bus = <0>;
+
+                               charger: bq24735@9 {
+                                       compatible = "ti,bq24735";
+                                       reg = <0x9>;
+                                       interrupt-parent = <&gpio>;
+                                       interrupts = <TEGRA_GPIO(J, 0)
+                                                       GPIO_ACTIVE_HIGH>;
+                                       ti,ac-detect-gpios = <&gpio
+                                                       TEGRA_GPIO(J, 0)
+                                                       GPIO_ACTIVE_HIGH>;
+                               };
+
+                               battery: sbs-battery@b {
+                                       compatible = "sbs,sbs-battery";
+                                       reg = <0xb>;
+                                       sbs,i2c-retry-count = <2>;
+                                       sbs,poll-retry-count = <10>;
+                                       power-supplies = <&charger>;
+                               };
+                       };
+               };
+       };
+
+       spi@0,7000da00 {
+               status = "okay";
+               spi-max-frequency = <25000000>;
+
+               flash@0 {
+                       compatible = "winbond,w25q32dw";
+                       reg = <0>;
+               };
+       };
+
+       pmc@0,7000e400 {
+               nvidia,invert-interrupt;
+               nvidia,suspend-mode = <0>;
+               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;
+       };
+
+       hda@0,70030000 {
+               status = "okay";
+       };
+
+       sdhci@0,700b0000 { /* WiFi/BT on this bus */
+               status = "okay";
+               power-gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_HIGH>;
+               bus-width = <4>;
+               no-1-8-v;
+               non-removable;
+       };
+
+       sdhci@0,700b0400 { /* SD Card on this bus */
+               status = "okay";
+               cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
+               power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
+               wp-gpios = <&gpio TEGRA_GPIO(Q, 4) GPIO_ACTIVE_LOW>;
+               bus-width = <4>;
+               no-1-8-v;
+               vqmmc-supply = <&vddio_sdmmc3>;
+       };
+
+       sdhci@0,700b0600 { /* eMMC on this bus */
+               status = "okay";
+               bus-width = <8>;
+               no-1-8-v;
+               non-removable;
+       };
+
+       ahub@0,70300000 {
+               i2s@0,70301100 {
+                       status = "okay";
+               };
+       };
+
+       usb@0,7d000000 { /* Rear external USB port. */
+               status = "okay";
+       };
+
+       usb-phy@0,7d000000 {
+               status = "okay";
+               vbus-supply = <&vdd_usb1_vbus>;
+       };
+
+       usb@0,7d004000 { /* Internal webcam. */
+               status = "okay";
+       };
+
+       usb-phy@0,7d004000 {
+               status = "okay";
+               vbus-supply = <&vdd_run_cam>;
+       };
+
+       usb@0,7d008000 { /* Left external USB port. */
+               status = "okay";
+       };
+
+       usb-phy@0,7d008000 {
+               status = "okay";
+               vbus-supply = <&vdd_usb3_vbus>;
+       };
+
+       backlight: backlight {
+               compatible = "pwm-backlight";
+
+               enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
+               power-supply = <&vdd_led>;
+               pwms = <&pwm 1 1000000>;
+
+               default-brightness-level = <224>;
+               brightness-levels =
+                       <  0   1   2   3   4   5   6   7
+                          8   9  10  11  12  13  14  15
+                         16  17  18  19  20  21  22  23
+                         24  25  26  27  28  29  30  31
+                         32  33  34  35  36  37  38  39
+                         40  41  42  43  44  45  46  47
+                         48  49  50  51  52  53  54  55
+                         56  57  58  59  60  61  62  63
+                         64  65  66  67  68  69  70  71
+                         72  73  74  75  76  77  78  79
+                         80  81  82  83  84  85  86  87
+                         88  89  90  91  92  93  94  95
+                         96  97  98  99 100 101 102 103
+                        104 105 106 107 108 109 110 111
+                        112 113 114 115 116 117 118 119
+                        120 121 122 123 124 125 126 127
+                        128 129 130 131 132 133 134 135
+                        136 137 138 139 140 141 142 143
+                        144 145 146 147 148 149 150 151
+                        152 153 154 155 156 157 158 159
+                        160 161 162 163 164 165 166 167
+                        168 169 170 171 172 173 174 175
+                        176 177 178 179 180 181 182 183
+                        184 185 186 187 188 189 190 191
+                        192 193 194 195 196 197 198 199
+                        200 201 202 203 204 205 206 207
+                        208 209 210 211 212 213 214 215
+                        216 217 218 219 220 221 222 223
+                        224 225 226 227 228 229 230 231
+                        232 233 234 235 236 237 238 239
+                        240 241 242 243 244 245 246 247
+                        248 249 250 251 252 253 254 255
+                        256>;
+       };
+
+       clocks {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               clk32k_in: clock@0 {
+                       compatible = "fixed-clock";
+                       reg = <0>;
+                       #clock-cells = <0>;
+                       clock-frequency = <32768>;
+               };
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+
+               lid {
+                       label = "Lid";
+                       gpios = <&gpio TEGRA_GPIO(R, 4) GPIO_ACTIVE_LOW>;
+                       linux,input-type = <5>;
+                       linux,code = <KEY_RESERVED>;
+                       debounce-interval = <1>;
+                       gpio-key,wakeup;
+               };
+
+               power {
+                       label = "Power";
+                       gpios = <&gpio TEGRA_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_POWER>;
+                       debounce-interval = <30>;
+                       gpio-key,wakeup;
+               };
+       };
+
+       panel: panel {
+               compatible = "auo,b133xtn01";
+
+               backlight = <&backlight>;
+               ddc-i2c-bus = <&dpaux>;
+       };
+
+       regulators {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               vdd_mux: regulator@0 {
+                       compatible = "regulator-fixed";
+                       reg = <0>;
+                       regulator-name = "+VDD_MUX";
+                       regulator-min-microvolt = <12000000>;
+                       regulator-max-microvolt = <12000000>;
+                       regulator-always-on;
+                       regulator-boot-on;
+               };
+
+               vdd_5v0_sys: regulator@1 {
+                       compatible = "regulator-fixed";
+                       reg = <1>;
+                       regulator-name = "+5V_SYS";
+                       regulator-min-microvolt = <5000000>;
+                       regulator-max-microvolt = <5000000>;
+                       regulator-always-on;
+                       regulator-boot-on;
+                       vin-supply = <&vdd_mux>;
+               };
+
+               vdd_3v3_sys: regulator@2 {
+                       compatible = "regulator-fixed";
+                       reg = <2>;
+                       regulator-name = "+3.3V_SYS";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-always-on;
+                       regulator-boot-on;
+                       vin-supply = <&vdd_mux>;
+               };
+
+               vdd_3v3_run: regulator@3 {
+                       compatible = "regulator-fixed";
+                       reg = <3>;
+                       regulator-name = "+3.3V_RUN";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-always-on;
+                       regulator-boot-on;
+                       gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+                       vin-supply = <&vdd_3v3_sys>;
+               };
+
+               vdd_3v3_hdmi: regulator@4 {
+                       compatible = "regulator-fixed";
+                       reg = <4>;
+                       regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       vin-supply = <&vdd_3v3_run>;
+               };
+
+               vdd_led: regulator@5 {
+                       compatible = "regulator-fixed";
+                       reg = <5>;
+                       regulator-name = "+VDD_LED";
+                       gpio = <&gpio TEGRA_GPIO(P, 2) GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+                       vin-supply = <&vdd_mux>;
+               };
+
+               vdd_5v0_ts: regulator@6 {
+                       compatible = "regulator-fixed";
+                       reg = <6>;
+                       regulator-name = "+5V_VDD_TS_SW";
+                       regulator-min-microvolt = <5000000>;
+                       regulator-max-microvolt = <5000000>;
+                       regulator-boot-on;
+                       gpio = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+                       vin-supply = <&vdd_5v0_sys>;
+               };
+
+               vdd_usb1_vbus: regulator@7 {
+                       compatible = "regulator-fixed";
+                       reg = <7>;
+                       regulator-name = "+5V_USB_HS";
+                       regulator-min-microvolt = <5000000>;
+                       regulator-max-microvolt = <5000000>;
+                       gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+                       gpio-open-drain;
+                       vin-supply = <&vdd_5v0_sys>;
+               };
+
+               vdd_usb3_vbus: regulator@8 {
+                       compatible = "regulator-fixed";
+                       reg = <8>;
+                       regulator-name = "+5V_USB_SS";
+                       regulator-min-microvolt = <5000000>;
+                       regulator-max-microvolt = <5000000>;
+                       gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+                       gpio-open-drain;
+                       vin-supply = <&vdd_5v0_sys>;
+               };
+
+               vdd_3v3_panel: regulator@9 {
+                       compatible = "regulator-fixed";
+                       reg = <9>;
+                       regulator-name = "+3.3V_PANEL";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       gpio = <&pmic 4 GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+                       vin-supply = <&vdd_3v3_run>;
+               };
+
+               vdd_3v3_lp0: regulator@10 {
+                       compatible = "regulator-fixed";
+                       reg = <10>;
+                       regulator-name = "+3.3V_LP0";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       /*
+                        * TODO: find a way to wire this up with the USB EHCI
+                        * controllers so that it can be enabled on demand.
+                        */
+                       regulator-always-on;
+                       gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+                       vin-supply = <&vdd_3v3_sys>;
+               };
+
+               vdd_hdmi_pll: regulator@11 {
+                       compatible = "regulator-fixed";
+                       reg = <11>;
+                       regulator-name = "+1.05V_RUN_AVDD_HDMI_PLL";
+                       regulator-min-microvolt = <1050000>;
+                       regulator-max-microvolt = <1050000>;
+                       gpio = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_LOW>;
+                       vin-supply = <&vdd_1v05_run>;
+               };
+
+               vdd_5v0_hdmi: regulator@12 {
+                       compatible = "regulator-fixed";
+                       reg = <12>;
+                       regulator-name = "+5V_HDMI_CON";
+                       regulator-min-microvolt = <5000000>;
+                       regulator-max-microvolt = <5000000>;
+                       gpio = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+                       vin-supply = <&vdd_5v0_sys>;
+               };
+       };
+
+       sound {
+               compatible = "nvidia,tegra-audio-max98090-nyan-big",
+                            "nvidia,tegra-audio-max98090";
+               nvidia,model = "Acer Chromebook 13";
+
+               nvidia,audio-routing =
+                       "Headphones", "HPR",
+                       "Headphones", "HPL",
+                       "Speakers", "SPKR",
+                       "Speakers", "SPKL",
+                       "Mic Jack", "MICBIAS",
+                       "DMICL", "Int Mic",
+                       "DMICR", "Int Mic",
+                       "IN34", "Mic Jack";
+
+               nvidia,i2s-controller = <&tegra_i2s1>;
+               nvidia,audio-codec = <&acodec>;
+
+               clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
+                        <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
+                        <&tegra_car TEGRA124_CLK_EXTERN1>;
+               clock-names = "pll_a", "pll_a_out0", "mclk";
+
+               nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(I, 7) GPIO_ACTIVE_HIGH>;
+       };
+};
+
+#include "cros-ec-keyboard.dtsi"
index 70ad91d1a20be3760bd33c4a864ae835e87b644f..13008858e96754dda8de3f838add6e0b6d4fb911 100644 (file)
                        nvidia,panel = <&panel>;
                };
 
-               dpaux: dpaux@0,545c0000 {
+               dpaux@0,545c0000 {
                        vdd-supply = <&vdd_3v3_panel>;
                        status = "okay";
                };
        };
 
        pinmux: pinmux@0,70000868 {
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinmux_default>;
+               pinctrl-names = "boot";
+               pinctrl-0 = <&pinmux_boot>;
 
-               pinmux_default: common {
+               pinmux_boot: common {
                        dap_mclk1_pw4 {
                                nvidia,pins = "dap_mclk1_pw4";
                                nvidia,function = "extperiph1";
                status = "okay";
        };
 
-       pwm: pwm@0,7000a000 {
+       pwm@0,7000a000 {
                status = "okay";
        };
 
        i2c@0,7000c400 {
                status = "okay";
                clock-frequency = <100000>;
+
+               trackpad@4b {
+                       compatible = "atmel,maxtouch";
+                       reg = <0x4b>;
+                       interrupt-parent = <&gpio>;
+                       interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_LEVEL_LOW>;
+                       linux,gpio-keymap = <0 0 0 BTN_LEFT>;
+               };
        };
 
        i2c@0,7000c500 {
index 03916efd6fa98748f6d183cfda94280cf6ceeedb..478c555ebd96bd0897bae7d3d0e7fa368573cba5 100644 (file)
        #address-cells = <2>;
        #size-cells = <2>;
 
+       pcie-controller@0,01003000 {
+               compatible = "nvidia,tegra124-pcie";
+               device_type = "pci";
+               reg = <0x0 0x01003000 0x0 0x00000800   /* PADS registers */
+                      0x0 0x01003800 0x0 0x00000800   /* AFI registers */
+                      0x0 0x02000000 0x0 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";
+
+               #interrupt-cells = <1>;
+               interrupt-map-mask = <0 0 0 0>;
+               interrupt-map = <0 0 0 0 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
+
+               bus-range = <0x00 0xff>;
+               #address-cells = <3>;
+               #size-cells = <2>;
+
+               ranges = <0x82000000 0 0x01000000 0x0 0x01000000 0 0x00001000   /* port 0 configuration space */
+                         0x82000000 0 0x01001000 0x0 0x01001000 0 0x00001000   /* port 1 configuration space */
+                         0x81000000 0 0x0        0x0 0x12000000 0 0x00010000   /* downstream I/O (64 KiB) */
+                         0x82000000 0 0x13000000 0x0 0x13000000 0 0x0d000000   /* non-prefetchable memory (208 MiB) */
+                         0xc2000000 0 0x20000000 0x0 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */
+
+               clocks = <&tegra_car TEGRA124_CLK_PCIE>,
+                        <&tegra_car TEGRA124_CLK_AFI>,
+                        <&tegra_car TEGRA124_CLK_PLL_E>,
+                        <&tegra_car TEGRA124_CLK_CML0>;
+               clock-names = "pex", "afi", "pll_e", "cml";
+               resets = <&tegra_car 70>,
+                        <&tegra_car 72>,
+                        <&tegra_car 74>;
+               reset-names = "pex", "afi", "pcie_x";
+               status = "disabled";
+
+               phys = <&padctl TEGRA_XUSB_PADCTL_PCIE>;
+               phy-names = "pcie";
+
+               pci@1,0 {
+                       device_type = "pci";
+                       assigned-addresses = <0x82000800 0 0x01000000 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 0x01001000 0 0x1000>;
+                       reg = <0x001000 0 0 0 0>;
+                       status = "disabled";
+
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       ranges;
+
+                       nvidia,num-lanes = <1>;
+               };
+       };
+
        host1x@0,50000000 {
                compatible = "nvidia,tegra124-host1x", "simple-bus";
                reg = <0x0 0x50000000 0x0 0x00034000>;
                        status = "disabled";
                };
 
-               dpaux@0,545c0000 {
+               dpaux: dpaux@0,545c0000 {
                        compatible = "nvidia,tegra124-dpaux";
                        reg = <0x0 0x545c0000 0x0 0x00040000>;
                        interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
                #reset-cells = <1>;
        };
 
+       flow-controller@0,60007000 {
+               compatible = "nvidia,tegra124-flowctrl";
+               reg = <0x0 0x60007000 0x0 0x1000>;
+       };
+
        gpio: gpio@0,6000d000 {
                compatible = "nvidia,tegra124-gpio", "nvidia,tegra30-gpio";
                reg = <0x0 0x6000d000 0x0 0x1000>;
                status = "disabled";
        };
 
-       pwm@0,7000a000 {
+       pwm: pwm@0,7000a000 {
                compatible = "nvidia,tegra124-pwm", "nvidia,tegra20-pwm";
                reg = <0x0 0x7000a000 0x0 0x100>;
                #pwm-cells = <2>;
                reset-names = "fuse";
        };
 
+       sata@0,70020000 {
+               compatible = "nvidia,tegra124-ahci";
+
+               reg = <0x0 0x70027000 0x0 0x2000>, /* AHCI */
+                       <0x0 0x70020000 0x0 0x7000>; /* SATA */
+
+               interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
+
+               clocks = <&tegra_car TEGRA124_CLK_SATA>,
+                       <&tegra_car TEGRA124_CLK_SATA_OOB>,
+                       <&tegra_car TEGRA124_CLK_CML1>,
+                       <&tegra_car TEGRA124_CLK_PLL_E>;
+               clock-names = "sata", "sata-oob", "cml1", "pll_e";
+
+               resets = <&tegra_car 124>,
+                       <&tegra_car 123>,
+                       <&tegra_car 129>;
+               reset-names = "sata", "sata-oob", "sata-cold";
+
+               phys = <&padctl TEGRA_XUSB_PADCTL_SATA>;
+               phy-names = "sata-phy";
+
+               status = "disabled";
+       };
+
        hda@0,70030000 {
                compatible = "nvidia,tegra124-hda", "nvidia,tegra30-hda";
                reg = <0x0 0x70030000 0x0 0x10000>;
index 1908f6937e53246c1d2f0225a7b658ce1452f3d5..3b374c49d04d962478aebc62799bcce5b31aa6dd 100644 (file)
                #reset-cells = <1>;
        };
 
+       flow-controller@60007000 {
+               compatible = "nvidia,tegra20-flowctrl";
+               reg = <0x60007000 0x1000>;
+       };
+
        apbdma: dma@6000a000 {
                compatible = "nvidia,tegra20-apbdma";
                reg = <0x6000a000 0x1200>;
index 6b35c29278d7623530e3945a12bc1fbb62a8e470..aa6ccea13d308036e853b58bafe840d7c3450e87 100644 (file)
                #reset-cells = <1>;
        };
 
+       flow-controller@60007000 {
+               compatible = "nvidia,tegra30-flowctrl";
+               reg = <0x60007000 0x1000>;
+       };
+
        apbdma: dma@6000a000 {
                compatible = "nvidia,tegra30-apbdma", "nvidia,tegra20-apbdma";
                reg = <0x6000a000 0x1400>;
index 756c986995a3115fab63febd5aa4e8eeeddab5e3..2efb2058ba498a0f8e759f50746e8c06b4f66b83 100644 (file)
@@ -41,7 +41,7 @@
                        bank-width = <4>;
                };
 
-               vram@2,00000000 {
+               v2m_video_ram: vram@2,00000000 {
                        compatible = "arm,vexpress-vram";
                        reg = <2 0x00000000 0x00800000>;
                };
                        clcd@1f0000 {
                                compatible = "arm,pl111", "arm,primecell";
                                reg = <0x1f0000 0x1000>;
+                               interrupt-names = "combined";
                                interrupts = <14>;
                                clocks = <&v2m_oscclk1>, <&smbclk>;
                                clock-names = "clcdclk", "apb_pclk";
+                               memory-region = <&v2m_video_ram>;
+                               max-memory-bandwidth = <50350000>; /* 16bpp @ 25.175MHz */
+
+                               port {
+                                       v2m_clcd_pads: endpoint {
+                                               remote-endpoint = <&v2m_clcd_panel>;
+                                               arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
+                                       };
+                               };
+
+                               panel {
+                                       compatible = "panel-dpi";
+
+                                       port {
+                                               v2m_clcd_panel: endpoint {
+                                                       remote-endpoint = <&v2m_clcd_pads>;
+                                               };
+                                       };
+
+                                       panel-timing {
+                                               clock-frequency = <25175000>;
+                                               hactive = <640>;
+                                               hback-porch = <40>;
+                                               hfront-porch = <24>;
+                                               hsync-len = <96>;
+                                               vactive = <480>;
+                                               vback-porch = <32>;
+                                               vfront-porch = <11>;
+                                               vsync-len = <2>;
+                                       };
+                               };
                        };
                };
 
                                /* CLCD clock */
                                compatible = "arm,vexpress-osc";
                                arm,vexpress-sysreg,func = <1 1>;
-                               freq-range = <23750000 63500000>;
+                               freq-range = <23750000 65000000>;
                                #clock-cells = <0>;
                                clock-output-names = "v2m:oscclk1";
                        };
index ba856d604fb78fe3c70a5cda2333dc3a8e078294..cb3090f919a70c4d2ef35ed8c264adc9992ca1a4 100644 (file)
@@ -40,7 +40,7 @@
                        bank-width = <4>;
                };
 
-               vram@3,00000000 {
+               v2m_video_ram: vram@3,00000000 {
                        compatible = "arm,vexpress-vram";
                        reg = <3 0x00000000 0x00800000>;
                };
                        clcd@1f000 {
                                compatible = "arm,pl111", "arm,primecell";
                                reg = <0x1f000 0x1000>;
+                               interrupt-names = "combined";
                                interrupts = <14>;
                                clocks = <&v2m_oscclk1>, <&smbclk>;
                                clock-names = "clcdclk", "apb_pclk";
+                               memory-region = <&v2m_video_ram>;
+                               max-memory-bandwidth = <50350000>; /* 16bpp @ 25.175MHz */
+
+                               port {
+                                       v2m_clcd_pads: endpoint {
+                                               remote-endpoint = <&v2m_clcd_panel>;
+                                               arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
+                                       };
+                               };
+
+                               panel {
+                                       compatible = "panel-dpi";
+
+                                       port {
+                                               v2m_clcd_panel: endpoint {
+                                                       remote-endpoint = <&v2m_clcd_pads>;
+                                               };
+                                       };
+
+                                       panel-timing {
+                                               clock-frequency = <25175000>;
+                                               hactive = <640>;
+                                               hback-porch = <40>;
+                                               hfront-porch = <24>;
+                                               hsync-len = <96>;
+                                               vactive = <480>;
+                                               vback-porch = <32>;
+                                               vfront-porch = <11>;
+                                               vsync-len = <2>;
+                                       };
+                               };
                        };
                };
 
                                /* CLCD clock */
                                compatible = "arm,vexpress-osc";
                                arm,vexpress-sysreg,func = <1 1>;
-                               freq-range = <23750000 63500000>;
+                               freq-range = <23750000 65000000>;
                                #clock-cells = <0>;
                                clock-output-names = "v2m:oscclk1";
                        };
index 62d9b225dcceec8b27464027cd9dba60640c33f5..23662b5a5e9d84554f34eb0fc3edad1ef029f4e6 100644 (file)
        clcd@10020000 {
                compatible = "arm,pl111", "arm,primecell";
                reg = <0x10020000 0x1000>;
+               interrupt-names = "combined";
                interrupts = <0 44 4>;
                clocks = <&oscclk1>, <&oscclk2>;
                clock-names = "clcdclk", "apb_pclk";
+               max-memory-bandwidth = <130000000>; /* 16bpp @ 63.5MHz */
+
+               port {
+                       clcd_pads: endpoint {
+                               remote-endpoint = <&clcd_panel>;
+                               arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
+                       };
+               };
+
+               panel {
+                       compatible = "panel-dpi";
+
+                       port {
+                               clcd_panel: endpoint {
+                                       remote-endpoint = <&clcd_pads>;
+                               };
+                       };
+
+                       panel-timing {
+                               clock-frequency = <63500127>;
+                               hactive = <1024>;
+                               hback-porch = <152>;
+                               hfront-porch = <48>;
+                               hsync-len = <104>;
+                               vactive = <768>;
+                               vback-porch = <23>;
+                               vfront-porch = <3>;
+                               vsync-len = <4>;
+                       };
+               };
        };
 
        memory-controller@100e0000 {
diff --git a/arch/arm/boot/dts/vf610-colibri-eval-v3.dts b/arch/arm/boot/dts/vf610-colibri-eval-v3.dts
new file mode 100644 (file)
index 0000000..7fb3066
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2014 Toradex AG
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+/dts-v1/;
+#include "vf610-colibri.dtsi"
+
+/ {
+       model = "Toradex Colibri VF61 on Colibri Evaluation Board";
+       compatible = "toradex,vf610-colibri_vf61-on-eval", "toradex,vf610-colibri_vf61", "fsl,vf610";
+
+       chosen {
+               bootargs = "console=ttyLP0,115200";
+       };
+};
+
+&esdhc1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_esdhc1>;
+       bus-width = <4>;
+       status = "okay";
+};
+
+&fec1 {
+       phy-mode = "rmii";
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_fec1>;
+       status = "okay";
+};
+
+&uart0 {
+       status = "okay";
+};
+
+&uart1 {
+       status = "okay";
+};
+
+&uart2 {
+       status = "okay";
+};
diff --git a/arch/arm/boot/dts/vf610-colibri.dts b/arch/arm/boot/dts/vf610-colibri.dts
deleted file mode 100644 (file)
index aecc7db..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright 2014 Toradex AG
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- */
-
-/dts-v1/;
-#include "vf610.dtsi"
-
-/ {
-       model = "Toradex Colibri VF61 COM";
-       compatible = "toradex,vf610-colibri", "fsl,vf610";
-
-       chosen {
-               bootargs = "console=ttyLP0,115200";
-       };
-
-       memory {
-               reg = <0x80000000 0x10000000>;
-       };
-
-       clocks {
-               enet_ext {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       clock-frequency = <50000000>;
-               };
-       };
-
-};
-
-&esdhc1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_esdhc1>;
-       bus-width = <4>;
-       status = "okay";
-};
-
-&fec1 {
-       phy-mode = "rmii";
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_fec1>;
-       status = "okay";
-};
-
-&L2 {
-       arm,data-latency = <2 1 2>;
-       arm,tag-latency = <3 2 3>;
-};
-
-&uart0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_uart0>;
-       status = "okay";
-};
-
-&uart1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_uart1>;
-       status = "okay";
-};
-
-&uart2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_uart2>;
-       status = "okay";
-};
-
-&iomuxc {
-       vf610-colibri {
-               pinctrl_esdhc1: esdhc1grp {
-                       fsl,fsl,pins = <
-                               VF610_PAD_PTA24__ESDHC1_CLK     0x31ef
-                               VF610_PAD_PTA25__ESDHC1_CMD     0x31ef
-                               VF610_PAD_PTA26__ESDHC1_DAT0    0x31ef
-                               VF610_PAD_PTA27__ESDHC1_DAT1    0x31ef
-                               VF610_PAD_PTA28__ESDHC1_DATA2   0x31ef
-                               VF610_PAD_PTA29__ESDHC1_DAT3    0x31ef
-                               VF610_PAD_PTB20__GPIO_42        0x219d
-                       >;
-               };
-
-               pinctrl_fec1: fec1grp {
-                       fsl,pins = <
-                               VF610_PAD_PTC9__ENET_RMII1_MDC          0x30d2
-                               VF610_PAD_PTC10__ENET_RMII1_MDIO        0x30d3
-                               VF610_PAD_PTC11__ENET_RMII1_CRS         0x30d1
-                               VF610_PAD_PTC12__ENET_RMII_RXD1         0x30d1
-                               VF610_PAD_PTC13__ENET_RMII1_RXD0        0x30d1
-                               VF610_PAD_PTC14__ENET_RMII1_RXER        0x30d1
-                               VF610_PAD_PTC15__ENET_RMII1_TXD1        0x30d2
-                               VF610_PAD_PTC16__ENET_RMII1_TXD0        0x30d2
-                               VF610_PAD_PTC17__ENET_RMII1_TXEN        0x30d2
-                       >;
-               };
-
-               pinctrl_uart0: uart0grp {
-                       fsl,pins = <
-                               VF610_PAD_PTB10__UART0_TX               0x21a2
-                               VF610_PAD_PTB11__UART0_RX               0x21a1
-                       >;
-               };
-
-               pinctrl_uart1: uart1grp {
-                       fsl,pins = <
-                               VF610_PAD_PTB4__UART1_TX                0x21a2
-                               VF610_PAD_PTB5__UART1_RX                0x21a1
-                       >;
-               };
-
-               pinctrl_uart2: uart2grp {
-                       fsl,pins = <
-                               VF610_PAD_PTD0__UART2_TX                0x21a2
-                               VF610_PAD_PTD1__UART2_RX                0x21a1
-                               VF610_PAD_PTD2__UART2_RTS               0x21a2
-                               VF610_PAD_PTD3__UART2_CTS               0x21a1
-                       >;
-               };
-       };
-};
diff --git a/arch/arm/boot/dts/vf610-colibri.dtsi b/arch/arm/boot/dts/vf610-colibri.dtsi
new file mode 100644 (file)
index 0000000..0cd8343
--- /dev/null
@@ -0,0 +1,123 @@
+/*
+ * Copyright 2014 Toradex AG
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#include "vf610.dtsi"
+
+/ {
+       model = "Toradex Colibri VF61 COM";
+       compatible = "toradex,vf610-colibri_vf61", "fsl,vf610";
+
+       memory {
+               reg = <0x80000000 0x10000000>;
+       };
+
+       clocks {
+               enet_ext {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <50000000>;
+               };
+       };
+
+};
+
+&esdhc1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_esdhc1>;
+       bus-width = <4>;
+};
+
+&fec1 {
+       phy-mode = "rmii";
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_fec1>;
+};
+
+&L2 {
+       arm,data-latency = <2 1 2>;
+       arm,tag-latency = <3 2 3>;
+};
+
+&uart0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart0>;
+};
+
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart1>;
+};
+
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart2>;
+};
+
+&usbdev0 {
+       disable-over-current;
+       status = "okay";
+};
+
+&usbh1 {
+       disable-over-current;
+       status = "okay";
+};
+
+&iomuxc {
+       vf610-colibri {
+               pinctrl_esdhc1: esdhc1grp {
+                       fsl,pins = <
+                               VF610_PAD_PTA24__ESDHC1_CLK     0x31ef
+                               VF610_PAD_PTA25__ESDHC1_CMD     0x31ef
+                               VF610_PAD_PTA26__ESDHC1_DAT0    0x31ef
+                               VF610_PAD_PTA27__ESDHC1_DAT1    0x31ef
+                               VF610_PAD_PTA28__ESDHC1_DATA2   0x31ef
+                               VF610_PAD_PTA29__ESDHC1_DAT3    0x31ef
+                               VF610_PAD_PTB20__GPIO_42        0x219d
+                       >;
+               };
+
+               pinctrl_fec1: fec1grp {
+                       fsl,pins = <
+                               VF610_PAD_PTC9__ENET_RMII1_MDC          0x30d2
+                               VF610_PAD_PTC10__ENET_RMII1_MDIO        0x30d3
+                               VF610_PAD_PTC11__ENET_RMII1_CRS         0x30d1
+                               VF610_PAD_PTC12__ENET_RMII_RXD1         0x30d1
+                               VF610_PAD_PTC13__ENET_RMII1_RXD0        0x30d1
+                               VF610_PAD_PTC14__ENET_RMII1_RXER        0x30d1
+                               VF610_PAD_PTC15__ENET_RMII1_TXD1        0x30d2
+                               VF610_PAD_PTC16__ENET_RMII1_TXD0        0x30d2
+                               VF610_PAD_PTC17__ENET_RMII1_TXEN        0x30d2
+                       >;
+               };
+
+               pinctrl_uart0: uart0grp {
+                       fsl,pins = <
+                               VF610_PAD_PTB10__UART0_TX               0x21a2
+                               VF610_PAD_PTB11__UART0_RX               0x21a1
+                       >;
+               };
+
+               pinctrl_uart1: uart1grp {
+                       fsl,pins = <
+                               VF610_PAD_PTB4__UART1_TX                0x21a2
+                               VF610_PAD_PTB5__UART1_RX                0x21a1
+                       >;
+               };
+
+               pinctrl_uart2: uart2grp {
+                       fsl,pins = <
+                               VF610_PAD_PTD0__UART2_TX                0x21a2
+                               VF610_PAD_PTD1__UART2_RX                0x21a1
+                               VF610_PAD_PTD2__UART2_RTS               0x21a2
+                               VF610_PAD_PTD3__UART2_CTS               0x21a1
+                       >;
+               };
+       };
+};
index e4bffbae515f5e7317f3f0da259396bd91750002..189b6975fe7d99eaca1941bf1e5725a353fbd52c 100644 (file)
                                VF610_PAD_PTB1__FTM0_CH1                0x1582
                                VF610_PAD_PTB2__FTM0_CH2                0x1582
                                VF610_PAD_PTB3__FTM0_CH3                0x1582
-                               VF610_PAD_PTB6__FTM0_CH6                0x1582
-                               VF610_PAD_PTB7__FTM0_CH7                0x1582
                        >;
                };
 
                                VF610_PAD_PTB5__UART1_RX                0x21a1
                        >;
                };
+
+               pinctrl_uart2: uart2grp {
+                       fsl,pins = <
+                               VF610_PAD_PTB6__UART2_TX                0x21a2
+                               VF610_PAD_PTB7__UART2_RX                0x21a1
+                       >;
+               };
        };
 };
 
        pinctrl-0 = <&pinctrl_uart1>;
        status = "okay";
 };
+
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart2>;
+       status = "okay";
+};
+
+&usbdev0 {
+       disable-over-current;
+       status = "okay";
+};
+
+&usbh1 {
+       disable-over-current;
+       status = "okay";
+};
index 583dd363c9dc4e3c78a5f0c4a16bf20450998249..4d2ec32de96f408f5e7b9b6c383cbde06fe566a5 100644 (file)
@@ -27,6 +27,8 @@
                gpio2 = &gpio3;
                gpio3 = &gpio4;
                gpio4 = &gpio5;
+               usbphy0 = &usbphy0;
+               usbphy1 = &usbphy1;
        };
 
        cpus {
                                gpio-ranges = <&iomuxc 0 128 7>;
                        };
 
-                       anatop@40050000 {
-                               compatible = "fsl,vf610-anatop";
-                               reg = <0x40050000 0x1000>;
+                       anatop: anatop@40050000 {
+                               compatible = "fsl,vf610-anatop", "syscon";
+                               reg = <0x40050000 0x400>;
+                       };
+
+                       usbphy0: usbphy@40050800 {
+                               compatible = "fsl,vf610-usbphy";
+                               reg = <0x40050800 0x400>;
+                               interrupts = <0 50 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&clks VF610_CLK_USBPHY0>;
+                               fsl,anatop = <&anatop>;
+                       };
+
+                       usbphy1: usbphy@40050c00 {
+                               compatible = "fsl,vf610-usbphy";
+                               reg = <0x40050c00 0x400>;
+                               interrupts = <0 51 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&clks VF610_CLK_USBPHY1>;
+                               fsl,anatop = <&anatop>;
                        };
 
                        i2c0: i2c@40066000 {
                                reg = <0x4006b000 0x1000>;
                                #clock-cells = <1>;
                        };
+
+                       usbdev0: usb@40034000 {
+                               compatible = "fsl,vf610-usb", "fsl,imx27-usb";
+                               reg = <0x40034000 0x800>;
+                               interrupts = <0 75 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&clks VF610_CLK_USBC0>;
+                               fsl,usbphy = <&usbphy0>;
+                               fsl,usbmisc = <&usbmisc0 0>;
+                               dr_mode = "peripheral";
+                               status = "disabled";
+                       };
+
+                       usbmisc0: usb@40034800 {
+                               #index-cells = <1>;
+                               compatible = "fsl,vf610-usbmisc";
+                               reg = <0x40034800 0x200>;
+                               clocks = <&clks VF610_CLK_USBC0>;
+                       };
                };
 
                aips1: aips-bus@40080000 {
                                status = "disabled";
                        };
 
+                       usbh1: usb@400b4000 {
+                               compatible = "fsl,vf610-usb", "fsl,imx27-usb";
+                               reg = <0x400b4000 0x800>;
+                               interrupts = <0 76 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&clks VF610_CLK_USBC1>;
+                               fsl,usbphy = <&usbphy1>;
+                               fsl,usbmisc = <&usbmisc1 0>;
+                               dr_mode = "host";
+                               status = "disabled";
+                       };
+
+                       usbmisc1: usb@400b4800 {
+                               #index-cells = <1>;
+                               compatible = "fsl,vf610-usbmisc";
+                               reg = <0x400b4800 0x200>;
+                               clocks = <&clks VF610_CLK_USBC1>;
+                       };
+
                        ftm: ftm@400b8000 {
                                compatible = "fsl,ftm-timer";
                                reg = <0x400b8000 0x1000 0x400b9000 0x1000>;
index 587cadcf7001ad7854fd3e9a07c5c5da0c8937e6..24036c440440c0f13cbcbc54ac0c034dcc5653cc 100644 (file)
                        interrupts = <0 22 4>;
                        clocks = <&clkc 30>, <&clkc 30>, <&clkc 13>;
                        clock-names = "pclk", "hclk", "tx_clk";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
                };
 
                gem1: ethernet@e000c000 {
                        interrupts = <0 45 4>;
                        clocks = <&clkc 31>, <&clkc 31>, <&clkc 14>;
                        clock-names = "pclk", "hclk", "tx_clk";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
                };
 
                sdhci0: sdhci@e0100000 {
                        interrupt-parent = <&intc>;
                        interrupts = <0 24 4>;
                        reg = <0xe0100000 0x1000>;
-               } ;
+               };
 
                sdhci1: sdhci@e0101000 {
                        compatible = "arasan,sdhci-8.9a";
                        interrupt-parent = <&intc>;
                        interrupts = <0 47 4>;
                        reg = <0xe0101000 0x1000>;
-               } ;
+               };
 
                slcr: slcr@f8000000 {
                        #address-cells = <1>;
                        compatible = "arm,pl330", "arm,primecell";
                        reg = <0xf8003000 0x1000>;
                        interrupt-parent = <&intc>;
+                       interrupt-names = "abort", "dma0", "dma1", "dma2", "dma3",
+                               "dma4", "dma5", "dma6", "dma7";
                        interrupts = <0 13 4>,
                                     <0 14 4>, <0 15 4>,
                                     <0 16 4>, <0 17 4>,
                devcfg: devcfg@f8007000 {
                        compatible = "xlnx,zynq-devcfg-1.0";
                        reg = <0xf8007000 0x100>;
-               } ;
+               };
 
                global_timer: timer@f8f00200 {
                        compatible = "arm,cortex-a9-global-timer";
                        compatible = "arm,cortex-a9-twd-timer";
                        reg = <0xf8f00600 0x20>;
                        clocks = <&clkc 4>;
-               } ;
+               };
        };
 };
index 41afd9da6876329811454ae9bb466ef6aa27af5a..e1f51ca127fe835664f0609b19a1ef428de62ca8 100644 (file)
@@ -25,7 +25,7 @@
 
        memory {
                device_type = "memory";
-               reg = <0 0x40000000>;
+               reg = <0x0 0x40000000>;
        };
 
        chosen {
@@ -38,8 +38,6 @@
        status = "okay";
        phy-mode = "rgmii-id";
        phy-handle = <&ethernet_phy>;
-       #address-cells = <1>;
-       #size-cells = <0>;
 
        ethernet_phy: ethernet-phy@0 {
                /* Marvell 88E1318 */
 
 &i2c0 {
        status = "okay";
+
+       isl9305: isl9305@68 {
+               compatible = "isl,isl9305";
+               reg = <0x68>;
+
+               regulators {
+                       dcd1 {
+                               regulator-name = "VDD_DSP";
+                               regulator-always-on;
+                       };
+                       dcd2 {
+                               regulator-name = "1P35V";
+                               regulator-always-on;
+                       };
+                       ldo1 {
+                               regulator-name = "VDD_ADJ";
+                       };
+                       ldo2 {
+                               regulator-name = "VDD_GPIO";
+                               regulator-always-on;
+                       };
+               };
+       };
 };
 
 &sdhci1 {
index 835c3089c61cb6d55e6fadc93795d224ec1bec00..94e2cda6f9b6f8bbf5188e38b9878ad1d22da85c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright (C) 2011 Xilinx
+ *  Copyright (C) 2011 - 2014 Xilinx
  *  Copyright (C) 2012 National Instruments Corp.
  *
  * This software is licensed under the terms of the GNU General Public
                bootargs = "console=ttyPS0,115200 earlyprintk";
        };
 
+       leds {
+               compatible = "gpio-leds";
+
+               ds23 {
+                       label = "ds23";
+                       gpios = <&gpio0 10 0>;
+                       linux,default-trigger = "heartbeat";
+               };
+       };
 };
 
 &can0 {
 
 &gem0 {
        status = "okay";
-       phy-mode = "rgmii";
+       phy-mode = "rgmii-id";
+       phy-handle = <&ethernet_phy>;
+
+       ethernet_phy: ethernet-phy@7 {
+               reg = <7>;
+       };
 };
 
 &i2c0 {
index 4cc9913078cd6427ab69d206a21ba8d44c5c431d..a8bbdfbc7093caad3cdf0ace86052d29a38a0150 100644 (file)
@@ -1,7 +1,6 @@
 /*
- *  Copyright (C) 2011 Xilinx
+ *  Copyright (C) 2011 - 2014 Xilinx
  *  Copyright (C) 2012 National Instruments Corp.
- *  Copyright (C) 2013 Xilinx
  *
  * This software is licensed under the terms of the GNU General Public
  * License version 2, as published by the Free Software Foundation, and
@@ -21,7 +20,7 @@
 
        memory {
                device_type = "memory";
-               reg = <0 0x40000000>;
+               reg = <0x0 0x40000000>;
        };
 
        chosen {
 
 &gem0 {
        status = "okay";
-       phy-mode = "rgmii";
+       phy-mode = "rgmii-id";
+       phy-handle = <&ethernet_phy>;
+
+       ethernet_phy: ethernet-phy@7 {
+               reg = <7>;
+       };
 };
 
 &i2c0 {
index 82d7ef1a9a9c6c5be0298dc38652d8dfea8b4c9c..697779a353edcda3852fbd381ab2efdb6b40779b 100644 (file)
@@ -1,7 +1,6 @@
 /*
- *  Copyright (C) 2011 Xilinx
+ *  Copyright (C) 2011 - 2014 Xilinx
  *  Copyright (C) 2012 National Instruments Corp.
- *  Copyright (C) 2013 Xilinx
  *
  * This software is licensed under the terms of the GNU General Public
  * License version 2, as published by the Free Software Foundation, and
 
 / {
        model = "Zynq Zed Development Board";
-       compatible = "xlnx,zynq-7000";
+       compatible = "xlnx,zynq-zed", "xlnx,zynq-7000";
 
        memory {
                device_type = "memory";
-               reg = <0 0x20000000>;
+               reg = <0x0 0x20000000>;
        };
 
        chosen {
 
 &gem0 {
        status = "okay";
-       phy-mode = "rgmii";
+       phy-mode = "rgmii-id";
+       phy-handle = <&ethernet_phy>;
+
+       ethernet_phy: ethernet-phy@0 {
+               reg = <0>;
+       };
 };
 
 &sdhci0 {
index 4cc84e8a32899dad46be92f22f997bd31a20e856..6a064e53f4d6e6f211ba48bb683344eda7aecf19 100644 (file)
@@ -35,30 +35,8 @@ static void __init sama5_dt_timer_init(void)
        at91sam926x_pit_init();
 }
 
-static int ksz9021rn_phy_fixup(struct phy_device *phy)
-{
-       int value;
-
-       /* Set delay values */
-       value = MICREL_KSZ9021_RGMII_CLK_CTRL_PAD_SCEW | 0x8000;
-       phy_write(phy, MICREL_KSZ9021_EXTREG_CTRL, value);
-       value = 0xF2F4;
-       phy_write(phy, MICREL_KSZ9021_EXTREG_DATA_WRITE, value);
-       value = MICREL_KSZ9021_RGMII_RX_DATA_PAD_SCEW | 0x8000;
-       phy_write(phy, MICREL_KSZ9021_EXTREG_CTRL, value);
-       value = 0x2222;
-       phy_write(phy, MICREL_KSZ9021_EXTREG_DATA_WRITE, value);
-
-       return 0;
-}
-
 static void __init sama5_dt_device_init(void)
 {
-       if (of_machine_is_compatible("atmel,sama5d3xcm") &&
-           IS_ENABLED(CONFIG_PHYLIB))
-               phy_register_fixup_for_uid(PHY_ID_KSZ9021, MICREL_PHY_ID_MASK,
-                       ksz9021rn_phy_fixup);
-
        of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
index ed1928740b5f5d1817d5c214ca31486257a04e94..f703d82f08a80d22adc3e8a1f45acbd7fbfa846c 100644 (file)
@@ -46,6 +46,7 @@ static struct of_dev_auxdata da850_auxdata_lookup[] __initdata = {
        OF_DEV_AUXDATA("ti,davinci_mdio", 0x01e24000, "davinci_mdio.0", NULL),
        OF_DEV_AUXDATA("ti,davinci-dm6467-emac", 0x01e20000, "davinci_emac.1",
                       NULL),
+       OF_DEV_AUXDATA("ti,da830-mcasp-audio", 0x01d00000, "davinci-mcasp.0", NULL),
        {}
 };
 
index 0b311d51425f5910460fdbef51a3f9c36ae46544..69166eed5dba6e7c7f5d77022be5dc8322e5e656 100644 (file)
@@ -241,6 +241,8 @@ MACHINE_END
 
 #ifdef CONFIG_SOC_DRA7XX
 static const char *const dra74x_boards_compat[] __initconst = {
+       "ti,am5728",
+       "ti,am5726",
        "ti,dra742",
        "ti,dra7",
        NULL,
@@ -260,6 +262,8 @@ DT_MACHINE_START(DRA74X_DT, "Generic DRA74X (Flattened Device Tree)")
 MACHINE_END
 
 static const char *const dra72x_boards_compat[] __initconst = {
+       "ti,am5718",
+       "ti,am5716",
        "ti,dra722",
        NULL,
 };
index 0a5e6e053b8c1fbd3b9f072fb77f2d1f9dada3ad..c8ac72604207c2202a782e30e7fa1e6d388f9d18 100644 (file)
@@ -252,6 +252,14 @@ static void __init nokia_n900_legacy_init(void)
                platform_device_register(&omap3_rom_rng_device);
 
        }
+
+       /* Only on some development boards */
+       gpio_request_one(164, GPIOF_OUT_INIT_LOW, "smc91x reset");
+}
+
+static void __init omap3_tao3530_legacy_init(void)
+{
+       hsmmc2_internal_input_clk();
 }
 #endif /* CONFIG_ARCH_OMAP3 */
 
@@ -387,6 +395,7 @@ static struct pdata_init pdata_quirks[] __initdata = {
        { "ti,omap3-evm-37xx", omap3_evm_legacy_init, },
        { "ti,omap3-zoom3", omap3_zoom_legacy_init, },
        { "ti,am3517-evm", am3517_evm_legacy_init, },
+       { "technexion,omap3-tao3530", omap3_tao3530_legacy_init, },
 #endif
 #ifdef CONFIG_ARCH_OMAP4
        { "ti,omap4-sdp", omap4_sdp_legacy_init, },
index c437a9941726369f45df1693ed125f8d6d7b3f7f..6d8bbf7d39d8d48289a90b646e3181c97938e80b 100644 (file)
@@ -18,6 +18,8 @@ static const char * const qcom_dt_match[] __initconst = {
        "qcom,apq8064",
        "qcom,apq8074-dragonboard",
        "qcom,apq8084",
+       "qcom,ipq8062",
+       "qcom,ipq8064",
        "qcom,msm8660-surf",
        "qcom,msm8960-cdp",
        NULL
index d1686696ca41d00b3292d1d0bc70a7327acd73df..ac5803cac98d1d0c9f23562a711b3b6f16db6374 100644 (file)
@@ -4,6 +4,7 @@ config ARCH_ROCKCHIP
        select PINCTRL_ROCKCHIP
        select ARCH_HAS_RESET_CONTROLLER
        select ARCH_REQUIRE_GPIOLIB
+       select ARM_AMBA
        select ARM_GIC
        select CACHE_L2X0
        select HAVE_ARM_ARCH_TIMER
index caf8dcffd0ad403d6b239f9f0c3442ac1651aa2c..b4d920c1ead1f2d92ce52433bc9c3a17b73fca7d 100644 (file)
@@ -296,73 +296,73 @@ static struct resource da9055_ld05_6_resource = {
 
 static const struct mfd_cell da9055_devs[] = {
        {
-               .of_compatible = "dialog,da9055-gpio",
+               .of_compatible = "dlg,da9055-gpio",
                .name = "da9055-gpio",
        },
        {
-               .of_compatible = "dialog,da9055-regulator",
+               .of_compatible = "dlg,da9055-regulator",
                .name = "da9055-regulator",
                .id = 1,
        },
        {
-               .of_compatible = "dialog,da9055-regulator",
+               .of_compatible = "dlg,da9055-regulator",
                .name = "da9055-regulator",
                .id = 2,
        },
        {
-               .of_compatible = "dialog,da9055-regulator",
+               .of_compatible = "dlg,da9055-regulator",
                .name = "da9055-regulator",
                .id = 3,
        },
        {
-               .of_compatible = "dialog,da9055-regulator",
+               .of_compatible = "dlg,da9055-regulator",
                .name = "da9055-regulator",
                .id = 4,
        },
        {
-               .of_compatible = "dialog,da9055-regulator",
+               .of_compatible = "dlg,da9055-regulator",
                .name = "da9055-regulator",
                .id = 5,
        },
        {
-               .of_compatible = "dialog,da9055-regulator",
+               .of_compatible = "dlg,da9055-regulator",
                .name = "da9055-regulator",
                .id = 6,
        },
        {
-               .of_compatible = "dialog,da9055-regulator",
+               .of_compatible = "dlg,da9055-regulator",
                .name = "da9055-regulator",
                .id = 7,
                .resources = &da9055_ld05_6_resource,
                .num_resources = 1,
        },
        {
-               .of_compatible = "dialog,da9055-regulator",
+               .of_compatible = "dlg,da9055-regulator",
                .name = "da9055-regulator",
                .resources = &da9055_ld05_6_resource,
                .num_resources = 1,
                .id = 8,
        },
        {
-               .of_compatible = "dialog,da9055-onkey",
+               .of_compatible = "dlg,da9055-onkey",
                .name = "da9055-onkey",
                .resources = &da9055_onkey_resource,
                .num_resources = 1,
        },
        {
-               .of_compatible = "dialog,da9055-rtc",
+               .of_compatible = "dlg,da9055-rtc",
                .name = "da9055-rtc",
                .resources = da9055_rtc_resource,
                .num_resources = ARRAY_SIZE(da9055_rtc_resource),
        },
        {
-               .of_compatible = "dialog,da9055-hwmon",
+               .of_compatible = "dlg,da9055-hwmon",
                .name = "da9055-hwmon",
                .resources = &da9055_hwmon_resource,
                .num_resources = 1,
        },
        {
-               .of_compatible = "dialog,da9055-watchdog",
+               .of_compatible = "dlg,da9055-watchdog",
                .name = "da9055-watchdog",
        },
 };
index f929a79e69987fd44a0d8bb8c2f91b40ccb3f4f2..8ea7ab0346ad9c28e248ad648401aff57a8c94bc 100644 (file)
@@ -26,6 +26,7 @@
 #define R8A7790_CLK_MSIOF0             0
 
 /* MSTP1 */
+#define R8A7790_CLK_JPU                6
 #define R8A7790_CLK_TMU1               11
 #define R8A7790_CLK_TMU3               21
 #define R8A7790_CLK_TMU2               22
index f0d4d104916251d794943e60a659c0f30d8ab2eb..58c3f49d068c0e75887aa468f038d1d5fa5dd730 100644 (file)
@@ -25,6 +25,7 @@
 #define R8A7791_CLK_MSIOF0             0
 
 /* MSTP1 */
+#define R8A7791_CLK_JPU                6
 #define R8A7791_CLK_TMU1               11
 #define R8A7791_CLK_TMU3               21
 #define R8A7791_CLK_TMU2               22
diff --git a/include/dt-bindings/clock/r8a7794-clock.h b/include/dt-bindings/clock/r8a7794-clock.h
new file mode 100644 (file)
index 0000000..9ac1043
--- /dev/null
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 2014 Renesas Electronics Corporation
+ * Copyright 2013 Ideas On Board SPRL
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#ifndef __DT_BINDINGS_CLOCK_R8A7794_H__
+#define __DT_BINDINGS_CLOCK_R8A7794_H__
+
+/* CPG */
+#define R8A7794_CLK_MAIN               0
+#define R8A7794_CLK_PLL0               1
+#define R8A7794_CLK_PLL1               2
+#define R8A7794_CLK_PLL3               3
+#define R8A7794_CLK_LB                 4
+#define R8A7794_CLK_QSPI               5
+#define R8A7794_CLK_SDH                        6
+#define R8A7794_CLK_SD0                        7
+#define R8A7794_CLK_Z                  8
+
+/* MSTP0 */
+#define R8A7794_CLK_MSIOF0             0
+
+/* MSTP1 */
+#define R8A7794_CLK_TMU1               11
+#define R8A7794_CLK_TMU3               21
+#define R8A7794_CLK_TMU2               22
+#define R8A7794_CLK_CMT0               24
+#define R8A7794_CLK_TMU0               25
+
+/* MSTP2 */
+#define R8A7794_CLK_SCIFA2             2
+#define R8A7794_CLK_SCIFA1             3
+#define R8A7794_CLK_SCIFA0             4
+#define R8A7794_CLK_MSIOF2             5
+#define R8A7794_CLK_SCIFB0             6
+#define R8A7794_CLK_SCIFB1             7
+#define R8A7794_CLK_MSIOF1             8
+#define R8A7794_CLK_SCIFB2             16
+
+/* MSTP3 */
+#define R8A7794_CLK_CMT1               29
+
+/* MSTP5 */
+#define R8A7794_CLK_THERMAL            22
+#define R8A7794_CLK_PWM                        23
+
+/* MSTP7 */
+#define R8A7794_CLK_HSCIF2             13
+#define R8A7794_CLK_SCIF5              14
+#define R8A7794_CLK_SCIF4              15
+#define R8A7794_CLK_HSCIF1             16
+#define R8A7794_CLK_HSCIF0             17
+#define R8A7794_CLK_SCIF3              18
+#define R8A7794_CLK_SCIF2              19
+#define R8A7794_CLK_SCIF1              20
+#define R8A7794_CLK_SCIF0              21
+
+/* MSTP8 */
+#define R8A7794_CLK_ETHER              13
+
+/* MSTP9 */
+#define R8A7794_CLK_GPIO6              5
+#define R8A7794_CLK_GPIO5              7
+#define R8A7794_CLK_GPIO4              8
+#define R8A7794_CLK_GPIO3              9
+#define R8A7794_CLK_GPIO2              10
+#define R8A7794_CLK_GPIO1              11
+#define R8A7794_CLK_GPIO0              12
+
+/* MSTP11 */
+#define R8A7794_CLK_SCIFA3             6
+#define R8A7794_CLK_SCIFA4             7
+#define R8A7794_CLK_SCIFA5             8
+
+#endif /* __DT_BINDINGS_CLOCK_R8A7794_H__ */