1*45051539SThomas Gleixner// SPDX-License-Identifier: GPL-2.0-only 22eb9504bSChristian Ruppert/* 32eb9504bSChristian Ruppert * Abilis Systems TB10X SOC device tree 42eb9504bSChristian Ruppert * 52eb9504bSChristian Ruppert * Copyright (C) Abilis Systems 2013 62eb9504bSChristian Ruppert * 72eb9504bSChristian Ruppert * Author: Christian Ruppert <christian.ruppert@abilis.com> 82eb9504bSChristian Ruppert */ 92eb9504bSChristian Ruppert 102eb9504bSChristian Ruppert 112eb9504bSChristian Ruppert/ { 122eb9504bSChristian Ruppert compatible = "abilis,arc-tb10x"; 132eb9504bSChristian Ruppert #address-cells = <1>; 142eb9504bSChristian Ruppert #size-cells = <1>; 152eb9504bSChristian Ruppert 162eb9504bSChristian Ruppert cpus { 172eb9504bSChristian Ruppert #address-cells = <1>; 182eb9504bSChristian Ruppert #size-cells = <0>; 192eb9504bSChristian Ruppert cpu@0 { 202eb9504bSChristian Ruppert device_type = "cpu"; 212eb9504bSChristian Ruppert compatible = "snps,arc770d"; 222eb9504bSChristian Ruppert reg = <0>; 232eb9504bSChristian Ruppert }; 242eb9504bSChristian Ruppert }; 252eb9504bSChristian Ruppert 267ec9f34aSVineet Gupta /* TIMER0 with interrupt for clockevent */ 277ec9f34aSVineet Gupta timer0 { 287ec9f34aSVineet Gupta compatible = "snps,arc-timer"; 297ec9f34aSVineet Gupta interrupts = <3>; 307ec9f34aSVineet Gupta interrupt-parent = <&intc>; 317ec9f34aSVineet Gupta clocks = <&cpu_clk>; 327ec9f34aSVineet Gupta }; 337ec9f34aSVineet Gupta 347ec9f34aSVineet Gupta /* TIMER1 for free running clocksource */ 357ec9f34aSVineet Gupta timer1 { 367ec9f34aSVineet Gupta compatible = "snps,arc-timer"; 377ec9f34aSVineet Gupta clocks = <&cpu_clk>; 387ec9f34aSVineet Gupta }; 397ec9f34aSVineet Gupta 402eb9504bSChristian Ruppert soc100 { 412eb9504bSChristian Ruppert #address-cells = <1>; 422eb9504bSChristian Ruppert #size-cells = <1>; 432eb9504bSChristian Ruppert device_type = "soc"; 442eb9504bSChristian Ruppert ranges = <0xfe000000 0xfe000000 0x02000000 45ef4c54c3SAlexey Brodkin 0x000f0000 0x000f0000 0x00010000>; 462eb9504bSChristian Ruppert compatible = "abilis,tb10x", "simple-bus"; 472eb9504bSChristian Ruppert 482eb9504bSChristian Ruppert pll0: oscillator { 492eb9504bSChristian Ruppert compatible = "fixed-clock"; 502eb9504bSChristian Ruppert #clock-cells = <0>; 512eb9504bSChristian Ruppert clock-output-names = "pll0"; 522eb9504bSChristian Ruppert }; 532eb9504bSChristian Ruppert cpu_clk: clkdiv_cpu { 540dfad77dSChristian Ruppert compatible = "fixed-factor-clock"; 552eb9504bSChristian Ruppert #clock-cells = <0>; 562eb9504bSChristian Ruppert clocks = <&pll0>; 572eb9504bSChristian Ruppert clock-output-names = "cpu_clk"; 582eb9504bSChristian Ruppert }; 592eb9504bSChristian Ruppert ahb_clk: clkdiv_ahb { 600dfad77dSChristian Ruppert compatible = "fixed-factor-clock"; 612eb9504bSChristian Ruppert #clock-cells = <0>; 622eb9504bSChristian Ruppert clocks = <&pll0>; 632eb9504bSChristian Ruppert clock-output-names = "ahb_clk"; 642eb9504bSChristian Ruppert }; 652eb9504bSChristian Ruppert 66ef4c54c3SAlexey Brodkin iomux: iomux@ff10601c { 672eb9504bSChristian Ruppert compatible = "abilis,tb10x-iomux"; 689c8e612dSChristian Ruppert #gpio-range-cells = <3>; 69ef4c54c3SAlexey Brodkin reg = <0xff10601c 0x4>; 702eb9504bSChristian Ruppert }; 712eb9504bSChristian Ruppert 722eb9504bSChristian Ruppert intc: interrupt-controller { 732eb9504bSChristian Ruppert compatible = "snps,arc700-intc"; 742eb9504bSChristian Ruppert interrupt-controller; 752eb9504bSChristian Ruppert #interrupt-cells = <1>; 762eb9504bSChristian Ruppert }; 772eb9504bSChristian Ruppert tb10x_ictl: pic@fe002000 { 78723e2b80SChristian Ruppert compatible = "abilis,tb10x-ictl"; 79ef4c54c3SAlexey Brodkin reg = <0xfe002000 0x20>; 802eb9504bSChristian Ruppert interrupt-controller; 812eb9504bSChristian Ruppert #interrupt-cells = <2>; 822eb9504bSChristian Ruppert interrupt-parent = <&intc>; 832eb9504bSChristian Ruppert interrupts = <5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 842eb9504bSChristian Ruppert 20 21 22 23 24 25 26 27 28 29 30 31>; 852eb9504bSChristian Ruppert }; 862eb9504bSChristian Ruppert 87ef4c54c3SAlexey Brodkin uart@ff100000 { 887d19273cSChristian Ruppert compatible = "snps,dw-apb-uart"; 89ef4c54c3SAlexey Brodkin reg = <0xff100000 0x100>; 902eb9504bSChristian Ruppert clock-frequency = <166666666>; 91723e2b80SChristian Ruppert interrupts = <25 8>; 922eb9504bSChristian Ruppert reg-shift = <2>; 932eb9504bSChristian Ruppert reg-io-width = <4>; 942eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 952eb9504bSChristian Ruppert }; 96ef4c54c3SAlexey Brodkin ethernet@fe100000 { 972eb9504bSChristian Ruppert compatible = "snps,dwmac-3.70a","snps,dwmac"; 98ef4c54c3SAlexey Brodkin reg = <0xfe100000 0x1058>; 992eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 100723e2b80SChristian Ruppert interrupts = <6 8>; 1012eb9504bSChristian Ruppert interrupt-names = "macirq"; 1022eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1032eb9504bSChristian Ruppert clock-names = "stmmaceth"; 1042eb9504bSChristian Ruppert }; 105ef4c54c3SAlexey Brodkin dma@fe000000 { 1062eb9504bSChristian Ruppert compatible = "snps,dma-spear1340"; 107ef4c54c3SAlexey Brodkin reg = <0xfe000000 0x400>; 1082eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 109723e2b80SChristian Ruppert interrupts = <14 8>; 1102eb9504bSChristian Ruppert dma-channels = <6>; 1112eb9504bSChristian Ruppert dma-requests = <0>; 1122eb9504bSChristian Ruppert dma-masters = <1>; 1132eb9504bSChristian Ruppert #dma-cells = <3>; 1142eb9504bSChristian Ruppert chan_allocation_order = <0>; 1152eb9504bSChristian Ruppert chan_priority = <1>; 1162eb9504bSChristian Ruppert block_size = <0x7ff>; 1172e65060eSAndy Shevchenko data-width = <4>; 1182eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1192eb9504bSChristian Ruppert clock-names = "hclk"; 120bd2c6636SEugeniy Paltsev multi-block = <1 1 1 1 1 1>; 1212eb9504bSChristian Ruppert }; 1222eb9504bSChristian Ruppert 123ef4c54c3SAlexey Brodkin i2c0: i2c@ff120000 { 1242eb9504bSChristian Ruppert #address-cells = <1>; 1252eb9504bSChristian Ruppert #size-cells = <0>; 1262eb9504bSChristian Ruppert compatible = "snps,designware-i2c"; 127ef4c54c3SAlexey Brodkin reg = <0xff120000 0x1000>; 1282eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 129723e2b80SChristian Ruppert interrupts = <12 8>; 1302eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1312eb9504bSChristian Ruppert }; 132ef4c54c3SAlexey Brodkin i2c1: i2c@ff121000 { 1332eb9504bSChristian Ruppert #address-cells = <1>; 1342eb9504bSChristian Ruppert #size-cells = <0>; 1352eb9504bSChristian Ruppert compatible = "snps,designware-i2c"; 136ef4c54c3SAlexey Brodkin reg = <0xff121000 0x1000>; 1372eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 138723e2b80SChristian Ruppert interrupts = <12 8>; 1392eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1402eb9504bSChristian Ruppert }; 141ef4c54c3SAlexey Brodkin i2c2: i2c@ff122000 { 1422eb9504bSChristian Ruppert #address-cells = <1>; 1432eb9504bSChristian Ruppert #size-cells = <0>; 1442eb9504bSChristian Ruppert compatible = "snps,designware-i2c"; 145ef4c54c3SAlexey Brodkin reg = <0xff122000 0x1000>; 1462eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 147723e2b80SChristian Ruppert interrupts = <12 8>; 1482eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1492eb9504bSChristian Ruppert }; 150ef4c54c3SAlexey Brodkin i2c3: i2c@ff123000 { 1512eb9504bSChristian Ruppert #address-cells = <1>; 1522eb9504bSChristian Ruppert #size-cells = <0>; 1532eb9504bSChristian Ruppert compatible = "snps,designware-i2c"; 154ef4c54c3SAlexey Brodkin reg = <0xff123000 0x1000>; 1552eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 156723e2b80SChristian Ruppert interrupts = <12 8>; 1572eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1582eb9504bSChristian Ruppert }; 159ef4c54c3SAlexey Brodkin i2c4: i2c@ff124000 { 1602eb9504bSChristian Ruppert #address-cells = <1>; 1612eb9504bSChristian Ruppert #size-cells = <0>; 1622eb9504bSChristian Ruppert compatible = "snps,designware-i2c"; 163ef4c54c3SAlexey Brodkin reg = <0xff124000 0x1000>; 1642eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 165723e2b80SChristian Ruppert interrupts = <12 8>; 1662eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1672eb9504bSChristian Ruppert }; 1682eb9504bSChristian Ruppert 169ef4c54c3SAlexey Brodkin spi0: spi@fe010000 { 1702eb9504bSChristian Ruppert #address-cells = <1>; 1712eb9504bSChristian Ruppert #size-cells = <0>; 1722eb9504bSChristian Ruppert cell-index = <0>; 1732eb9504bSChristian Ruppert compatible = "abilis,tb100-spi"; 1742eb9504bSChristian Ruppert num-cs = <1>; 175ef4c54c3SAlexey Brodkin reg = <0xfe010000 0x20>; 1762eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 177723e2b80SChristian Ruppert interrupts = <26 8>; 1782eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1792eb9504bSChristian Ruppert }; 180ef4c54c3SAlexey Brodkin spi1: spi@fe011000 { 1812eb9504bSChristian Ruppert #address-cells = <1>; 1822eb9504bSChristian Ruppert #size-cells = <0>; 1832eb9504bSChristian Ruppert cell-index = <1>; 1847d19273cSChristian Ruppert compatible = "abilis,tb100-spi"; 1852eb9504bSChristian Ruppert num-cs = <2>; 186ef4c54c3SAlexey Brodkin reg = <0xfe011000 0x20>; 1872eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 188723e2b80SChristian Ruppert interrupts = <10 8>; 1892eb9504bSChristian Ruppert clocks = <&ahb_clk>; 1902eb9504bSChristian Ruppert }; 1912eb9504bSChristian Ruppert 1922eb9504bSChristian Ruppert tb10x_tsm: tb10x-tsm@ff316000 { 1932eb9504bSChristian Ruppert compatible = "abilis,tb100-tsm"; 1942eb9504bSChristian Ruppert reg = <0xff316000 0x400>; 1952eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 196723e2b80SChristian Ruppert interrupts = <17 8>; 1972eb9504bSChristian Ruppert output-clkdiv = <4>; 1982eb9504bSChristian Ruppert global-packet-delay = <0x21>; 1992eb9504bSChristian Ruppert port-packet-delay = <0>; 2002eb9504bSChristian Ruppert }; 2012eb9504bSChristian Ruppert tb10x_stream_proc: tb10x-stream-proc { 2022eb9504bSChristian Ruppert compatible = "abilis,tb100-streamproc"; 2032eb9504bSChristian Ruppert reg = <0xfff00000 0x200>, 2042eb9504bSChristian Ruppert <0x000f0000 0x10000>, 2052eb9504bSChristian Ruppert <0xfff00200 0x105>, 2062eb9504bSChristian Ruppert <0xff10600c 0x1>, 2072eb9504bSChristian Ruppert <0xfe001018 0x1>; 2082eb9504bSChristian Ruppert reg-names = "mbox", 2092eb9504bSChristian Ruppert "sp_iccm", 2102eb9504bSChristian Ruppert "mbox_irq", 2112eb9504bSChristian Ruppert "cpuctrl", 2122eb9504bSChristian Ruppert "a6it_int_force"; 2132eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 214723e2b80SChristian Ruppert interrupts = <20 2>, <19 2>; 2152eb9504bSChristian Ruppert interrupt-names = "cmd_irq", "event_irq"; 2162eb9504bSChristian Ruppert }; 217ef4c54c3SAlexey Brodkin tb10x_mdsc0: tb10x-mdscr@ff300000 { 2182eb9504bSChristian Ruppert compatible = "abilis,tb100-mdscr"; 219ef4c54c3SAlexey Brodkin reg = <0xff300000 0x7000>; 2202eb9504bSChristian Ruppert tb100-mdscr-manage-tsin; 2212eb9504bSChristian Ruppert }; 222ef4c54c3SAlexey Brodkin tb10x_mscr0: tb10x-mdscr@ff307000 { 2232eb9504bSChristian Ruppert compatible = "abilis,tb100-mdscr"; 224ef4c54c3SAlexey Brodkin reg = <0xff307000 0x7000>; 2252eb9504bSChristian Ruppert }; 2262eb9504bSChristian Ruppert tb10x_scr0: tb10x-mdscr@ff30e000 { 2272eb9504bSChristian Ruppert compatible = "abilis,tb100-mdscr"; 228ef4c54c3SAlexey Brodkin reg = <0xff30e000 0x4000>; 2292eb9504bSChristian Ruppert tb100-mdscr-manage-tsin; 2302eb9504bSChristian Ruppert }; 2312eb9504bSChristian Ruppert tb10x_scr1: tb10x-mdscr@ff312000 { 2322eb9504bSChristian Ruppert compatible = "abilis,tb100-mdscr"; 233ef4c54c3SAlexey Brodkin reg = <0xff312000 0x4000>; 2342eb9504bSChristian Ruppert tb100-mdscr-manage-tsin; 2352eb9504bSChristian Ruppert }; 2362eb9504bSChristian Ruppert tb10x_wfb: tb10x-wfb@ff319000 { 2372eb9504bSChristian Ruppert compatible = "abilis,tb100-wfb"; 2382eb9504bSChristian Ruppert reg = <0xff319000 0x1000>; 2392eb9504bSChristian Ruppert interrupt-parent = <&tb10x_ictl>; 240723e2b80SChristian Ruppert interrupts = <16 8>; 2412eb9504bSChristian Ruppert }; 2422eb9504bSChristian Ruppert }; 2432eb9504bSChristian Ruppert}; 244