2011-07-20 03:26:54 +04:00
/include/ "skeleton.dtsi"
/ {
compatible = "nvidia,tegra20";
interrupt-parent = <&intc>;
2012-12-19 10:31:11 +04:00
aliases {
serial0 = &uarta;
serial1 = &uartb;
serial2 = &uartc;
serial3 = &uartd;
serial4 = &uarte;
};
2012-11-16 01:07:54 +04:00
host1x {
compatible = "nvidia,tegra20-host1x", "simple-bus";
reg = <0x50000000 0x00024000>;
interrupts = <0 65 0x04 /* mpcore syncpt */
0 67 0x04>; /* mpcore general */
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 28>;
2012-11-16 01:07:54 +04:00
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x54000000 0x54000000 0x04000000>;
mpe {
compatible = "nvidia,tegra20-mpe";
reg = <0x54040000 0x00040000>;
interrupts = <0 68 0x04>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 60>;
2012-11-16 01:07:54 +04:00
};
vi {
compatible = "nvidia,tegra20-vi";
reg = <0x54080000 0x00040000>;
interrupts = <0 69 0x04>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 100>;
2012-11-16 01:07:54 +04:00
};
epp {
compatible = "nvidia,tegra20-epp";
reg = <0x540c0000 0x00040000>;
interrupts = <0 70 0x04>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 19>;
2012-11-16 01:07:54 +04:00
};
isp {
compatible = "nvidia,tegra20-isp";
reg = <0x54100000 0x00040000>;
interrupts = <0 71 0x04>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 23>;
2012-11-16 01:07:54 +04:00
};
gr2d {
compatible = "nvidia,tegra20-gr2d";
reg = <0x54140000 0x00040000>;
interrupts = <0 72 0x04>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 21>;
2012-11-16 01:07:54 +04:00
};
gr3d {
compatible = "nvidia,tegra20-gr3d";
reg = <0x54180000 0x00040000>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 24>;
2012-11-16 01:07:54 +04:00
};
dc@54200000 {
compatible = "nvidia,tegra20-dc";
reg = <0x54200000 0x00040000>;
interrupts = <0 73 0x04>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 27>, <&tegra_car 121>;
clock-names = "disp1", "parent";
2012-11-16 01:07:54 +04:00
rgb {
status = "disabled";
};
};
dc@54240000 {
compatible = "nvidia,tegra20-dc";
reg = <0x54240000 0x00040000>;
interrupts = <0 74 0x04>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 26>, <&tegra_car 121>;
clock-names = "disp2", "parent";
2012-11-16 01:07:54 +04:00
rgb {
status = "disabled";
};
};
hdmi {
compatible = "nvidia,tegra20-hdmi";
reg = <0x54280000 0x00040000>;
interrupts = <0 75 0x04>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 51>, <&tegra_car 117>;
clock-names = "hdmi", "parent";
2012-11-16 01:07:54 +04:00
status = "disabled";
};
tvo {
compatible = "nvidia,tegra20-tvo";
reg = <0x542c0000 0x00040000>;
interrupts = <0 76 0x04>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 102>;
2012-11-16 01:07:54 +04:00
status = "disabled";
};
dsi {
compatible = "nvidia,tegra20-dsi";
reg = <0x54300000 0x00040000>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 48>;
2012-11-16 01:07:54 +04:00
status = "disabled";
};
};
2012-09-20 00:17:24 +04:00
timer@50004600 {
compatible = "arm,cortex-a9-twd-timer";
reg = <0x50040600 0x20>;
interrupts = <1 13 0x304>;
2013-03-01 22:32:24 +04:00
clocks = <&tegra_car 132>;
2012-09-20 00:17:24 +04:00
};
2012-05-12 02:17:47 +04:00
intc: interrupt-controller {
2011-11-30 05:29:19 +04:00
compatible = "arm,cortex-a9-gic";
2012-05-12 02:26:03 +04:00
reg = <0x50041000 0x1000
0x50040100 0x0100>;
2012-05-12 03:12:52 +04:00
interrupt-controller;
#interrupt-cells = <3>;
2011-07-20 03:26:54 +04:00
};
2013-01-14 21:09:16 +04:00
cache-controller {
compatible = "arm,pl310-cache";
reg = <0x50043000 0x1000>;
arm,data-latency = <5 5 2>;
arm,tag-latency = <4 4 2>;
cache-unified;
cache-level = <2>;
};
2012-09-19 22:02:31 +04:00
timer@60005000 {
compatible = "nvidia,tegra20-timer";
reg = <0x60005000 0x60>;
interrupts = <0 0 0x04
0 1 0x04
0 41 0x04
0 42 0x04>;
2013-02-04 17:40:30 +04:00
clocks = <&tegra_car 5>;
2012-09-19 22:02:31 +04:00
};
2013-01-11 11:46:22 +04:00
tegra_car: clock {
compatible = "nvidia,tegra20-car";
reg = <0x60006000 0x1000>;
#clock-cells = <1>;
};
2012-05-12 02:17:47 +04:00
apbdma: dma {
2012-01-12 03:09:54 +04:00
compatible = "nvidia,tegra20-apbdma";
reg = <0x6000a000 0x1200>;
2012-05-12 02:11:38 +04:00
interrupts = <0 104 0x04
0 105 0x04
0 106 0x04
0 107 0x04
0 108 0x04
0 109 0x04
0 110 0x04
0 111 0x04
0 112 0x04
0 113 0x04
0 114 0x04
0 115 0x04
0 116 0x04
0 117 0x04
0 118 0x04
0 119 0x04>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 34>;
2012-01-12 03:09:54 +04:00
};
2012-05-12 03:03:26 +04:00
ahb {
compatible = "nvidia,tegra20-ahb";
reg = <0x6000c004 0x10c>; /* AHB Arbitration + Gizmo Controller */
2011-07-20 03:26:54 +04:00
};
2012-05-12 02:17:47 +04:00
gpio: gpio {
2011-07-20 03:26:54 +04:00
compatible = "nvidia,tegra20-gpio";
2012-05-12 02:11:38 +04:00
reg = <0x6000d000 0x1000>;
interrupts = <0 32 0x04
0 33 0x04
0 34 0x04
0 35 0x04
0 55 0x04
0 87 0x04
0 89 0x04>;
2011-07-20 03:26:54 +04:00
#gpio-cells = <2>;
gpio-controller;
2012-01-04 12:39:37 +04:00
#interrupt-cells = <2>;
interrupt-controller;
2011-07-20 03:26:54 +04:00
};
2012-05-12 02:17:47 +04:00
pinmux: pinmux {
2011-10-12 02:16:13 +04:00
compatible = "nvidia,tegra20-pinmux";
2012-05-12 02:11:38 +04:00
reg = <0x70000014 0x10 /* Tri-state registers */
0x70000080 0x20 /* Mux registers */
0x700000a0 0x14 /* Pull-up/down registers */
0x70000868 0xa8>; /* Pad control registers */
2011-10-12 02:16:13 +04:00
};
2012-05-12 03:03:26 +04:00
das {
compatible = "nvidia,tegra20-das";
reg = <0x70000c00 0x80>;
};
2013-03-06 22:28:32 +04:00
2013-01-05 05:18:44 +04:00
tegra_ac97: ac97 {
compatible = "nvidia,tegra20-ac97";
reg = <0x70002000 0x200>;
interrupts = <0 81 0x04>;
nvidia,dma-request-selector = <&apbdma 12>;
clocks = <&tegra_car 3>;
status = "disabled";
};
2012-05-12 03:03:26 +04:00
tegra_i2s1: i2s@70002800 {
compatible = "nvidia,tegra20-i2s";
reg = <0x70002800 0x200>;
interrupts = <0 13 0x04>;
nvidia,dma-request-selector = <&apbdma 2>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 11>;
2012-06-11 23:09:45 +04:00
status = "disabled";
2012-05-12 03:03:26 +04:00
};
tegra_i2s2: i2s@70002a00 {
compatible = "nvidia,tegra20-i2s";
reg = <0x70002a00 0x200>;
interrupts = <0 3 0x04>;
nvidia,dma-request-selector = <&apbdma 1>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 18>;
2012-06-11 23:09:45 +04:00
status = "disabled";
2012-05-12 03:03:26 +04:00
};
2012-12-19 10:31:11 +04:00
/*
* There are two serial driver i.e. 8250 based simple serial
* driver and APB DMA based serial driver for higher baudrate
* and performace. To enable the 8250 based driver, the compatible
* is "nvidia,tegra20-uart" and to enable the APB DMA based serial
* driver, the comptible is "nvidia,tegra20-hsuart".
*/
uarta: serial@70006000 {
2011-07-20 03:26:54 +04:00
compatible = "nvidia,tegra20-uart";
reg = <0x70006000 0x40>;
reg-shift = <2>;
2012-05-12 02:11:38 +04:00
interrupts = <0 36 0x04>;
2012-12-19 10:31:11 +04:00
nvidia,dma-request-selector = <&apbdma 8>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 6>;
2012-06-11 23:09:45 +04:00
status = "disabled";
2011-07-20 03:26:54 +04:00
};
2012-12-19 10:31:11 +04:00
uartb: serial@70006040 {
2011-07-20 03:26:54 +04:00
compatible = "nvidia,tegra20-uart";
reg = <0x70006040 0x40>;
reg-shift = <2>;
2012-05-12 02:11:38 +04:00
interrupts = <0 37 0x04>;
2012-12-19 10:31:11 +04:00
nvidia,dma-request-selector = <&apbdma 9>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 96>;
2012-06-11 23:09:45 +04:00
status = "disabled";
2011-07-20 03:26:54 +04:00
};
2012-12-19 10:31:11 +04:00
uartc: serial@70006200 {
2011-07-20 03:26:54 +04:00
compatible = "nvidia,tegra20-uart";
reg = <0x70006200 0x100>;
reg-shift = <2>;
2012-05-12 02:11:38 +04:00
interrupts = <0 46 0x04>;
2012-12-19 10:31:11 +04:00
nvidia,dma-request-selector = <&apbdma 10>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 55>;
2012-06-11 23:09:45 +04:00
status = "disabled";
2011-07-20 03:26:54 +04:00
};
2012-12-19 10:31:11 +04:00
uartd: serial@70006300 {
2011-07-20 03:26:54 +04:00
compatible = "nvidia,tegra20-uart";
reg = <0x70006300 0x100>;
reg-shift = <2>;
2012-05-12 02:11:38 +04:00
interrupts = <0 90 0x04>;
2012-12-19 10:31:11 +04:00
nvidia,dma-request-selector = <&apbdma 19>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 65>;
2012-06-11 23:09:45 +04:00
status = "disabled";
2011-07-20 03:26:54 +04:00
};
2012-12-19 10:31:11 +04:00
uarte: serial@70006400 {
2011-07-20 03:26:54 +04:00
compatible = "nvidia,tegra20-uart";
reg = <0x70006400 0x100>;
reg-shift = <2>;
2012-05-12 02:11:38 +04:00
interrupts = <0 91 0x04>;
2012-12-19 10:31:11 +04:00
nvidia,dma-request-selector = <&apbdma 20>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 66>;
2012-06-11 23:09:45 +04:00
status = "disabled";
2011-07-20 03:26:54 +04:00
};
2012-09-20 19:06:05 +04:00
pwm: pwm {
2011-12-21 11:04:13 +04:00
compatible = "nvidia,tegra20-pwm";
reg = <0x7000a000 0x100>;
#pwm-cells = <2>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 17>;
2011-12-21 11:04:13 +04:00
};
2012-09-19 22:13:16 +04:00
rtc {
compatible = "nvidia,tegra20-rtc";
reg = <0x7000e000 0x100>;
interrupts = <0 2 0x04>;
2013-02-04 17:40:30 +04:00
clocks = <&tegra_car 4>;
2012-09-19 22:13:16 +04:00
};
2012-05-12 03:03:26 +04:00
i2c@7000c000 {
compatible = "nvidia,tegra20-i2c";
reg = <0x7000c000 0x100>;
interrupts = <0 38 0x04>;
2012-05-12 03:12:52 +04:00
#address-cells = <1>;
#size-cells = <0>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 12>, <&tegra_car 124>;
clock-names = "div-clk", "fast-clk";
2012-06-11 23:09:45 +04:00
status = "disabled";
2011-10-13 13:14:55 +04:00
};
2012-11-13 09:03:39 +04:00
spi@7000c380 {
compatible = "nvidia,tegra20-sflash";
reg = <0x7000c380 0x80>;
interrupts = <0 39 0x04>;
nvidia,dma-request-selector = <&apbdma 11>;
#address-cells = <1>;
#size-cells = <0>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 43>;
2012-11-13 09:03:39 +04:00
status = "disabled";
};
2012-05-12 03:03:26 +04:00
i2c@7000c400 {
compatible = "nvidia,tegra20-i2c";
reg = <0x7000c400 0x100>;
interrupts = <0 84 0x04>;
2012-05-12 03:12:52 +04:00
#address-cells = <1>;
#size-cells = <0>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 54>, <&tegra_car 124>;
clock-names = "div-clk", "fast-clk";
2012-06-11 23:09:45 +04:00
status = "disabled";
2011-07-20 03:26:54 +04:00
};
2012-05-12 03:03:26 +04:00
i2c@7000c500 {
compatible = "nvidia,tegra20-i2c";
reg = <0x7000c500 0x100>;
interrupts = <0 92 0x04>;
2012-05-12 03:12:52 +04:00
#address-cells = <1>;
#size-cells = <0>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 67>, <&tegra_car 124>;
clock-names = "div-clk", "fast-clk";
2012-06-11 23:09:45 +04:00
status = "disabled";
2011-07-20 03:26:54 +04:00
};
2012-05-12 03:03:26 +04:00
i2c@7000d000 {
compatible = "nvidia,tegra20-i2c-dvc";
reg = <0x7000d000 0x200>;
interrupts = <0 53 0x04>;
2012-05-12 03:12:52 +04:00
#address-cells = <1>;
#size-cells = <0>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 47>, <&tegra_car 124>;
clock-names = "div-clk", "fast-clk";
2012-06-11 23:09:45 +04:00
status = "disabled";
2011-07-20 03:26:54 +04:00
};
2012-10-30 11:05:23 +04:00
spi@7000d400 {
compatible = "nvidia,tegra20-slink";
reg = <0x7000d400 0x200>;
interrupts = <0 59 0x04>;
nvidia,dma-request-selector = <&apbdma 15>;
#address-cells = <1>;
#size-cells = <0>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 41>;
2012-10-30 11:05:23 +04:00
status = "disabled";
};
spi@7000d600 {
compatible = "nvidia,tegra20-slink";
reg = <0x7000d600 0x200>;
interrupts = <0 82 0x04>;
nvidia,dma-request-selector = <&apbdma 16>;
#address-cells = <1>;
#size-cells = <0>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 44>;
2012-10-30 11:05:23 +04:00
status = "disabled";
};
spi@7000d800 {
compatible = "nvidia,tegra20-slink";
reg = <0x7000d480 0x200>;
interrupts = <0 83 0x04>;
nvidia,dma-request-selector = <&apbdma 17>;
#address-cells = <1>;
#size-cells = <0>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 46>;
2012-10-30 11:05:23 +04:00
status = "disabled";
};
spi@7000da00 {
compatible = "nvidia,tegra20-slink";
reg = <0x7000da00 0x200>;
interrupts = <0 93 0x04>;
nvidia,dma-request-selector = <&apbdma 18>;
#address-cells = <1>;
#size-cells = <0>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 68>;
2012-10-30 11:05:23 +04:00
status = "disabled";
};
2013-01-11 17:33:03 +04:00
kbc {
compatible = "nvidia,tegra20-kbc";
reg = <0x7000e200 0x100>;
interrupts = <0 85 0x04>;
clocks = <&tegra_car 36>;
status = "disabled";
};
2012-05-12 03:03:26 +04:00
pmc {
compatible = "nvidia,tegra20-pmc";
reg = <0x7000e400 0x400>;
2013-04-03 15:31:27 +04:00
clocks = <&tegra_car 110>, <&clk32k_in>;
clock-names = "pclk", "clk32k_in";
2012-05-12 03:03:26 +04:00
};
2012-10-02 23:10:47 +04:00
memory-controller@7000f000 {
2012-05-12 03:03:26 +04:00
compatible = "nvidia,tegra20-mc";
reg = <0x7000f000 0x024
0x7000f03c 0x3c4>;
interrupts = <0 77 0x04>;
};
2013-01-29 12:30:30 +04:00
iommu {
2012-05-12 03:03:26 +04:00
compatible = "nvidia,tegra20-gart";
reg = <0x7000f024 0x00000018 /* controller registers */
0x58000000 0x02000000>; /* GART aperture */
};
2012-10-02 23:10:47 +04:00
memory-controller@7000f400 {
2012-05-12 03:03:26 +04:00
compatible = "nvidia,tegra20-emc";
reg = <0x7000f400 0x200>;
2012-05-12 03:12:52 +04:00
#address-cells = <1>;
#size-cells = <0>;
2011-07-20 03:26:54 +04:00
};
2011-11-04 13:12:39 +04:00
usb@c5000000 {
compatible = "nvidia,tegra20-ehci", "usb-ehci";
reg = <0xc5000000 0x4000>;
2012-05-12 02:11:38 +04:00
interrupts = <0 20 0x04>;
2011-11-04 13:12:39 +04:00
phy_type = "utmi";
2012-03-07 09:04:33 +04:00
nvidia,has-legacy-mode;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 22>;
2012-12-14 00:59:07 +04:00
nvidia,needs-double-reset;
2013-01-16 07:30:19 +04:00
nvidia,phy = <&phy1>;
2012-06-11 23:09:45 +04:00
status = "disabled";
2011-11-04 13:12:39 +04:00
};
2013-03-06 22:28:33 +04:00
phy1: usb-phy@c5000400 {
compatible = "nvidia,tegra20-usb-phy";
reg = <0xc5000400 0x3c00>;
phy_type = "utmi";
nvidia,has-legacy-mode;
clocks = <&tegra_car 22>, <&tegra_car 127>;
clock-names = "phy", "pll_u";
};
2011-11-04 13:12:39 +04:00
usb@c5004000 {
compatible = "nvidia,tegra20-ehci", "usb-ehci";
reg = <0xc5004000 0x4000>;
2012-05-12 02:11:38 +04:00
interrupts = <0 21 0x04>;
2011-11-04 13:12:39 +04:00
phy_type = "ulpi";
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 58>;
2013-01-16 07:30:19 +04:00
nvidia,phy = <&phy2>;
2012-06-11 23:09:45 +04:00
status = "disabled";
2011-11-04 13:12:39 +04:00
};
2013-03-06 22:28:33 +04:00
phy2: usb-phy@c5004400 {
compatible = "nvidia,tegra20-usb-phy";
reg = <0xc5004400 0x3c00>;
phy_type = "ulpi";
clocks = <&tegra_car 94>, <&tegra_car 127>;
clock-names = "phy", "pll_u";
};
2011-11-04 13:12:39 +04:00
usb@c5008000 {
compatible = "nvidia,tegra20-ehci", "usb-ehci";
reg = <0xc5008000 0x4000>;
2012-05-12 02:11:38 +04:00
interrupts = <0 97 0x04>;
2011-11-04 13:12:39 +04:00
phy_type = "utmi";
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 59>;
2013-01-16 07:30:19 +04:00
nvidia,phy = <&phy3>;
2012-06-11 23:09:45 +04:00
status = "disabled";
2011-11-04 13:12:39 +04:00
};
2012-05-07 10:43:47 +04:00
2013-03-06 22:28:33 +04:00
phy3: usb-phy@c5008400 {
compatible = "nvidia,tegra20-usb-phy";
reg = <0xc5008400 0x3c00>;
phy_type = "utmi";
clocks = <&tegra_car 22>, <&tegra_car 127>;
clock-names = "phy", "pll_u";
};
2012-05-12 03:03:26 +04:00
sdhci@c8000000 {
compatible = "nvidia,tegra20-sdhci";
reg = <0xc8000000 0x200>;
interrupts = <0 14 0x04>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 14>;
2012-06-11 23:09:45 +04:00
status = "disabled";
2012-05-07 10:43:47 +04:00
};
2012-05-10 01:42:31 +04:00
2012-05-12 03:03:26 +04:00
sdhci@c8000200 {
compatible = "nvidia,tegra20-sdhci";
reg = <0xc8000200 0x200>;
interrupts = <0 15 0x04>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 9>;
2012-06-11 23:09:45 +04:00
status = "disabled";
2012-05-10 01:42:31 +04:00
};
2012-05-10 01:45:33 +04:00
2012-05-12 03:03:26 +04:00
sdhci@c8000400 {
compatible = "nvidia,tegra20-sdhci";
reg = <0xc8000400 0x200>;
interrupts = <0 19 0x04>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 69>;
2012-06-11 23:09:45 +04:00
status = "disabled";
2012-05-12 03:03:26 +04:00
};
sdhci@c8000600 {
compatible = "nvidia,tegra20-sdhci";
reg = <0xc8000600 0x200>;
interrupts = <0 31 0x04>;
2013-01-11 12:01:21 +04:00
clocks = <&tegra_car 15>;
2012-06-11 23:09:45 +04:00
status = "disabled";
2012-05-12 03:03:26 +04:00
};
2013-01-11 17:26:55 +04:00
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a9";
reg = <0>;
};
cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a9";
reg = <1>;
};
};
2012-05-12 03:03:26 +04:00
pmu {
compatible = "arm,cortex-a9-pmu";
interrupts = <0 56 0x04
0 57 0x04>;
2012-05-10 01:45:33 +04:00
};
2011-07-20 03:26:54 +04:00
};