projects/linux·commit cb7dee8d

Merge branch 'next/dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc

cb7dee8d · Linus Torvalds <[email protected]> · 2011-07-29 23:32:02 -07:00

* 'next/dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc: (21 commits)
  arm/dt: tegra devicetree support
  arm/versatile: Add device tree support
  dt/irq: add irq_domain_generate_simple() helper
  irq: add irq_domain translation infrastructure
  dmaengine: imx-sdma: add device tree probe support
  dmaengine: imx-sdma: sdma_get_firmware does not need to copy fw_name
  dmaengine: imx-sdma: use platform_device_id to identify sdma version
  mmc: sdhci-esdhc-imx: add device tree probe support
  mmc: sdhci-pltfm: dt device does not pass parent to sdhci_alloc_host
  mmc: sdhci-esdhc-imx: get rid of the uses of cpu_is_mx()
  mmc: sdhci-esdhc-imx: do not reference platform data after probe
  mmc: sdhci-esdhc-imx: extend card_detect and write_protect support for mx5
  net/fec: add device tree probe support
  net: ibm_newemac: convert it to use of_get_phy_mode
  dt/net: add helper function of_get_phy_mode
  net/fec: gasket needs to be enabled for some i.mx
  serial/imx: add device tree probe support
  serial/imx: get rid of the uses of cpu_is_mx1()
  arm/dt: Add dtb make rule
  arm/dt: Add skeleton dtsi file
  ...
Commit
cb7dee8d22f3e9320424e769d860fbd9712a0666
Parents
49267fc8 · 6124a4e4

Merge commit. Changes below are compared with the first parent: 49267fc8.

Changes

72 files changed · +1963 −281

