nsimosci_hs_idu.dts 2.5 KB
Newer Older
1 2 3 4 5 6 7 8 9
/*
 * Copyright (C) 2014-15 Synopsys, Inc. (www.synopsys.com)
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */
/dts-v1/;

10
/include/ "skeleton_hs_idu.dtsi"
11 12

/ {
13
	model = "snps,nsimosci_hs-smp";
14 15 16 17 18 19 20
	compatible = "snps,nsimosci_hs";
	#address-cells = <1>;
	#size-cells = <1>;
	interrupt-parent = <&core_intc>;

	chosen {
		/* this is for console on serial */
21
		bootargs = "earlycon=uart8250,mmio32,0xf0000000,115200n8 console=tty0 console=ttyS0,115200n8 consoleblan=0 debug video=640x480-24";
22 23 24 25 26 27 28 29 30 31 32 33 34 35
	};

	aliases {
		serial0 = &uart0;
	};

	fpga {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;

		/* child and parent address space 1:1 mapped */
		ranges;

36 37 38 39 40 41
		core_clk: core_clk {
			#clock-cells = <0>;
			compatible = "fixed-clock";
			clock-frequency = <5000000>;
		};

42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
		core_intc: core-interrupt-controller {
			compatible = "snps,archs-intc";
			interrupt-controller;
			#interrupt-cells = <1>;
/*			interrupts = <16 17 18 19 20 21 22 23 24 25>; */
		};

		idu_intc: idu-interrupt-controller {
			compatible = "snps,archs-idu-intc";
			interrupt-controller;
			interrupt-parent = <&core_intc>;

			/*
			 * <hwirq  distribution>
			 * distribution: 0=RR; 1=cpu0, 2=cpu1, 4=cpu2, 8=cpu3
			 */
			#interrupt-cells = <2>;

			/*
			 * upstream irqs to core intc - downstream these are
			 * "COMMON" irq 0,1..
			 */
			interrupts = <24 25 26 27 28 29 30 31>;
		};

		uart0: serial@f0000000 {
			compatible = "ns8250";
			reg = <0xf0000000 0x2000>;
			interrupt-parent = <&idu_intc>;
			interrupts = <0 0>; /* cmn irq 0 -> cpu irq 24
						RR distribute to all cpus */
			clock-frequency = <3686400>;
			baud = <115200>;
			reg-shift = <2>;
			reg-io-width = <4>;
			no-loopback-test = <1>;
		};

80 81 82 83 84 85 86 87
		pguclk: pguclk {
			#clock-cells = <0>;
			compatible = "fixed-clock";
			clock-frequency = <25175000>;
		};

		pgu@f9000000 {
			compatible = "snps,arcpgu";
88
			reg = <0xf9000000 0x400>;
89 90
			clocks = <&pguclk>;
			clock-names = "pxlclk";
91 92 93 94 95 96 97 98 99 100 101
		};

		ps2: ps2@f9001000 {
			compatible = "snps,arc_ps2";
			reg = <0xf9000400 0x14>;
			interrupts = <3 0>;
			interrupt-parent = <&idu_intc>;
			interrupt-names = "arc_ps2_irq";
		};

		eth0: ethernet@f0003000 {
102
			compatible = "ezchip,nps-mgt-enet";
103 104
			reg = <0xf0003000 0x44>;
			interrupt-parent = <&idu_intc>;
105
			interrupts = <1 2>;
106 107 108 109 110 111 112 113 114
		};

		arcpct0: pct {
			compatible = "snps,archs-pct";
			#interrupt-cells = <1>;
			interrupts = <20>;
		};
	};
};