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 382eb9504bSChristian Ruppert soc100 { 392eb9504bSChristian Ruppert #address-cells = <1>; 402eb9504bSChristian Ruppert #size-cells = <1>; 412eb9504bSChristian Ruppert device_type = "soc"; 422eb9504bSChristian Ruppert ranges = <0xfe000000 0xfe000000 0x02000000 432eb9504bSChristian Ruppert 0x000F0000 0x000F0000 0x00010000>; 442eb9504bSChristian Ruppert compatible = "abilis,tb10x", "simple-bus"; 452eb9504bSChristian Ruppert 462eb9504bSChristian Ruppert pll0: oscillator { 472eb9504bSChristian Ruppert compatible = "fixed-clock"; 482eb9504bSChristian Ruppert #clock-cells = <0>; 492eb9504bSChristian Ruppert clock-output-names = "pll0"; 502eb9504bSChristian Ruppert }; 512eb9504bSChristian Ruppert cpu_clk: clkdiv_cpu { 520dfad77dSChristian Ruppert compatible = "fixed-factor-clock"; 532eb9504bSChristian Ruppert #clock-cells = <0>; 542eb9504bSChristian Ruppert clocks = <&pll0>; 552eb9504bSChristian Ruppert clock-output-names = "cpu_clk"; 562eb9504bSChristian Ruppert }; 572eb9504bSChristian Ruppert ahb_clk: clkdiv_ahb { 580dfad77dSChristian Ruppert compatible = "fixed-factor-clock"; 592eb9504bSChristian Ruppert #clock-cells = <0>; 602eb9504bSChristian Ruppert clocks = <&pll0>; 612eb9504bSChristian Ruppert clock-output-names = "ahb_clk"; 622eb9504bSChristian Ruppert }; 632eb9504bSChristian Ruppert 642eb9504bSChristian Ruppert iomux: iomux@FF10601c { 652eb9504bSChristian Ruppert compatible = "abilis,tb10x-iomux"; 66*9c8e612dSChristian Ruppert #gpio-range-cells = <3>; 672eb9504bSChristian Ruppert reg = <0xFF10601c 0x4>; 682eb9504bSChristian Ruppert }; 692eb9504bSChristian Ruppert 702eb9504bSChristian Ruppert intc: interrupt-controller { 712eb9504bSChristian Ruppert compatible = "snps,arc700-intc"; 722eb9504bSChristian Ruppert interrupt-controller; 732eb9504bSChristian Ruppert #interrupt-cells = <1>; 742eb9504bSChristian Ruppert }; 752eb9504bSChristian Ruppert tb10x_ictl: pic@fe002000 { 76723e2b80SChristian Ruppert compatible = "abilis,tb10x-ictl"; 772eb9504bSChristian Ruppert reg = <0xFE002000 0x20>; 782eb9504bSChristian Ruppert interrupt-controller; 792eb9504bSChristian Ruppert #interrupt-cells = <2>; 802eb9504bSChristian Ruppert interrupt-parent = <&intc>; 812eb9504bSChristian Ruppert interrupts = <5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 822eb9504bSChristian Ruppert 20 21 22 23 24 25 26 27 28 29 30 31>; 832eb9504bSChristian Ruppert }; 842eb9504bSChristian Ruppert 852eb9504bSChristian Ruppert uart@FF100000 { 867d19273cSChristian Ruppert compatible = "snps,dw-apb-uart"; 872eb9504bSChristian Ruppert reg = <0xFF100000 0x100>; 882eb9504bSChristian Ruppert clock-frequency = <166666666>; 89723e2b80SChristian Ruppert interrupts = <25 8>; 902eb9504bSChristian Ruppert reg-shift = <2>; 912eb9504bSChristian Ruppert reg-io-width = <4>; 922eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 932eb9504bSChristian Ruppert }; 942eb9504bSChristian Ruppert ethernet@FE100000 { 952eb9504bSChristian Ruppert compatible = "snps,dwmac-3.70a","snps,dwmac"; 962eb9504bSChristian Ruppert reg = <0xFE100000 0x1058>; 972eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 98723e2b80SChristian Ruppert interrupts = <6 8>; 992eb9504bSChristian Ruppert interrupt-names = "macirq"; 1002eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1012eb9504bSChristian Ruppert clock-names = "stmmaceth"; 1022eb9504bSChristian Ruppert }; 1032eb9504bSChristian Ruppert dma@FE000000 { 1042eb9504bSChristian Ruppert compatible = "snps,dma-spear1340"; 1052eb9504bSChristian Ruppert reg = <0xFE000000 0x400>; 1062eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 107723e2b80SChristian Ruppert interrupts = <14 8>; 1082eb9504bSChristian Ruppert dma-channels = <6>; 1092eb9504bSChristian Ruppert dma-requests = <0>; 1102eb9504bSChristian Ruppert dma-masters = <1>; 1112eb9504bSChristian Ruppert #dma-cells = <3>; 1122eb9504bSChristian Ruppert chan_allocation_order = <0>; 1132eb9504bSChristian Ruppert chan_priority = <1>; 1142eb9504bSChristian Ruppert block_size = <0x7ff>; 1152eb9504bSChristian Ruppert data_width = <2 0 0 0>; 1162eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1172eb9504bSChristian Ruppert clock-names = "hclk"; 1182eb9504bSChristian Ruppert }; 1192eb9504bSChristian Ruppert 1202eb9504bSChristian Ruppert i2c0: i2c@FF120000 { 1212eb9504bSChristian Ruppert #address-cells = <1>; 1222eb9504bSChristian Ruppert #size-cells = <0>; 1232eb9504bSChristian Ruppert compatible = "snps,designware-i2c"; 1242eb9504bSChristian Ruppert reg = <0xFF120000 0x1000>; 1252eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 126723e2b80SChristian Ruppert interrupts = <12 8>; 1272eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1282eb9504bSChristian Ruppert }; 1292eb9504bSChristian Ruppert i2c1: i2c@FF121000 { 1302eb9504bSChristian Ruppert #address-cells = <1>; 1312eb9504bSChristian Ruppert #size-cells = <0>; 1322eb9504bSChristian Ruppert compatible = "snps,designware-i2c"; 1332eb9504bSChristian Ruppert reg = <0xFF121000 0x1000>; 1342eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 135723e2b80SChristian Ruppert interrupts = <12 8>; 1362eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1372eb9504bSChristian Ruppert }; 1382eb9504bSChristian Ruppert i2c2: i2c@FF122000 { 1392eb9504bSChristian Ruppert #address-cells = <1>; 1402eb9504bSChristian Ruppert #size-cells = <0>; 1412eb9504bSChristian Ruppert compatible = "snps,designware-i2c"; 1422eb9504bSChristian Ruppert reg = <0xFF122000 0x1000>; 1432eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 144723e2b80SChristian Ruppert interrupts = <12 8>; 1452eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1462eb9504bSChristian Ruppert }; 1472eb9504bSChristian Ruppert i2c3: i2c@FF123000 { 1482eb9504bSChristian Ruppert #address-cells = <1>; 1492eb9504bSChristian Ruppert #size-cells = <0>; 1502eb9504bSChristian Ruppert compatible = "snps,designware-i2c"; 1512eb9504bSChristian Ruppert reg = <0xFF123000 0x1000>; 1522eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 153723e2b80SChristian Ruppert interrupts = <12 8>; 1542eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1552eb9504bSChristian Ruppert }; 1562eb9504bSChristian Ruppert i2c4: i2c@FF124000 { 1572eb9504bSChristian Ruppert #address-cells = <1>; 1582eb9504bSChristian Ruppert #size-cells = <0>; 1592eb9504bSChristian Ruppert compatible = "snps,designware-i2c"; 1602eb9504bSChristian Ruppert reg = <0xFF124000 0x1000>; 1612eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 162723e2b80SChristian Ruppert interrupts = <12 8>; 1632eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1642eb9504bSChristian Ruppert }; 1652eb9504bSChristian Ruppert 1662eb9504bSChristian Ruppert spi0: spi@0xFE010000 { 1672eb9504bSChristian Ruppert #address-cells = <1>; 1682eb9504bSChristian Ruppert #size-cells = <0>; 1692eb9504bSChristian Ruppert cell-index = <0>; 1702eb9504bSChristian Ruppert compatible = "abilis,tb100-spi"; 1712eb9504bSChristian Ruppert num-cs = <1>; 1722eb9504bSChristian Ruppert reg = <0xFE010000 0x20>; 1732eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 174723e2b80SChristian Ruppert interrupts = <26 8>; 1752eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1762eb9504bSChristian Ruppert }; 1772eb9504bSChristian Ruppert spi1: spi@0xFE011000 { 1782eb9504bSChristian Ruppert #address-cells = <1>; 1792eb9504bSChristian Ruppert #size-cells = <0>; 1802eb9504bSChristian Ruppert cell-index = <1>; 1817d19273cSChristian Ruppert compatible = "abilis,tb100-spi"; 1822eb9504bSChristian Ruppert num-cs = <2>; 1832eb9504bSChristian Ruppert reg = <0xFE011000 0x20>; 1842eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 185723e2b80SChristian Ruppert interrupts = <10 8>; 1862eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1872eb9504bSChristian Ruppert }; 1882eb9504bSChristian Ruppert 1892eb9504bSChristian Ruppert tb10x_tsm: tb10x-tsm@ff316000 { 1902eb9504bSChristian Ruppert compatible = "abilis,tb100-tsm"; 1912eb9504bSChristian Ruppert reg = <0xff316000 0x400>; 1922eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 193723e2b80SChristian Ruppert interrupts = <17 8>; 1942eb9504bSChristian Ruppert output-clkdiv = <4>; 1952eb9504bSChristian Ruppert global-packet-delay = <0x21>; 1962eb9504bSChristian Ruppert port-packet-delay = <0>; 1972eb9504bSChristian Ruppert }; 1982eb9504bSChristian Ruppert tb10x_stream_proc: tb10x-stream-proc { 1992eb9504bSChristian Ruppert compatible = "abilis,tb100-streamproc"; 2002eb9504bSChristian Ruppert reg = <0xfff00000 0x200>, 2012eb9504bSChristian Ruppert <0x000f0000 0x10000>, 2022eb9504bSChristian Ruppert <0xfff00200 0x105>, 2032eb9504bSChristian Ruppert <0xff10600c 0x1>, 2042eb9504bSChristian Ruppert <0xfe001018 0x1>; 2052eb9504bSChristian Ruppert reg-names = "mbox", 2062eb9504bSChristian Ruppert "sp_iccm", 2072eb9504bSChristian Ruppert "mbox_irq", 2082eb9504bSChristian Ruppert "cpuctrl", 2092eb9504bSChristian Ruppert "a6it_int_force"; 2102eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 211723e2b80SChristian Ruppert interrupts = <20 2>, <19 2>; 2122eb9504bSChristian Ruppert interrupt-names = "cmd_irq", "event_irq"; 2132eb9504bSChristian Ruppert }; 2142eb9504bSChristian Ruppert tb10x_mdsc0: tb10x-mdscr@FF300000 { 2152eb9504bSChristian Ruppert compatible = "abilis,tb100-mdscr"; 2162eb9504bSChristian Ruppert reg = <0xFF300000 0x7000>; 2172eb9504bSChristian Ruppert tb100-mdscr-manage-tsin; 2182eb9504bSChristian Ruppert }; 2192eb9504bSChristian Ruppert tb10x_mscr0: tb10x-mdscr@FF307000 { 2202eb9504bSChristian Ruppert compatible = "abilis,tb100-mdscr"; 2212eb9504bSChristian Ruppert reg = <0xFF307000 0x7000>; 2222eb9504bSChristian Ruppert }; 2232eb9504bSChristian Ruppert tb10x_scr0: tb10x-mdscr@ff30e000 { 2242eb9504bSChristian Ruppert compatible = "abilis,tb100-mdscr"; 2252eb9504bSChristian Ruppert reg = <0xFF30e000 0x4000>; 2262eb9504bSChristian Ruppert tb100-mdscr-manage-tsin; 2272eb9504bSChristian Ruppert }; 2282eb9504bSChristian Ruppert tb10x_scr1: tb10x-mdscr@ff312000 { 2292eb9504bSChristian Ruppert compatible = "abilis,tb100-mdscr"; 2302eb9504bSChristian Ruppert reg = <0xFF312000 0x4000>; 2312eb9504bSChristian Ruppert tb100-mdscr-manage-tsin; 2322eb9504bSChristian Ruppert }; 2332eb9504bSChristian Ruppert tb10x_wfb: tb10x-wfb@ff319000 { 2342eb9504bSChristian Ruppert compatible = "abilis,tb100-wfb"; 2352eb9504bSChristian Ruppert reg = <0xff319000 0x1000>; 2362eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 237723e2b80SChristian Ruppert interrupts = <16 8>; 2382eb9504bSChristian Ruppert }; 2392eb9504bSChristian Ruppert }; 2402eb9504bSChristian Ruppert}; 241