FileStatusAddDelContent
Documentation/devicetree/bindings/arm/arm-boardsadded+20−0View file
Documentation/devicetree/bindings/dma/fsl-imx-sdma.txtadded+17−0View file
Documentation/devicetree/bindings/i2c/arm-versatile.txtadded+10−0View file
Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.txtadded+34−0View file
Documentation/devicetree/bindings/mtd/arm-versatile.txtadded+8−0View file
Documentation/devicetree/bindings/net/fsl-fec.txtadded+24−0View file
Documentation/devicetree/bindings/net/smsc-lan91c111.txtadded+10−0View file
Documentation/devicetree/bindings/tty/serial/fsl-imx-uart.txtadded+19−0View file
arch/arm/Kconfigmodified+1−0View file
arch/arm/Makefilemodified+7−0View file
arch/arm/boot/Makefilemodified+6−0View file
arch/arm/boot/dts/skeleton.dtsiadded+13−0View file
arch/arm/boot/dts/tegra-harmony.dtsadded+70−0View file
arch/arm/boot/dts/tegra-seaboard.dtsadded+28−0View file
arch/arm/boot/dts/tegra20.dtsiadded+139−0View file
arch/arm/boot/dts/versatile-ab.dtsadded+192−0View file
arch/arm/boot/dts/versatile-pb.dtsadded+48−0View file
arch/arm/include/asm/mach/arch.hmodified+7−0View file
arch/arm/include/asm/prom.hmodified+0−5View file
arch/arm/kernel/devtree.cmodified+0−14View file
arch/arm/mach-imx/clock-imx1.cmodified+3−3View file
arch/arm/mach-imx/clock-imx21.cmodified+4−4View file
arch/arm/mach-imx/clock-imx25.cmodified+11−9View file
arch/arm/mach-imx/clock-imx27.cmodified+8−7View file
arch/arm/mach-imx/clock-imx31.cmodified+7−6View file
arch/arm/mach-imx/clock-imx35.cmodified+10−8View file
arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.cmodified+2−1View file
arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.cmodified+2−1View file
arch/arm/mach-imx/mach-mx25_3ds.cmodified+2−0View file
arch/arm/mach-imx/mach-pcm043.cmodified+2−0View file
arch/arm/mach-imx/mm-imx25.cmodified+2−2View file
arch/arm/mach-imx/mm-imx31.cmodified+1−2View file
arch/arm/mach-imx/mm-imx35.cmodified+1−2View file
arch/arm/mach-mx5/board-mx51_babbage.cmodified+8−6View file
arch/arm/mach-mx5/board-mx53_loco.cmodified+4−0View file
arch/arm/mach-mx5/clock-mx51-mx53.cmodified+26−20View file
arch/arm/mach-mx5/mm.cmodified+4−4View file
arch/arm/mach-mx5/mx51_efika.cmodified+2−2View file
arch/arm/mach-tegra/Kconfigmodified+6−0View file
arch/arm/mach-tegra/Makefilemodified+3−0View file
arch/arm/mach-tegra/Makefile.bootmodified+3−0View file
arch/arm/mach-tegra/board-dt.cadded+119−0View file
arch/arm/mach-versatile/Kconfigmodified+8−0View file
arch/arm/mach-versatile/Makefilemodified+1−0View file
arch/arm/mach-versatile/core.cmodified+62−0View file
arch/arm/mach-versatile/core.hmodified+4−0View file
arch/arm/mach-versatile/versatile_dt.cadded+51−0View file
arch/arm/plat-mxc/devices/platform-fec.cmodified+13−8View file
arch/arm/plat-mxc/devices/platform-imx-dma.cmodified+2−2View file
arch/arm/plat-mxc/devices/platform-imx-uart.cmodified+4−3View file
arch/arm/plat-mxc/devices/platform-sdhci-esdhc-imx.cmodified+21−8View file
arch/arm/plat-mxc/include/mach/devices-common.hmodified+3−1View file
arch/arm/plat-mxc/include/mach/dma.hmodified+2−1View file
arch/arm/plat-mxc/include/mach/esdhc.hmodified+21−4View file
arch/arm/plat-mxc/include/mach/sdma.hmodified+0−2View file
drivers/dma/imx-sdma.cmodified+71−23View file
drivers/mmc/host/sdhci-esdhc-imx.cmodified+205−56View file
drivers/mmc/host/sdhci-pltfm.cmodified+2−1View file
drivers/net/fec.cmodified+116−9View file
drivers/net/ibm_newemac/core.cmodified+4−29View file
drivers/net/ibm_newemac/emac.hmodified+10−9View file
drivers/net/ibm_newemac/phy.cmodified+5−2View file
drivers/of/of_net.cmodified+45−0View file
drivers/tty/serial/imx.cmodified+140−26View file
include/linux/irq.hmodified+6−0View file
include/linux/irqdomain.hadded+91−0View file
include/linux/of_irq.hmodified+4−0View file
include/linux/of_net.hmodified+1−0View file
include/linux/phy.hmodified+3−1View file
kernel/irq/Kconfigmodified+4−0View file
kernel/irq/Makefilemodified+1−0View file
kernel/irq/irqdomain.cadded+180−0View file

Only the first 600 diff lines are shown. Download the complete patch.

Documentation/devicetree/bindings/arm/arm-boards

View file
diff --git a/Documentation/devicetree/bindings/arm/arm-boards b/Documentation/devicetree/bindings/arm/arm-boards
new file mode 100644
index 0000000..91f2614
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/arm-boards
@@ -0,0 +1,20 @@
+ARM Versatile Application and Platform Baseboards
+-------------------------------------------------
+ARM's development hardware platform with connectors for customizable
+core tiles. The hardware configuration of the Versatile boards is
+highly customizable.
+
+Required properties (in root node):
+ compatible = "arm,versatile-ab"; /* Application baseboard */
+ compatible = "arm,versatile-pb"; /* Platform baseboard */
+
+Interrupt controllers:
+- VIC required properties:
+ compatible = "arm,versatile-vic";
+ interrupt-controller;
+ #interrupt-cells = <1>;
+
+- SIC required properties:
+ compatible = "arm,versatile-sic";
+ interrupt-controller;
+ #interrupt-cells = <1>;

Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt

View file
diff --git a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
new file mode 100644
index 0000000..d1e3f44
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
@@ -0,0 +1,17 @@
+* Freescale Smart Direct Memory Access (SDMA) Controller for i.MX
+
+Required properties:
+- compatible : Should be "fsl,<chip>-sdma"
+- reg : Should contain SDMA registers location and length
+- interrupts : Should contain SDMA interrupt
+- fsl,sdma-ram-script-name : Should contain the full path of SDMA RAM
+ scripts firmware
+
+Examples:
+
+sdma@83fb0000 {
+ compatible = "fsl,imx51-sdma", "fsl,imx35-sdma";
+ reg = <0x83fb0000 0x4000>;
+ interrupts = <6>;
+ fsl,sdma-ram-script-name = "sdma-imx51.bin";
+};

