12eb9504bSChristian Ruppert/* 22eb9504bSChristian Ruppert * Abilis Systems TB10X SOC device tree 32eb9504bSChristian Ruppert * 42eb9504bSChristian Ruppert * Copyright (C) Abilis Systems 2013 52eb9504bSChristian Ruppert * 62eb9504bSChristian Ruppert * Author: Christian Ruppert <christian.ruppert@abilis.com> 72eb9504bSChristian Ruppert * 82eb9504bSChristian Ruppert * This program is free software; you can redistribute it and/or modify 92eb9504bSChristian Ruppert * it under the terms of the GNU General Public License version 2 as 102eb9504bSChristian Ruppert * published by the Free Software Foundation. 112eb9504bSChristian Ruppert * 122eb9504bSChristian Ruppert * This program is distributed in the hope that it will be useful, 132eb9504bSChristian Ruppert * but WITHOUT ANY WARRANTY; without even the implied warranty of 142eb9504bSChristian Ruppert * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 152eb9504bSChristian Ruppert * GNU General Public License for more details. 162eb9504bSChristian Ruppert * 172eb9504bSChristian Ruppert * You should have received a copy of the GNU General Public License 182eb9504bSChristian Ruppert * along with this program; if not, write to the Free Software 192eb9504bSChristian Ruppert * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 202eb9504bSChristian Ruppert */ 212eb9504bSChristian Ruppert 222eb9504bSChristian Ruppert 232eb9504bSChristian Ruppert/ { 242eb9504bSChristian Ruppert compatible = "abilis,arc-tb10x"; 252eb9504bSChristian Ruppert #address-cells = <1>; 262eb9504bSChristian Ruppert #size-cells = <1>; 272eb9504bSChristian Ruppert 282eb9504bSChristian Ruppert cpus { 292eb9504bSChristian Ruppert #address-cells = <1>; 302eb9504bSChristian Ruppert #size-cells = <0>; 312eb9504bSChristian Ruppert cpu@0 { 322eb9504bSChristian Ruppert device_type = "cpu"; 332eb9504bSChristian Ruppert compatible = "snps,arc770d"; 342eb9504bSChristian Ruppert reg = <0>; 352eb9504bSChristian Ruppert }; 362eb9504bSChristian Ruppert }; 372eb9504bSChristian Ruppert 387ec9f34aSVineet Gupta /* TIMER0 with interrupt for clockevent */ 397ec9f34aSVineet Gupta timer0 { 407ec9f34aSVineet Gupta compatible = "snps,arc-timer"; 417ec9f34aSVineet Gupta interrupts = <3>; 427ec9f34aSVineet Gupta interrupt-parent = <&intc>; 437ec9f34aSVineet Gupta clocks = <&cpu_clk>; 447ec9f34aSVineet Gupta }; 457ec9f34aSVineet Gupta 467ec9f34aSVineet Gupta /* TIMER1 for free running clocksource */ 477ec9f34aSVineet Gupta timer1 { 487ec9f34aSVineet Gupta compatible = "snps,arc-timer"; 497ec9f34aSVineet Gupta clocks = <&cpu_clk>; 507ec9f34aSVineet Gupta }; 517ec9f34aSVineet Gupta 522eb9504bSChristian Ruppert soc100 { 532eb9504bSChristian Ruppert #address-cells = <1>; 542eb9504bSChristian Ruppert #size-cells = <1>; 552eb9504bSChristian Ruppert device_type = "soc"; 562eb9504bSChristian Ruppert ranges = <0xfe000000 0xfe000000 0x02000000 572eb9504bSChristian Ruppert 0x000F0000 0x000F0000 0x00010000>; 582eb9504bSChristian Ruppert compatible = "abilis,tb10x", "simple-bus"; 592eb9504bSChristian Ruppert 602eb9504bSChristian Ruppert pll0: oscillator { 612eb9504bSChristian Ruppert compatible = "fixed-clock"; 622eb9504bSChristian Ruppert #clock-cells = <0>; 632eb9504bSChristian Ruppert clock-output-names = "pll0"; 642eb9504bSChristian Ruppert }; 652eb9504bSChristian Ruppert cpu_clk: clkdiv_cpu { 660dfad77dSChristian Ruppert compatible = "fixed-factor-clock"; 672eb9504bSChristian Ruppert #clock-cells = <0>; 682eb9504bSChristian Ruppert clocks = <&pll0>; 692eb9504bSChristian Ruppert clock-output-names = "cpu_clk"; 702eb9504bSChristian Ruppert }; 712eb9504bSChristian Ruppert ahb_clk: clkdiv_ahb { 720dfad77dSChristian Ruppert compatible = "fixed-factor-clock"; 732eb9504bSChristian Ruppert #clock-cells = <0>; 742eb9504bSChristian Ruppert clocks = <&pll0>; 752eb9504bSChristian Ruppert clock-output-names = "ahb_clk"; 762eb9504bSChristian Ruppert }; 772eb9504bSChristian Ruppert 782eb9504bSChristian Ruppert iomux: iomux@FF10601c { 792eb9504bSChristian Ruppert compatible = "abilis,tb10x-iomux"; 809c8e612dSChristian Ruppert #gpio-range-cells = <3>; 812eb9504bSChristian Ruppert reg = <0xFF10601c 0x4>; 822eb9504bSChristian Ruppert }; 832eb9504bSChristian Ruppert 842eb9504bSChristian Ruppert intc: interrupt-controller { 852eb9504bSChristian Ruppert compatible = "snps,arc700-intc"; 862eb9504bSChristian Ruppert interrupt-controller; 872eb9504bSChristian Ruppert #interrupt-cells = <1>; 882eb9504bSChristian Ruppert }; 892eb9504bSChristian Ruppert tb10x_ictl: pic@fe002000 { 90723e2b80SChristian Ruppert compatible = "abilis,tb10x-ictl"; 912eb9504bSChristian Ruppert reg = <0xFE002000 0x20>; 922eb9504bSChristian Ruppert interrupt-controller; 932eb9504bSChristian Ruppert #interrupt-cells = <2>; 942eb9504bSChristian Ruppert interrupt-parent = <&intc>; 952eb9504bSChristian Ruppert interrupts = <5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 962eb9504bSChristian Ruppert 20 21 22 23 24 25 26 27 28 29 30 31>; 972eb9504bSChristian Ruppert }; 982eb9504bSChristian Ruppert 992eb9504bSChristian Ruppert uart@FF100000 { 1007d19273cSChristian Ruppert compatible = "snps,dw-apb-uart"; 1012eb9504bSChristian Ruppert reg = <0xFF100000 0x100>; 1022eb9504bSChristian Ruppert clock-frequency = <166666666>; 103723e2b80SChristian Ruppert interrupts = <25 8>; 1042eb9504bSChristian Ruppert reg-shift = <2>; 1052eb9504bSChristian Ruppert reg-io-width = <4>; 1062eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 1072eb9504bSChristian Ruppert }; 1082eb9504bSChristian Ruppert ethernet@FE100000 { 1092eb9504bSChristian Ruppert compatible = "snps,dwmac-3.70a","snps,dwmac"; 1102eb9504bSChristian Ruppert reg = <0xFE100000 0x1058>; 1112eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 112723e2b80SChristian Ruppert interrupts = <6 8>; 1132eb9504bSChristian Ruppert interrupt-names = "macirq"; 1142eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1152eb9504bSChristian Ruppert clock-names = "stmmaceth"; 1162eb9504bSChristian Ruppert }; 1172eb9504bSChristian Ruppert dma@FE000000 { 1182eb9504bSChristian Ruppert compatible = "snps,dma-spear1340"; 1192eb9504bSChristian Ruppert reg = <0xFE000000 0x400>; 1202eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 121723e2b80SChristian Ruppert interrupts = <14 8>; 1222eb9504bSChristian Ruppert dma-channels = <6>; 1232eb9504bSChristian Ruppert dma-requests = <0>; 1242eb9504bSChristian Ruppert dma-masters = <1>; 1252eb9504bSChristian Ruppert #dma-cells = <3>; 1262eb9504bSChristian Ruppert chan_allocation_order = <0>; 1272eb9504bSChristian Ruppert chan_priority = <1>; 1282eb9504bSChristian Ruppert block_size = <0x7ff>; 1292e65060eSAndy Shevchenko data-width = <4>; 1302eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1312eb9504bSChristian Ruppert clock-names = "hclk"; 132*bd2c6636SEugeniy Paltsev multi-block = <1 1 1 1 1 1>; 1332eb9504bSChristian Ruppert }; 1342eb9504bSChristian Ruppert 1352eb9504bSChristian Ruppert i2c0: i2c@FF120000 { 1362eb9504bSChristian Ruppert #address-cells = <1>; 1372eb9504bSChristian Ruppert #size-cells = <0>; 1382eb9504bSChristian Ruppert compatible = "snps,designware-i2c"; 1392eb9504bSChristian Ruppert reg = <0xFF120000 0x1000>; 1402eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 141723e2b80SChristian Ruppert interrupts = <12 8>; 1422eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1432eb9504bSChristian Ruppert }; 1442eb9504bSChristian Ruppert i2c1: i2c@FF121000 { 1452eb9504bSChristian Ruppert #address-cells = <1>; 1462eb9504bSChristian Ruppert #size-cells = <0>; 1472eb9504bSChristian Ruppert compatible = "snps,designware-i2c"; 1482eb9504bSChristian Ruppert reg = <0xFF121000 0x1000>; 1492eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 150723e2b80SChristian Ruppert interrupts = <12 8>; 1512eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1522eb9504bSChristian Ruppert }; 1532eb9504bSChristian Ruppert i2c2: i2c@FF122000 { 1542eb9504bSChristian Ruppert #address-cells = <1>; 1552eb9504bSChristian Ruppert #size-cells = <0>; 1562eb9504bSChristian Ruppert compatible = "snps,designware-i2c"; 1572eb9504bSChristian Ruppert reg = <0xFF122000 0x1000>; 1582eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 159723e2b80SChristian Ruppert interrupts = <12 8>; 1602eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1612eb9504bSChristian Ruppert }; 1622eb9504bSChristian Ruppert i2c3: i2c@FF123000 { 1632eb9504bSChristian Ruppert #address-cells = <1>; 1642eb9504bSChristian Ruppert #size-cells = <0>; 1652eb9504bSChristian Ruppert compatible = "snps,designware-i2c"; 1662eb9504bSChristian Ruppert reg = <0xFF123000 0x1000>; 1672eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 168723e2b80SChristian Ruppert interrupts = <12 8>; 1692eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1702eb9504bSChristian Ruppert }; 1712eb9504bSChristian Ruppert i2c4: i2c@FF124000 { 1722eb9504bSChristian Ruppert #address-cells = <1>; 1732eb9504bSChristian Ruppert #size-cells = <0>; 1742eb9504bSChristian Ruppert compatible = "snps,designware-i2c"; 1752eb9504bSChristian Ruppert reg = <0xFF124000 0x1000>; 1762eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 177723e2b80SChristian Ruppert interrupts = <12 8>; 1782eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1792eb9504bSChristian Ruppert }; 1802eb9504bSChristian Ruppert 1812eb9504bSChristian Ruppert spi0: spi@0xFE010000 { 1822eb9504bSChristian Ruppert #address-cells = <1>; 1832eb9504bSChristian Ruppert #size-cells = <0>; 1842eb9504bSChristian Ruppert cell-index = <0>; 1852eb9504bSChristian Ruppert compatible = "abilis,tb100-spi"; 1862eb9504bSChristian Ruppert num-cs = <1>; 1872eb9504bSChristian Ruppert reg = <0xFE010000 0x20>; 1882eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 189723e2b80SChristian Ruppert interrupts = <26 8>; 1902eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1912eb9504bSChristian Ruppert }; 1922eb9504bSChristian Ruppert spi1: spi@0xFE011000 { 1932eb9504bSChristian Ruppert #address-cells = <1>; 1942eb9504bSChristian Ruppert #size-cells = <0>; 1952eb9504bSChristian Ruppert cell-index = <1>; 1967d19273cSChristian Ruppert compatible = "abilis,tb100-spi"; 1972eb9504bSChristian Ruppert num-cs = <2>; 1982eb9504bSChristian Ruppert reg = <0xFE011000 0x20>; 1992eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 200723e2b80SChristian Ruppert interrupts = <10 8>; 2012eb9504bSChristian Ruppert clocks = <&ahb_clk>; 2022eb9504bSChristian Ruppert }; 2032eb9504bSChristian Ruppert 2042eb9504bSChristian Ruppert tb10x_tsm: tb10x-tsm@ff316000 { 2052eb9504bSChristian Ruppert compatible = "abilis,tb100-tsm"; 2062eb9504bSChristian Ruppert reg = <0xff316000 0x400>; 2072eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 208723e2b80SChristian Ruppert interrupts = <17 8>; 2092eb9504bSChristian Ruppert output-clkdiv = <4>; 2102eb9504bSChristian Ruppert global-packet-delay = <0x21>; 2112eb9504bSChristian Ruppert port-packet-delay = <0>; 2122eb9504bSChristian Ruppert }; 2132eb9504bSChristian Ruppert tb10x_stream_proc: tb10x-stream-proc { 2142eb9504bSChristian Ruppert compatible = "abilis,tb100-streamproc"; 2152eb9504bSChristian Ruppert reg = <0xfff00000 0x200>, 2162eb9504bSChristian Ruppert <0x000f0000 0x10000>, 2172eb9504bSChristian Ruppert <0xfff00200 0x105>, 2182eb9504bSChristian Ruppert <0xff10600c 0x1>, 2192eb9504bSChristian Ruppert <0xfe001018 0x1>; 2202eb9504bSChristian Ruppert reg-names = "mbox", 2212eb9504bSChristian Ruppert "sp_iccm", 2222eb9504bSChristian Ruppert "mbox_irq", 2232eb9504bSChristian Ruppert "cpuctrl", 2242eb9504bSChristian Ruppert "a6it_int_force"; 2252eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 226723e2b80SChristian Ruppert interrupts = <20 2>, <19 2>; 2272eb9504bSChristian Ruppert interrupt-names = "cmd_irq", "event_irq"; 2282eb9504bSChristian Ruppert }; 2292eb9504bSChristian Ruppert tb10x_mdsc0: tb10x-mdscr@FF300000 { 2302eb9504bSChristian Ruppert compatible = "abilis,tb100-mdscr"; 2312eb9504bSChristian Ruppert reg = <0xFF300000 0x7000>; 2322eb9504bSChristian Ruppert tb100-mdscr-manage-tsin; 2332eb9504bSChristian Ruppert }; 2342eb9504bSChristian Ruppert tb10x_mscr0: tb10x-mdscr@FF307000 { 2352eb9504bSChristian Ruppert compatible = "abilis,tb100-mdscr"; 2362eb9504bSChristian Ruppert reg = <0xFF307000 0x7000>; 2372eb9504bSChristian Ruppert }; 2382eb9504bSChristian Ruppert tb10x_scr0: tb10x-mdscr@ff30e000 { 2392eb9504bSChristian Ruppert compatible = "abilis,tb100-mdscr"; 2402eb9504bSChristian Ruppert reg = <0xFF30e000 0x4000>; 2412eb9504bSChristian Ruppert tb100-mdscr-manage-tsin; 2422eb9504bSChristian Ruppert }; 2432eb9504bSChristian Ruppert tb10x_scr1: tb10x-mdscr@ff312000 { 2442eb9504bSChristian Ruppert compatible = "abilis,tb100-mdscr"; 2452eb9504bSChristian Ruppert reg = <0xFF312000 0x4000>; 2462eb9504bSChristian Ruppert tb100-mdscr-manage-tsin; 2472eb9504bSChristian Ruppert }; 2482eb9504bSChristian Ruppert tb10x_wfb: tb10x-wfb@ff319000 { 2492eb9504bSChristian Ruppert compatible = "abilis,tb100-wfb"; 2502eb9504bSChristian Ruppert reg = <0xff319000 0x1000>; 2512eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 252723e2b80SChristian Ruppert interrupts = <16 8>; 2532eb9504bSChristian Ruppert }; 2542eb9504bSChristian Ruppert }; 2552eb9504bSChristian Ruppert}; 256