15584b4daSMax Filippov/ {
242beb762SBaruch Siach	compatible = "cdns,xtensa-xtfpga";
35584b4daSMax Filippov	#address-cells = <1>;
45584b4daSMax Filippov	#size-cells = <1>;
55584b4daSMax Filippov	interrupt-parent = <&pic>;
65584b4daSMax Filippov
75584b4daSMax Filippov	chosen {
856b9f9d6SMax Filippov		bootargs = "earlycon=uart8250,mmio32native,0xfd050020,115200n8 console=ttyS0,115200n8 ip=dhcp root=/dev/nfs rw debug";
95584b4daSMax Filippov	};
105584b4daSMax Filippov
115584b4daSMax Filippov	memory@0 {
125584b4daSMax Filippov		device_type = "memory";
135584b4daSMax Filippov		reg = <0x00000000 0x06000000>;
145584b4daSMax Filippov	};
155584b4daSMax Filippov
165584b4daSMax Filippov	cpus {
175584b4daSMax Filippov		#address-cells = <1>;
185584b4daSMax Filippov		#size-cells = <0>;
195584b4daSMax Filippov		cpu@0 {
2042beb762SBaruch Siach			compatible = "cdns,xtensa-cpu";
215584b4daSMax Filippov			reg = <0>;
225584b4daSMax Filippov			/* Filled in by platform_setup from FPGA register
235584b4daSMax Filippov			 * clock-frequency = <100000000>;
245584b4daSMax Filippov			 */
255584b4daSMax Filippov		};
265584b4daSMax Filippov	};
275584b4daSMax Filippov
285584b4daSMax Filippov	pic: pic {
29cbd1de2eSMax Filippov		compatible = "cdns,xtensa-pic";
305584b4daSMax Filippov		/* one cell: internal irq number,
315584b4daSMax Filippov		 * two cells: second cell == 0: internal irq number
325584b4daSMax Filippov		 *            second cell == 1: external irq number
335584b4daSMax Filippov		 */
345584b4daSMax Filippov		#interrupt-cells = <2>;
355584b4daSMax Filippov		interrupt-controller;
365584b4daSMax Filippov	};
375584b4daSMax Filippov
38cdc9af7cSMax Filippov	clocks {
39cdc9af7cSMax Filippov		osc: main-oscillator {
40cdc9af7cSMax Filippov			#clock-cells = <0>;
41cdc9af7cSMax Filippov			compatible = "fixed-clock";
42cdc9af7cSMax Filippov		};
43c2c62e61SMax Filippov
44c2c62e61SMax Filippov		clk54: clk54 {
45c2c62e61SMax Filippov			#clock-cells = <0>;
46c2c62e61SMax Filippov			compatible = "fixed-clock";
47c2c62e61SMax Filippov			clock-frequency = <54000000>;
48c2c62e61SMax Filippov		};
49cdc9af7cSMax Filippov	};
50cdc9af7cSMax Filippov
5108a7bbf6SMax Filippov	soc {
5208a7bbf6SMax Filippov		#address-cells = <1>;
5308a7bbf6SMax Filippov		#size-cells = <1>;
5408a7bbf6SMax Filippov		compatible = "simple-bus";
5508a7bbf6SMax Filippov		ranges = <0x00000000 0xf0000000 0x10000000>;
5608a7bbf6SMax Filippov
5708a7bbf6SMax Filippov		serial0: serial@0d050020 {
585584b4daSMax Filippov			device_type = "serial";
595584b4daSMax Filippov			compatible = "ns16550a";
605584b4daSMax Filippov			no-loopback-test;
6108a7bbf6SMax Filippov			reg = <0x0d050020 0x20>;
625584b4daSMax Filippov			reg-shift = <2>;
63abfbd895SMax Filippov			reg-io-width = <4>;
64abfbd895SMax Filippov			native-endian;
655584b4daSMax Filippov			interrupts = <0 1>; /* external irq 0 */
66cdc9af7cSMax Filippov			clocks = <&osc>;
675584b4daSMax Filippov		};
685584b4daSMax Filippov
6908a7bbf6SMax Filippov		enet0: ethoc@0d030000 {
705584b4daSMax Filippov			compatible = "opencores,ethoc";
7108a7bbf6SMax Filippov			reg = <0x0d030000 0x4000 0x0d800000 0x4000>;
72d99434e1SMax Filippov			native-endian;
735584b4daSMax Filippov			interrupts = <1 1>; /* external irq 1 */
745584b4daSMax Filippov			local-mac-address = [00 50 c2 13 6f 00];
752bc2fde6SMax Filippov			clocks = <&osc>;
765584b4daSMax Filippov		};
77c2c62e61SMax Filippov
78c2c62e61SMax Filippov		i2s0: xtfpga-i2s@0d080000 {
79c2c62e61SMax Filippov			#sound-dai-cells = <0>;
80c2c62e61SMax Filippov			compatible = "cdns,xtfpga-i2s";
81c2c62e61SMax Filippov			reg = <0x0d080000 0x40>;
82c2c62e61SMax Filippov			interrupts = <2 1>; /* external irq 2 */
83c2c62e61SMax Filippov			clocks = <&cdce706 4>;
84c2c62e61SMax Filippov		};
85c2c62e61SMax Filippov
86c2c62e61SMax Filippov		i2c0: i2c-master@0d090000 {
87c2c62e61SMax Filippov			compatible = "opencores,i2c-ocores";
88c2c62e61SMax Filippov			#address-cells = <1>;
89c2c62e61SMax Filippov			#size-cells = <0>;
90c2c62e61SMax Filippov			reg = <0x0d090000 0x20>;
91c2c62e61SMax Filippov			reg-shift = <2>;
92bce299caSMax Filippov			reg-io-width = <4>;
93bce299caSMax Filippov			native-endian;
94c2c62e61SMax Filippov			interrupts = <4 1>;
95c2c62e61SMax Filippov			clocks = <&osc>;
96c2c62e61SMax Filippov
97c2c62e61SMax Filippov			cdce706: clock-synth@69 {
98c2c62e61SMax Filippov				compatible = "ti,cdce706";
99c2c62e61SMax Filippov				#clock-cells = <1>;
100c2c62e61SMax Filippov				reg = <0x69>;
101c2c62e61SMax Filippov				clocks = <&clk54>;
102c2c62e61SMax Filippov				clock-names = "clk_in0";
103c2c62e61SMax Filippov			};
104c2c62e61SMax Filippov		};
105c2c62e61SMax Filippov
106c2c62e61SMax Filippov		spi0: spi-master@0d0a0000 {
107c2c62e61SMax Filippov			compatible = "cdns,xtfpga-spi";
108c2c62e61SMax Filippov			#address-cells = <1>;
109c2c62e61SMax Filippov			#size-cells = <0>;
110c2c62e61SMax Filippov			reg = <0x0d0a0000 0xc>;
111c2c62e61SMax Filippov
112c2c62e61SMax Filippov			tlv320aic23: sound-codec@0 {
113c2c62e61SMax Filippov				#sound-dai-cells = <0>;
114c2c62e61SMax Filippov				compatible = "tlv320aic23";
115c2c62e61SMax Filippov				reg = <0>;
116c2c62e61SMax Filippov				spi-max-frequency = <12500000>;
117c2c62e61SMax Filippov			};
118c2c62e61SMax Filippov		};
119c2c62e61SMax Filippov	};
120c2c62e61SMax Filippov
121c2c62e61SMax Filippov	sound {
122c2c62e61SMax Filippov		compatible = "simple-audio-card";
123c2c62e61SMax Filippov		simple-audio-card,format = "i2s";
124c2c62e61SMax Filippov		simple-audio-card,mclk-fs = <256>;
125c2c62e61SMax Filippov
126c2c62e61SMax Filippov		simple-audio-card,cpu {
127c2c62e61SMax Filippov			sound-dai = <&i2s0>;
128c2c62e61SMax Filippov		};
129c2c62e61SMax Filippov
130c2c62e61SMax Filippov		simple-audio-card,codec {
131c2c62e61SMax Filippov			sound-dai = <&tlv320aic23>;
132c2c62e61SMax Filippov			simple-audio-card,bitclock-master = <0>;
133c2c62e61SMax Filippov			simple-audio-card,frame-master = <0>;
134c2c62e61SMax Filippov			clocks = <&cdce706 4>;
135c2c62e61SMax Filippov		};
1365584b4daSMax Filippov	};
13708a7bbf6SMax Filippov};
138