Documentation/devicetree/bindings/i2c/arm-versatile.txt

View file
diff --git a/Documentation/devicetree/bindings/i2c/arm-versatile.txt b/Documentation/devicetree/bindings/i2c/arm-versatile.txt
new file mode 100644
index 0000000..361d31c
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/arm-versatile.txt
@@ -0,0 +1,10 @@
+i2c Controller on ARM Versatile platform:
+
+Required properties:
+- compatible : Must be "arm,versatile-i2c";
+- reg
+- #address-cells = <1>;
+- #size-cells = <0>;
+
+Optional properties:
+- Child nodes conforming to i2c bus binding

Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.txt

View file
diff --git a/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.txt b/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.txt
new file mode 100644
index 0000000..ab22fe6
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.txt
@@ -0,0 +1,34 @@
+* Freescale Enhanced Secure Digital Host Controller (eSDHC) for i.MX
+
+The Enhanced Secure Digital Host Controller on Freescale i.MX family
+provides an interface for MMC, SD, and SDIO types of memory cards.
+
+Required properties:
+- compatible : Should be "fsl,<chip>-esdhc"
+- reg : Should contain eSDHC registers location and length
+- interrupts : Should contain eSDHC interrupt
+
+Optional properties:
+- fsl,card-wired : Indicate the card is wired to host permanently
+- fsl,cd-internal : Indicate to use controller internal card detection
+- fsl,wp-internal : Indicate to use controller internal write protection
+- cd-gpios : Specify GPIOs for card detection
+- wp-gpios : Specify GPIOs for write protection
+
+Examples:
+
+esdhc@70004000 {
+ compatible = "fsl,imx51-esdhc";
+ reg = <0x70004000 0x4000>;
+ interrupts = <1>;
+ fsl,cd-internal;
+ fsl,wp-internal;
+};
+
+esdhc@70008000 {
+ compatible = "fsl,imx51-esdhc";
+ reg = <0x70008000 0x4000>;
+ interrupts = <2>;
+ cd-gpios = <&gpio0 6 0>; /* GPIO1_6 */
+ wp-gpios = <&gpio0 5 0>; /* GPIO1_5 */
+};

Documentation/devicetree/bindings/mtd/arm-versatile.txt

View file
diff --git a/Documentation/devicetree/bindings/mtd/arm-versatile.txt b/Documentation/devicetree/bindings/mtd/arm-versatile.txt
new file mode 100644
index 0000000..476845d
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/arm-versatile.txt
@@ -0,0 +1,8 @@
+Flash device on ARM Versatile board
+
+Required properties:
+- compatible : must be "arm,versatile-flash";
+- bank-width : width in bytes of flash interface.
+
+Optional properties:
+- Subnode partition map from mtd flash binding

Documentation/devicetree/bindings/net/fsl-fec.txt

View file
diff --git a/Documentation/devicetree/bindings/net/fsl-fec.txt b/Documentation/devicetree/bindings/net/fsl-fec.txt
new file mode 100644
index 0000000..de43951
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/fsl-fec.txt
@@ -0,0 +1,24 @@
+* Freescale Fast Ethernet Controller (FEC)
+
+Required properties:
+- compatible : Should be "fsl,<soc>-fec"
+- reg : Address and length of the register set for the device
+- interrupts : Should contain fec interrupt
+- phy-mode : String, operation mode of the PHY interface.
+ Supported values are: "mii", "gmii", "sgmii", "tbi", "rmii",
+ "rgmii", "rgmii-id", "rgmii-rxid", "rgmii-txid", "rtbi", "smii".
+- phy-reset-gpios : Should specify the gpio for phy reset
+
+Optional properties:
+- local-mac-address : 6 bytes, mac address
+
+Example:
+
+fec@83fec000 {
+ compatible = "fsl,imx51-fec", "fsl,imx27-fec";
+ reg = <0x83fec000 0x4000>;
+ interrupts = <87>;
+ phy-mode = "mii";
+ phy-reset-gpios = <&gpio1 14 0>; /* GPIO2_14 */
+ local-mac-address = [00 04 9F 01 1B B9];
+};

