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