18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Abilis Systems TB10X SOC device tree 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright (C) Abilis Systems 2013 68c2ecf20Sopenharmony_ci * 78c2ecf20Sopenharmony_ci * Author: Christian Ruppert <christian.ruppert@abilis.com> 88c2ecf20Sopenharmony_ci */ 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci/ { 128c2ecf20Sopenharmony_ci compatible = "abilis,arc-tb10x"; 138c2ecf20Sopenharmony_ci #address-cells = <1>; 148c2ecf20Sopenharmony_ci #size-cells = <1>; 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci cpus { 178c2ecf20Sopenharmony_ci #address-cells = <1>; 188c2ecf20Sopenharmony_ci #size-cells = <0>; 198c2ecf20Sopenharmony_ci cpu@0 { 208c2ecf20Sopenharmony_ci device_type = "cpu"; 218c2ecf20Sopenharmony_ci compatible = "snps,arc770d"; 228c2ecf20Sopenharmony_ci reg = <0>; 238c2ecf20Sopenharmony_ci }; 248c2ecf20Sopenharmony_ci }; 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci /* TIMER0 with interrupt for clockevent */ 278c2ecf20Sopenharmony_ci timer0 { 288c2ecf20Sopenharmony_ci compatible = "snps,arc-timer"; 298c2ecf20Sopenharmony_ci interrupts = <3>; 308c2ecf20Sopenharmony_ci interrupt-parent = <&intc>; 318c2ecf20Sopenharmony_ci clocks = <&cpu_clk>; 328c2ecf20Sopenharmony_ci }; 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci /* TIMER1 for free running clocksource */ 358c2ecf20Sopenharmony_ci timer1 { 368c2ecf20Sopenharmony_ci compatible = "snps,arc-timer"; 378c2ecf20Sopenharmony_ci clocks = <&cpu_clk>; 388c2ecf20Sopenharmony_ci }; 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci soc100 { 418c2ecf20Sopenharmony_ci #address-cells = <1>; 428c2ecf20Sopenharmony_ci #size-cells = <1>; 438c2ecf20Sopenharmony_ci device_type = "soc"; 448c2ecf20Sopenharmony_ci ranges = <0xfe000000 0xfe000000 0x02000000 458c2ecf20Sopenharmony_ci 0x000f0000 0x000f0000 0x00010000>; 468c2ecf20Sopenharmony_ci compatible = "abilis,tb10x", "simple-bus"; 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci pll0: oscillator { 498c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 508c2ecf20Sopenharmony_ci #clock-cells = <0>; 518c2ecf20Sopenharmony_ci clock-output-names = "pll0"; 528c2ecf20Sopenharmony_ci }; 538c2ecf20Sopenharmony_ci cpu_clk: clkdiv_cpu { 548c2ecf20Sopenharmony_ci compatible = "fixed-factor-clock"; 558c2ecf20Sopenharmony_ci #clock-cells = <0>; 568c2ecf20Sopenharmony_ci clocks = <&pll0>; 578c2ecf20Sopenharmony_ci clock-output-names = "cpu_clk"; 588c2ecf20Sopenharmony_ci }; 598c2ecf20Sopenharmony_ci ahb_clk: clkdiv_ahb { 608c2ecf20Sopenharmony_ci compatible = "fixed-factor-clock"; 618c2ecf20Sopenharmony_ci #clock-cells = <0>; 628c2ecf20Sopenharmony_ci clocks = <&pll0>; 638c2ecf20Sopenharmony_ci clock-output-names = "ahb_clk"; 648c2ecf20Sopenharmony_ci }; 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci iomux: iomux@ff10601c { 678c2ecf20Sopenharmony_ci compatible = "abilis,tb10x-iomux"; 688c2ecf20Sopenharmony_ci #gpio-range-cells = <3>; 698c2ecf20Sopenharmony_ci reg = <0xff10601c 0x4>; 708c2ecf20Sopenharmony_ci }; 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_ci intc: interrupt-controller { 738c2ecf20Sopenharmony_ci compatible = "snps,arc700-intc"; 748c2ecf20Sopenharmony_ci interrupt-controller; 758c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 768c2ecf20Sopenharmony_ci }; 778c2ecf20Sopenharmony_ci tb10x_ictl: pic@fe002000 { 788c2ecf20Sopenharmony_ci compatible = "abilis,tb10x-ictl"; 798c2ecf20Sopenharmony_ci reg = <0xfe002000 0x20>; 808c2ecf20Sopenharmony_ci interrupt-controller; 818c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 828c2ecf20Sopenharmony_ci interrupt-parent = <&intc>; 838c2ecf20Sopenharmony_ci interrupts = <5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 848c2ecf20Sopenharmony_ci 20 21 22 23 24 25 26 27 28 29 30 31>; 858c2ecf20Sopenharmony_ci }; 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci uart@ff100000 { 888c2ecf20Sopenharmony_ci compatible = "snps,dw-apb-uart"; 898c2ecf20Sopenharmony_ci reg = <0xff100000 0x100>; 908c2ecf20Sopenharmony_ci clock-frequency = <166666666>; 918c2ecf20Sopenharmony_ci interrupts = <25 8>; 928c2ecf20Sopenharmony_ci reg-shift = <2>; 938c2ecf20Sopenharmony_ci reg-io-width = <4>; 948c2ecf20Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 958c2ecf20Sopenharmony_ci }; 968c2ecf20Sopenharmony_ci ethernet@fe100000 { 978c2ecf20Sopenharmony_ci compatible = "snps,dwmac-3.70a","snps,dwmac"; 988c2ecf20Sopenharmony_ci reg = <0xfe100000 0x1058>; 998c2ecf20Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 1008c2ecf20Sopenharmony_ci interrupts = <6 8>; 1018c2ecf20Sopenharmony_ci interrupt-names = "macirq"; 1028c2ecf20Sopenharmony_ci clocks = <&ahb_clk>; 1038c2ecf20Sopenharmony_ci clock-names = "stmmaceth"; 1048c2ecf20Sopenharmony_ci }; 1058c2ecf20Sopenharmony_ci dma@fe000000 { 1068c2ecf20Sopenharmony_ci compatible = "snps,dma-spear1340"; 1078c2ecf20Sopenharmony_ci reg = <0xfe000000 0x400>; 1088c2ecf20Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 1098c2ecf20Sopenharmony_ci interrupts = <14 8>; 1108c2ecf20Sopenharmony_ci dma-channels = <6>; 1118c2ecf20Sopenharmony_ci dma-requests = <0>; 1128c2ecf20Sopenharmony_ci dma-masters = <1>; 1138c2ecf20Sopenharmony_ci #dma-cells = <3>; 1148c2ecf20Sopenharmony_ci chan_allocation_order = <0>; 1158c2ecf20Sopenharmony_ci chan_priority = <1>; 1168c2ecf20Sopenharmony_ci block_size = <0x7ff>; 1178c2ecf20Sopenharmony_ci data-width = <4>; 1188c2ecf20Sopenharmony_ci clocks = <&ahb_clk>; 1198c2ecf20Sopenharmony_ci clock-names = "hclk"; 1208c2ecf20Sopenharmony_ci multi-block = <1 1 1 1 1 1>; 1218c2ecf20Sopenharmony_ci }; 1228c2ecf20Sopenharmony_ci 1238c2ecf20Sopenharmony_ci i2c0: i2c@ff120000 { 1248c2ecf20Sopenharmony_ci #address-cells = <1>; 1258c2ecf20Sopenharmony_ci #size-cells = <0>; 1268c2ecf20Sopenharmony_ci compatible = "snps,designware-i2c"; 1278c2ecf20Sopenharmony_ci reg = <0xff120000 0x1000>; 1288c2ecf20Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 1298c2ecf20Sopenharmony_ci interrupts = <12 8>; 1308c2ecf20Sopenharmony_ci clocks = <&ahb_clk>; 1318c2ecf20Sopenharmony_ci }; 1328c2ecf20Sopenharmony_ci i2c1: i2c@ff121000 { 1338c2ecf20Sopenharmony_ci #address-cells = <1>; 1348c2ecf20Sopenharmony_ci #size-cells = <0>; 1358c2ecf20Sopenharmony_ci compatible = "snps,designware-i2c"; 1368c2ecf20Sopenharmony_ci reg = <0xff121000 0x1000>; 1378c2ecf20Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 1388c2ecf20Sopenharmony_ci interrupts = <12 8>; 1398c2ecf20Sopenharmony_ci clocks = <&ahb_clk>; 1408c2ecf20Sopenharmony_ci }; 1418c2ecf20Sopenharmony_ci i2c2: i2c@ff122000 { 1428c2ecf20Sopenharmony_ci #address-cells = <1>; 1438c2ecf20Sopenharmony_ci #size-cells = <0>; 1448c2ecf20Sopenharmony_ci compatible = "snps,designware-i2c"; 1458c2ecf20Sopenharmony_ci reg = <0xff122000 0x1000>; 1468c2ecf20Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 1478c2ecf20Sopenharmony_ci interrupts = <12 8>; 1488c2ecf20Sopenharmony_ci clocks = <&ahb_clk>; 1498c2ecf20Sopenharmony_ci }; 1508c2ecf20Sopenharmony_ci i2c3: i2c@ff123000 { 1518c2ecf20Sopenharmony_ci #address-cells = <1>; 1528c2ecf20Sopenharmony_ci #size-cells = <0>; 1538c2ecf20Sopenharmony_ci compatible = "snps,designware-i2c"; 1548c2ecf20Sopenharmony_ci reg = <0xff123000 0x1000>; 1558c2ecf20Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 1568c2ecf20Sopenharmony_ci interrupts = <12 8>; 1578c2ecf20Sopenharmony_ci clocks = <&ahb_clk>; 1588c2ecf20Sopenharmony_ci }; 1598c2ecf20Sopenharmony_ci i2c4: i2c@ff124000 { 1608c2ecf20Sopenharmony_ci #address-cells = <1>; 1618c2ecf20Sopenharmony_ci #size-cells = <0>; 1628c2ecf20Sopenharmony_ci compatible = "snps,designware-i2c"; 1638c2ecf20Sopenharmony_ci reg = <0xff124000 0x1000>; 1648c2ecf20Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 1658c2ecf20Sopenharmony_ci interrupts = <12 8>; 1668c2ecf20Sopenharmony_ci clocks = <&ahb_clk>; 1678c2ecf20Sopenharmony_ci }; 1688c2ecf20Sopenharmony_ci 1698c2ecf20Sopenharmony_ci spi0: spi@fe010000 { 1708c2ecf20Sopenharmony_ci #address-cells = <1>; 1718c2ecf20Sopenharmony_ci #size-cells = <0>; 1728c2ecf20Sopenharmony_ci cell-index = <0>; 1738c2ecf20Sopenharmony_ci compatible = "abilis,tb100-spi"; 1748c2ecf20Sopenharmony_ci num-cs = <1>; 1758c2ecf20Sopenharmony_ci reg = <0xfe010000 0x20>; 1768c2ecf20Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 1778c2ecf20Sopenharmony_ci interrupts = <26 8>; 1788c2ecf20Sopenharmony_ci clocks = <&ahb_clk>; 1798c2ecf20Sopenharmony_ci }; 1808c2ecf20Sopenharmony_ci spi1: spi@fe011000 { 1818c2ecf20Sopenharmony_ci #address-cells = <1>; 1828c2ecf20Sopenharmony_ci #size-cells = <0>; 1838c2ecf20Sopenharmony_ci cell-index = <1>; 1848c2ecf20Sopenharmony_ci compatible = "abilis,tb100-spi"; 1858c2ecf20Sopenharmony_ci num-cs = <2>; 1868c2ecf20Sopenharmony_ci reg = <0xfe011000 0x20>; 1878c2ecf20Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 1888c2ecf20Sopenharmony_ci interrupts = <10 8>; 1898c2ecf20Sopenharmony_ci clocks = <&ahb_clk>; 1908c2ecf20Sopenharmony_ci }; 1918c2ecf20Sopenharmony_ci 1928c2ecf20Sopenharmony_ci tb10x_tsm: tb10x-tsm@ff316000 { 1938c2ecf20Sopenharmony_ci compatible = "abilis,tb100-tsm"; 1948c2ecf20Sopenharmony_ci reg = <0xff316000 0x400>; 1958c2ecf20Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 1968c2ecf20Sopenharmony_ci interrupts = <17 8>; 1978c2ecf20Sopenharmony_ci output-clkdiv = <4>; 1988c2ecf20Sopenharmony_ci global-packet-delay = <0x21>; 1998c2ecf20Sopenharmony_ci port-packet-delay = <0>; 2008c2ecf20Sopenharmony_ci }; 2018c2ecf20Sopenharmony_ci tb10x_stream_proc: tb10x-stream-proc { 2028c2ecf20Sopenharmony_ci compatible = "abilis,tb100-streamproc"; 2038c2ecf20Sopenharmony_ci reg = <0xfff00000 0x200>, 2048c2ecf20Sopenharmony_ci <0x000f0000 0x10000>, 2058c2ecf20Sopenharmony_ci <0xfff00200 0x105>, 2068c2ecf20Sopenharmony_ci <0xff10600c 0x1>, 2078c2ecf20Sopenharmony_ci <0xfe001018 0x1>; 2088c2ecf20Sopenharmony_ci reg-names = "mbox", 2098c2ecf20Sopenharmony_ci "sp_iccm", 2108c2ecf20Sopenharmony_ci "mbox_irq", 2118c2ecf20Sopenharmony_ci "cpuctrl", 2128c2ecf20Sopenharmony_ci "a6it_int_force"; 2138c2ecf20Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 2148c2ecf20Sopenharmony_ci interrupts = <20 2>, <19 2>; 2158c2ecf20Sopenharmony_ci interrupt-names = "cmd_irq", "event_irq"; 2168c2ecf20Sopenharmony_ci }; 2178c2ecf20Sopenharmony_ci tb10x_mdsc0: tb10x-mdscr@ff300000 { 2188c2ecf20Sopenharmony_ci compatible = "abilis,tb100-mdscr"; 2198c2ecf20Sopenharmony_ci reg = <0xff300000 0x7000>; 2208c2ecf20Sopenharmony_ci tb100-mdscr-manage-tsin; 2218c2ecf20Sopenharmony_ci }; 2228c2ecf20Sopenharmony_ci tb10x_mscr0: tb10x-mdscr@ff307000 { 2238c2ecf20Sopenharmony_ci compatible = "abilis,tb100-mdscr"; 2248c2ecf20Sopenharmony_ci reg = <0xff307000 0x7000>; 2258c2ecf20Sopenharmony_ci }; 2268c2ecf20Sopenharmony_ci tb10x_scr0: tb10x-mdscr@ff30e000 { 2278c2ecf20Sopenharmony_ci compatible = "abilis,tb100-mdscr"; 2288c2ecf20Sopenharmony_ci reg = <0xff30e000 0x4000>; 2298c2ecf20Sopenharmony_ci tb100-mdscr-manage-tsin; 2308c2ecf20Sopenharmony_ci }; 2318c2ecf20Sopenharmony_ci tb10x_scr1: tb10x-mdscr@ff312000 { 2328c2ecf20Sopenharmony_ci compatible = "abilis,tb100-mdscr"; 2338c2ecf20Sopenharmony_ci reg = <0xff312000 0x4000>; 2348c2ecf20Sopenharmony_ci tb100-mdscr-manage-tsin; 2358c2ecf20Sopenharmony_ci }; 2368c2ecf20Sopenharmony_ci tb10x_wfb: tb10x-wfb@ff319000 { 2378c2ecf20Sopenharmony_ci compatible = "abilis,tb100-wfb"; 2388c2ecf20Sopenharmony_ci reg = <0xff319000 0x1000>; 2398c2ecf20Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 2408c2ecf20Sopenharmony_ci interrupts = <16 8>; 2418c2ecf20Sopenharmony_ci }; 2428c2ecf20Sopenharmony_ci }; 2438c2ecf20Sopenharmony_ci}; 244