Documentation/devicetree/bindings/net/smsc-lan91c111.txt

View file
diff --git a/Documentation/devicetree/bindings/net/smsc-lan91c111.txt b/Documentation/devicetree/bindings/net/smsc-lan91c111.txt
new file mode 100644
index 0000000..953049b
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/smsc-lan91c111.txt
@@ -0,0 +1,10 @@
+SMSC LAN91c111 Ethernet mac
+
+Required properties:
+- compatible = "smsc,lan91c111";
+- reg : physical address and size of registers
+- interrupts : interrupt connection
+
+Optional properties:
+- phy-device : phandle to Ethernet phy
+- local-mac-address : Ethernet mac address to use

Documentation/devicetree/bindings/tty/serial/fsl-imx-uart.txt

View file
diff --git a/Documentation/devicetree/bindings/tty/serial/fsl-imx-uart.txt b/Documentation/devicetree/bindings/tty/serial/fsl-imx-uart.txt
new file mode 100644
index 0000000..a9c0406
--- /dev/null
+++ b/Documentation/devicetree/bindings/tty/serial/fsl-imx-uart.txt
@@ -0,0 +1,19 @@
+* Freescale i.MX Universal Asynchronous Receiver/Transmitter (UART)
+
+Required properties:
+- compatible : Should be "fsl,<soc>-uart"
+- reg : Address and length of the register set for the device
+- interrupts : Should contain uart interrupt
+
+Optional properties:
+- fsl,uart-has-rtscts : Indicate the uart has rts and cts
+- fsl,irda-mode : Indicate the uart supports irda mode
+
+Example:
+
+uart@73fbc000 {
+ compatible = "fsl,imx51-uart", "fsl,imx21-uart";
+ reg = <0x73fbc000 0x4000>;
+ interrupts = <31>;
+ fsl,uart-has-rtscts;
+};

arch/arm/Kconfig

View file
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 09ebf0b..2c71a8f 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1716,6 +1716,7 @@ config USE_OF
bool "Flattened Device Tree support"
select OF
select OF_EARLY_FLATTREE
+ select IRQ_DOMAIN
help
Include support for flattened device tree machine descriptions.

arch/arm/Makefile

View file
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 3a4a04b..70c424e 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -282,6 +282,12 @@ zImage Image xipImage bootpImage uImage: vmlinux
zinstall uinstall install: vmlinux
$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $@
+%.dtb:
+ $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
+
+dtbs:
+ $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
+
# We use MRPROPER_FILES and CLEAN_FILES now
archclean:
$(Q)$(MAKE) $(clean)=$(boot)
@@ -298,6 +304,7 @@ define archhelp
echo ' uImage - U-Boot wrapped zImage'
echo ' bootpImage - Combined zImage and initial RAM disk'
echo ' (supply initrd image via make variable INITRD=<path>)'
+ echo ' dtbs - Build device tree blobs for enabled boards'
echo ' install - Install uncompressed kernel'
echo ' zinstall - Install compressed kernel'
echo ' uinstall - Install U-Boot wrapped compressed kernel'

arch/arm/boot/Makefile

View file
diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
index 9128fdd..a1edfd5 100644
--- a/arch/arm/boot/Makefile
+++ b/arch/arm/boot/Makefile
@@ -59,6 +59,12 @@ $(obj)/zImage: $(obj)/compressed/vmlinux FORCE
endif
+# Rule to build device tree blobs
+$(obj)/%.dtb: $(src)/dts/%.dts
+ $(call cmd,dtc)
+
+$(obj)/dtbs: $(addprefix $(obj)/, $(dtb-y))
+
quiet_cmd_uimage = UIMAGE $@
cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A arm -O linux -T kernel \
-C none -a $(LOADADDR) -e $(STARTADDR) \

arch/arm/boot/dts/skeleton.dtsi

View file
diff --git a/arch/arm/boot/dts/skeleton.dtsi b/arch/arm/boot/dts/skeleton.dtsi
new file mode 100644
index 0000000..b41d241
--- /dev/null
+++ b/arch/arm/boot/dts/skeleton.dtsi
@@ -0,0 +1,13 @@
+/*
+ * Skeleton device tree; the bare minimum needed to boot; just include and
+ * add a compatible value. The bootloader will typically populate the memory
+ * node.
+ */
+
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ chosen { };
+ aliases { };
+ memory { device_type = "memory"; reg = <0 0>; };
+};

