162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Abilis Systems TB10X SOC device tree 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) Abilis Systems 2013 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci * Author: Christian Ruppert <christian.ruppert@abilis.com> 862306a36Sopenharmony_ci */ 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci/ { 1262306a36Sopenharmony_ci compatible = "abilis,arc-tb10x"; 1362306a36Sopenharmony_ci #address-cells = <1>; 1462306a36Sopenharmony_ci #size-cells = <1>; 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci cpus { 1762306a36Sopenharmony_ci #address-cells = <1>; 1862306a36Sopenharmony_ci #size-cells = <0>; 1962306a36Sopenharmony_ci cpu@0 { 2062306a36Sopenharmony_ci device_type = "cpu"; 2162306a36Sopenharmony_ci compatible = "snps,arc770d"; 2262306a36Sopenharmony_ci reg = <0>; 2362306a36Sopenharmony_ci }; 2462306a36Sopenharmony_ci }; 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci /* TIMER0 with interrupt for clockevent */ 2762306a36Sopenharmony_ci timer0 { 2862306a36Sopenharmony_ci compatible = "snps,arc-timer"; 2962306a36Sopenharmony_ci interrupts = <3>; 3062306a36Sopenharmony_ci interrupt-parent = <&intc>; 3162306a36Sopenharmony_ci clocks = <&cpu_clk>; 3262306a36Sopenharmony_ci }; 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci /* TIMER1 for free running clocksource */ 3562306a36Sopenharmony_ci timer1 { 3662306a36Sopenharmony_ci compatible = "snps,arc-timer"; 3762306a36Sopenharmony_ci clocks = <&cpu_clk>; 3862306a36Sopenharmony_ci }; 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci soc100 { 4162306a36Sopenharmony_ci #address-cells = <1>; 4262306a36Sopenharmony_ci #size-cells = <1>; 4362306a36Sopenharmony_ci device_type = "soc"; 4462306a36Sopenharmony_ci ranges = <0xfe000000 0xfe000000 0x02000000 4562306a36Sopenharmony_ci 0x000f0000 0x000f0000 0x00010000>; 4662306a36Sopenharmony_ci compatible = "abilis,tb10x", "simple-bus"; 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci pll0: oscillator { 4962306a36Sopenharmony_ci compatible = "fixed-clock"; 5062306a36Sopenharmony_ci #clock-cells = <0>; 5162306a36Sopenharmony_ci clock-output-names = "pll0"; 5262306a36Sopenharmony_ci }; 5362306a36Sopenharmony_ci cpu_clk: clkdiv_cpu { 5462306a36Sopenharmony_ci compatible = "fixed-factor-clock"; 5562306a36Sopenharmony_ci #clock-cells = <0>; 5662306a36Sopenharmony_ci clocks = <&pll0>; 5762306a36Sopenharmony_ci clock-output-names = "cpu_clk"; 5862306a36Sopenharmony_ci }; 5962306a36Sopenharmony_ci ahb_clk: clkdiv_ahb { 6062306a36Sopenharmony_ci compatible = "fixed-factor-clock"; 6162306a36Sopenharmony_ci #clock-cells = <0>; 6262306a36Sopenharmony_ci clocks = <&pll0>; 6362306a36Sopenharmony_ci clock-output-names = "ahb_clk"; 6462306a36Sopenharmony_ci }; 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci iomux: iomux@ff10601c { 6762306a36Sopenharmony_ci compatible = "abilis,tb10x-iomux"; 6862306a36Sopenharmony_ci #gpio-range-cells = <3>; 6962306a36Sopenharmony_ci reg = <0xff10601c 0x4>; 7062306a36Sopenharmony_ci }; 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci intc: interrupt-controller { 7362306a36Sopenharmony_ci compatible = "snps,arc700-intc"; 7462306a36Sopenharmony_ci interrupt-controller; 7562306a36Sopenharmony_ci #interrupt-cells = <1>; 7662306a36Sopenharmony_ci }; 7762306a36Sopenharmony_ci tb10x_ictl: pic@fe002000 { 7862306a36Sopenharmony_ci compatible = "abilis,tb10x-ictl"; 7962306a36Sopenharmony_ci reg = <0xfe002000 0x20>; 8062306a36Sopenharmony_ci interrupt-controller; 8162306a36Sopenharmony_ci #interrupt-cells = <2>; 8262306a36Sopenharmony_ci interrupt-parent = <&intc>; 8362306a36Sopenharmony_ci interrupts = <5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 8462306a36Sopenharmony_ci 20 21 22 23 24 25 26 27 28 29 30 31>; 8562306a36Sopenharmony_ci }; 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci uart@ff100000 { 8862306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 8962306a36Sopenharmony_ci reg = <0xff100000 0x100>; 9062306a36Sopenharmony_ci clock-frequency = <166666666>; 9162306a36Sopenharmony_ci interrupts = <25 8>; 9262306a36Sopenharmony_ci reg-shift = <2>; 9362306a36Sopenharmony_ci reg-io-width = <4>; 9462306a36Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 9562306a36Sopenharmony_ci }; 9662306a36Sopenharmony_ci ethernet@fe100000 { 9762306a36Sopenharmony_ci compatible = "snps,dwmac-3.70a","snps,dwmac"; 9862306a36Sopenharmony_ci reg = <0xfe100000 0x1058>; 9962306a36Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 10062306a36Sopenharmony_ci interrupts = <6 8>; 10162306a36Sopenharmony_ci interrupt-names = "macirq"; 10262306a36Sopenharmony_ci clocks = <&ahb_clk>; 10362306a36Sopenharmony_ci clock-names = "stmmaceth"; 10462306a36Sopenharmony_ci }; 10562306a36Sopenharmony_ci dma@fe000000 { 10662306a36Sopenharmony_ci compatible = "snps,dma-spear1340"; 10762306a36Sopenharmony_ci reg = <0xfe000000 0x400>; 10862306a36Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 10962306a36Sopenharmony_ci interrupts = <14 8>; 11062306a36Sopenharmony_ci dma-channels = <6>; 11162306a36Sopenharmony_ci dma-requests = <0>; 11262306a36Sopenharmony_ci dma-masters = <1>; 11362306a36Sopenharmony_ci #dma-cells = <3>; 11462306a36Sopenharmony_ci chan_allocation_order = <0>; 11562306a36Sopenharmony_ci chan_priority = <1>; 11662306a36Sopenharmony_ci block_size = <0x7ff>; 11762306a36Sopenharmony_ci data-width = <4>; 11862306a36Sopenharmony_ci clocks = <&ahb_clk>; 11962306a36Sopenharmony_ci clock-names = "hclk"; 12062306a36Sopenharmony_ci multi-block = <1 1 1 1 1 1>; 12162306a36Sopenharmony_ci }; 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ci i2c0: i2c@ff120000 { 12462306a36Sopenharmony_ci #address-cells = <1>; 12562306a36Sopenharmony_ci #size-cells = <0>; 12662306a36Sopenharmony_ci compatible = "snps,designware-i2c"; 12762306a36Sopenharmony_ci reg = <0xff120000 0x1000>; 12862306a36Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 12962306a36Sopenharmony_ci interrupts = <12 8>; 13062306a36Sopenharmony_ci clocks = <&ahb_clk>; 13162306a36Sopenharmony_ci }; 13262306a36Sopenharmony_ci i2c1: i2c@ff121000 { 13362306a36Sopenharmony_ci #address-cells = <1>; 13462306a36Sopenharmony_ci #size-cells = <0>; 13562306a36Sopenharmony_ci compatible = "snps,designware-i2c"; 13662306a36Sopenharmony_ci reg = <0xff121000 0x1000>; 13762306a36Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 13862306a36Sopenharmony_ci interrupts = <12 8>; 13962306a36Sopenharmony_ci clocks = <&ahb_clk>; 14062306a36Sopenharmony_ci }; 14162306a36Sopenharmony_ci i2c2: i2c@ff122000 { 14262306a36Sopenharmony_ci #address-cells = <1>; 14362306a36Sopenharmony_ci #size-cells = <0>; 14462306a36Sopenharmony_ci compatible = "snps,designware-i2c"; 14562306a36Sopenharmony_ci reg = <0xff122000 0x1000>; 14662306a36Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 14762306a36Sopenharmony_ci interrupts = <12 8>; 14862306a36Sopenharmony_ci clocks = <&ahb_clk>; 14962306a36Sopenharmony_ci }; 15062306a36Sopenharmony_ci i2c3: i2c@ff123000 { 15162306a36Sopenharmony_ci #address-cells = <1>; 15262306a36Sopenharmony_ci #size-cells = <0>; 15362306a36Sopenharmony_ci compatible = "snps,designware-i2c"; 15462306a36Sopenharmony_ci reg = <0xff123000 0x1000>; 15562306a36Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 15662306a36Sopenharmony_ci interrupts = <12 8>; 15762306a36Sopenharmony_ci clocks = <&ahb_clk>; 15862306a36Sopenharmony_ci }; 15962306a36Sopenharmony_ci i2c4: i2c@ff124000 { 16062306a36Sopenharmony_ci #address-cells = <1>; 16162306a36Sopenharmony_ci #size-cells = <0>; 16262306a36Sopenharmony_ci compatible = "snps,designware-i2c"; 16362306a36Sopenharmony_ci reg = <0xff124000 0x1000>; 16462306a36Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 16562306a36Sopenharmony_ci interrupts = <12 8>; 16662306a36Sopenharmony_ci clocks = <&ahb_clk>; 16762306a36Sopenharmony_ci }; 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ci spi0: spi@fe010000 { 17062306a36Sopenharmony_ci #address-cells = <1>; 17162306a36Sopenharmony_ci #size-cells = <0>; 17262306a36Sopenharmony_ci cell-index = <0>; 17362306a36Sopenharmony_ci compatible = "abilis,tb100-spi"; 17462306a36Sopenharmony_ci num-cs = <1>; 17562306a36Sopenharmony_ci reg = <0xfe010000 0x20>; 17662306a36Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 17762306a36Sopenharmony_ci interrupts = <26 8>; 17862306a36Sopenharmony_ci clocks = <&ahb_clk>; 17962306a36Sopenharmony_ci }; 18062306a36Sopenharmony_ci spi1: spi@fe011000 { 18162306a36Sopenharmony_ci #address-cells = <1>; 18262306a36Sopenharmony_ci #size-cells = <0>; 18362306a36Sopenharmony_ci cell-index = <1>; 18462306a36Sopenharmony_ci compatible = "abilis,tb100-spi"; 18562306a36Sopenharmony_ci num-cs = <2>; 18662306a36Sopenharmony_ci reg = <0xfe011000 0x20>; 18762306a36Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 18862306a36Sopenharmony_ci interrupts = <10 8>; 18962306a36Sopenharmony_ci clocks = <&ahb_clk>; 19062306a36Sopenharmony_ci }; 19162306a36Sopenharmony_ci 19262306a36Sopenharmony_ci tb10x_tsm: tb10x-tsm@ff316000 { 19362306a36Sopenharmony_ci compatible = "abilis,tb100-tsm"; 19462306a36Sopenharmony_ci reg = <0xff316000 0x400>; 19562306a36Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 19662306a36Sopenharmony_ci interrupts = <17 8>; 19762306a36Sopenharmony_ci output-clkdiv = <4>; 19862306a36Sopenharmony_ci global-packet-delay = <0x21>; 19962306a36Sopenharmony_ci port-packet-delay = <0>; 20062306a36Sopenharmony_ci }; 20162306a36Sopenharmony_ci tb10x_stream_proc: tb10x-stream-proc { 20262306a36Sopenharmony_ci compatible = "abilis,tb100-streamproc"; 20362306a36Sopenharmony_ci reg = <0xfff00000 0x200>, 20462306a36Sopenharmony_ci <0x000f0000 0x10000>, 20562306a36Sopenharmony_ci <0xfff00200 0x105>, 20662306a36Sopenharmony_ci <0xff10600c 0x1>, 20762306a36Sopenharmony_ci <0xfe001018 0x1>; 20862306a36Sopenharmony_ci reg-names = "mbox", 20962306a36Sopenharmony_ci "sp_iccm", 21062306a36Sopenharmony_ci "mbox_irq", 21162306a36Sopenharmony_ci "cpuctrl", 21262306a36Sopenharmony_ci "a6it_int_force"; 21362306a36Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 21462306a36Sopenharmony_ci interrupts = <20 2>, <19 2>; 21562306a36Sopenharmony_ci interrupt-names = "cmd_irq", "event_irq"; 21662306a36Sopenharmony_ci }; 21762306a36Sopenharmony_ci tb10x_mdsc0: tb10x-mdscr@ff300000 { 21862306a36Sopenharmony_ci compatible = "abilis,tb100-mdscr"; 21962306a36Sopenharmony_ci reg = <0xff300000 0x7000>; 22062306a36Sopenharmony_ci tb100-mdscr-manage-tsin; 22162306a36Sopenharmony_ci }; 22262306a36Sopenharmony_ci tb10x_mscr0: tb10x-mdscr@ff307000 { 22362306a36Sopenharmony_ci compatible = "abilis,tb100-mdscr"; 22462306a36Sopenharmony_ci reg = <0xff307000 0x7000>; 22562306a36Sopenharmony_ci }; 22662306a36Sopenharmony_ci tb10x_scr0: tb10x-mdscr@ff30e000 { 22762306a36Sopenharmony_ci compatible = "abilis,tb100-mdscr"; 22862306a36Sopenharmony_ci reg = <0xff30e000 0x4000>; 22962306a36Sopenharmony_ci tb100-mdscr-manage-tsin; 23062306a36Sopenharmony_ci }; 23162306a36Sopenharmony_ci tb10x_scr1: tb10x-mdscr@ff312000 { 23262306a36Sopenharmony_ci compatible = "abilis,tb100-mdscr"; 23362306a36Sopenharmony_ci reg = <0xff312000 0x4000>; 23462306a36Sopenharmony_ci tb100-mdscr-manage-tsin; 23562306a36Sopenharmony_ci }; 23662306a36Sopenharmony_ci tb10x_wfb: tb10x-wfb@ff319000 { 23762306a36Sopenharmony_ci compatible = "abilis,tb100-wfb"; 23862306a36Sopenharmony_ci reg = <0xff319000 0x1000>; 23962306a36Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 24062306a36Sopenharmony_ci interrupts = <16 8>; 24162306a36Sopenharmony_ci }; 24262306a36Sopenharmony_ci }; 24362306a36Sopenharmony_ci}; 244