arch/arm/boot/dts/tegra-harmony.dts

View file
diff --git a/arch/arm/boot/dts/tegra-harmony.dts b/arch/arm/boot/dts/tegra-harmony.dts
new file mode 100644
index 0000000..4c05334
--- /dev/null
+++ b/arch/arm/boot/dts/tegra-harmony.dts
@@ -0,0 +1,70 @@
+/dts-v1/;
+
+/memreserve/ 0x1c000000 0x04000000;
+/include/ "tegra20.dtsi"
+
+/ {
+ model = "NVIDIA Tegra2 Harmony evaluation board";
+ compatible = "nvidia,harmony", "nvidia,tegra20";
+
+ chosen {
+ bootargs = "vmalloc=192M video=tegrafb console=ttyS0,115200n8 root=/dev/mmcblk0p2 rw rootwait";
+ };
+
+ memory@0 {
+ reg = < 0x00000000 0x40000000 >;
+ };
+
+ i2c@7000c000 {
+ clock-frequency = <400000>;
+
+ codec: wm8903@1a {
+ compatible = "wlf,wm8903";
+ reg = <0x1a>;
+ interrupts = < 347 >;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ /* 0x8000 = Not configured */
+ gpio-cfg = < 0x8000 0x8000 0 0x8000 0x8000 >;
+ };
+ };
+
+ i2c@7000c400 {
+ clock-frequency = <400000>;
+ };
+
+ i2c@7000c500 {
+ clock-frequency = <400000>;
+ };
+
+ i2c@7000d000 {
+ clock-frequency = <400000>;
+ };
+
+ sound {
+ compatible = "nvidia,harmony-sound", "nvidia,tegra-wm8903";
+
+ spkr-en-gpios = <&codec 2 0>;
+ hp-det-gpios = <&gpio 178 0>;
+ int-mic-en-gpios = <&gpio 184 0>;
+ ext-mic-en-gpios = <&gpio 185 0>;
+ };
+
+ serial@70006300 {
+ clock-frequency = < 216000000 >;
+ };
+
+ sdhci@c8000200 {
+ gpios = <&gpio 69 0>, /* cd, gpio PI5 */
+ <&gpio 57 0>, /* wp, gpio PH1 */
+ <&gpio 155 0>; /* power, gpio PT3 */
+ };
+
+ sdhci@c8000600 {
+ gpios = <&gpio 58 0>, /* cd, gpio PH2 */
+ <&gpio 59 0>, /* wp, gpio PH3 */
+ <&gpio 70 0>; /* power, gpio PI6 */
+ };
+};

arch/arm/boot/dts/tegra-seaboard.dts

View file
diff --git a/arch/arm/boot/dts/tegra-seaboard.dts b/arch/arm/boot/dts/tegra-seaboard.dts
new file mode 100644
index 0000000..1940cae
--- /dev/null
+++ b/arch/arm/boot/dts/tegra-seaboard.dts
@@ -0,0 +1,28 @@
+/dts-v1/;
+
+/memreserve/ 0x1c000000 0x04000000;
+/include/ "tegra20.dtsi"
+
+/ {
+ model = "NVIDIA Seaboard";
+ compatible = "nvidia,seaboard", "nvidia,tegra20";
+
+ chosen {
+ bootargs = "vmalloc=192M video=tegrafb console=ttyS0,115200n8 root=/dev/mmcblk1p3 rw rootwait";
+ };
+
+ memory {
+ device_type = "memory";
+ reg = < 0x00000000 0x40000000 >;
+ };
+
+ serial@70006300 {
+ clock-frequency = < 216000000 >;
+ };
+
+ sdhci@c8000400 {
+ gpios = <&gpio 69 0>, /* cd, gpio PI5 */
+ <&gpio 57 0>, /* wp, gpio PH1 */
+ <&gpio 70 0>; /* power, gpio PI6 */
+ };
+};

arch/arm/boot/dts/tegra20.dtsi

View file
diff --git a/arch/arm/boot/dts/tegra20.dtsi b/arch/arm/boot/dts/tegra20.dtsi
new file mode 100644
index 0000000..5727595
--- /dev/null
+++ b/arch/arm/boot/dts/tegra20.dtsi
@@ -0,0 +1,139 @@
+/include/ "skeleton.dtsi"
+
+/ {
+ compatible = "nvidia,tegra20";
+ interrupt-parent = <&intc>;
+
+ intc: interrupt-controller@50041000 {
+ compatible = "nvidia,tegra20-gic";
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ reg = < 0x50041000 0x1000 >,
+ < 0x50040100 0x0100 >;
+ };
+
+ i2c@7000c000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "nvidia,tegra20-i2c";
+ reg = <0x7000C000 0x100>;
+ interrupts = < 70 >;
+ };
+
+ i2c@7000c400 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "nvidia,tegra20-i2c";
+ reg = <0x7000C400 0x100>;
+ interrupts = < 116 >;
+ };
+
+ i2c@7000c500 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "nvidia,tegra20-i2c";
+ reg = <0x7000C500 0x100>;
+ interrupts = < 124 >;
+ };
+
+ i2c@7000d000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "nvidia,tegra20-i2c";
+ reg = <0x7000D000 0x200>;
+ interrupts = < 85 >;
+ };
+
+ i2s@70002800 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "nvidia,tegra20-i2s";
+ reg = <0x70002800 0x200>;
+ interrupts = < 45 >;
+ dma-channel = < 2 >;
+ };
+
+ i2s@70002a00 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "nvidia,tegra20-i2s";
+ reg = <0x70002a00 0x200>;
+ interrupts = < 35 >;
+ dma-channel = < 1 >;
+ };
+
+ das@70000c00 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "nvidia,tegra20-das";
+ reg = <0x70000c00 0x80>;
+ };
+
+ gpio: gpio@6000d000 {
+ compatible = "nvidia,tegra20-gpio";
+ reg = < 0x6000d000 0x1000 >;
+ interrupts = < 64 65 66 67 87 119 121 >;
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
+
+ serial@70006000 {
+ compatible = "nvidia,tegra20-uart";
+ reg = <0x70006000 0x40>;
+ reg-shift = <2>;
+ interrupts = < 68 >;
+ };
+
+ serial@70006040 {
+ compatible = "nvidia,tegra20-uart";
+ reg = <0x70006040 0x40>;
+ reg-shift = <2>;
+ interrupts = < 69 >;
+ };
+
+ serial@70006200 {
+ compatible = "nvidia,tegra20-uart";
+ reg = <0x70006200 0x100>;
+ reg-shift = <2>;
+ interrupts = < 78 >;
+ };
+
+ serial@70006300 {
+ compatible = "nvidia,tegra20-uart";
+ reg = <0x70006300 0x100>;
+ reg-shift = <2>;
+ interrupts = < 122 >;
+ };
+
+ serial@70006400 {
+ compatible = "nvidia,tegra20-uart";
+ reg = <0x70006400 0x100>;
+ reg-shift = <2>;
+ interrupts = < 123 >;
+ };
+
+ sdhci@c8000000 {
+ compatible = "nvidia,tegra20-sdhci";
+ reg = <0xc8000000 0x200>;
+ interrupts = < 46 >;
+ };
+
+ sdhci@c8000200 {
+ compatible = "nvidia,tegra20-sdhci";
+ reg = <0xc8000200 0x200>;
+ interrupts = < 47 >;
+ };
+
+ sdhci@c8000400 {
+ compatible = "nvidia,tegra20-sdhci";
+ reg = <0xc8000400 0x200>;
+ interrupts = < 51 >;
+ };
+
+ sdhci@c8000600 {
+ compatible = "nvidia,tegra20-sdhci";
+ reg = <0xc8000600 0x200>;
+ interrupts = < 63 >;
+ };
+};
+

arch/arm/boot/dts/versatile-ab.dts

View file
diff --git a/arch/arm/boot/dts/versatile-ab.dts b/arch/arm/boot/dts/versatile-ab.dts
new file mode 100644
index 0000000..0b32925
--- /dev/null
+++ b/arch/arm/boot/dts/versatile-ab.dts
@@ -0,0 +1,192 @@
+/dts-v1/;
+/include/ "skeleton.dtsi"
+
+/ {
+ model = "ARM Versatile AB";
+ compatible = "arm,versatile-ab";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ interrupt-parent = <&vic>;
+
+ aliases {
+ serial0 = &uart0;
+ serial1 = &uart1;
+ serial2 = &uart2;
+ i2c0 = &i2c0;
+ };
+
+ memory {
+ reg = <0x0 0x08000000>;
+ };
+
+ flash@34000000 {
+ compatible = "arm,versatile-flash";
+ reg = <0x34000000 0x4000000>;
+ bank-width = <4>;
+ };
+
+ i2c0: i2c@10002000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "arm,versatile-i2c";
+ reg = <0x10002000 0x1000>;
+
+ rtc@68 {
+ compatible = "dallas,ds1338";
+ reg = <0x68>;
+ };
+ };
+
+ net@10010000 {
+ compatible = "smsc,lan91c111";
+ reg = <0x10010000 0x10000>;
+ interrupts = <25>;
+ };
+
+ lcd@10008000 {
+ compatible = "arm,versatile-lcd";
+ reg = <0x10008000 0x1000>;
+ };
+
+ amba {
+ compatible = "arm,amba-bus";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ vic: intc@10140000 {
+ compatible = "arm,versatile-vic";
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ reg = <0x10140000 0x1000>;
+ };
+
+ sic: intc@10003000 {
+ compatible = "arm,versatile-sic";
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ reg = <0x10003000 0x1000>;
+ interrupt-parent = <&vic>;
+ interrupts = <31>; /* Cascaded to vic */
+ };
+
+ dma@10130000 {
+ compatible = "arm,pl081", "arm,primecell";
+ reg = <0x10130000 0x1000>;
+ interrupts = <17>;

This diff is incomplete. Download the complete patch.

arch/arm/boot/dts/versatile-pb.dts

View file

This diff is incomplete. Download the complete patch.

arch/arm/include/asm/mach/arch.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/include/asm/prom.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/kernel/devtree.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/clock-imx1.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/clock-imx21.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/clock-imx25.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/clock-imx27.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/clock-imx31.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/clock-imx35.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/mach-mx25_3ds.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/mach-pcm043.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/mm-imx25.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/mm-imx31.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/mm-imx35.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-mx5/board-mx51_babbage.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-mx5/board-mx53_loco.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-mx5/clock-mx51-mx53.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-mx5/mm.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-mx5/mx51_efika.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/Kconfig

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/Makefile

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/Makefile.boot

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/board-dt.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-versatile/Kconfig

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-versatile/Makefile

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-versatile/core.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-versatile/core.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-versatile/versatile_dt.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/plat-mxc/devices/platform-fec.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/plat-mxc/devices/platform-imx-dma.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/plat-mxc/devices/platform-imx-uart.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/plat-mxc/devices/platform-sdhci-esdhc-imx.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/plat-mxc/include/mach/devices-common.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/plat-mxc/include/mach/dma.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/plat-mxc/include/mach/esdhc.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/plat-mxc/include/mach/sdma.h

View file

This diff is incomplete. Download the complete patch.

drivers/dma/imx-sdma.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/sdhci-esdhc-imx.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/sdhci-pltfm.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/fec.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ibm_newemac/core.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ibm_newemac/emac.h

View file

This diff is incomplete. Download the complete patch.

drivers/net/ibm_newemac/phy.c

View file

This diff is incomplete. Download the complete patch.

drivers/of/of_net.c

View file

This diff is incomplete. Download the complete patch.

drivers/tty/serial/imx.c

View file

This diff is incomplete. Download the complete patch.

include/linux/irq.h

View file

This diff is incomplete. Download the complete patch.

include/linux/irqdomain.h

View file

This diff is incomplete. Download the complete patch.

include/linux/of_irq.h

View file

This diff is incomplete. Download the complete patch.

include/linux/of_net.h

View file

This diff is incomplete. Download the complete patch.

include/linux/phy.h

View file

This diff is incomplete. Download the complete patch.

kernel/irq/Kconfig

View file

This diff is incomplete. Download the complete patch.

kernel/irq/Makefile

View file

This diff is incomplete. Download the complete patch.

kernel/irq/irqdomain.c

View file

This diff is incomplete. Download the complete patch.