162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/ {
362306a36Sopenharmony_ci	compatible = "cdns,xtensa-xtfpga";
462306a36Sopenharmony_ci	#address-cells = <1>;
562306a36Sopenharmony_ci	#size-cells = <1>;
662306a36Sopenharmony_ci	interrupt-parent = <&pic>;
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci	chosen {
962306a36Sopenharmony_ci		bootargs = "earlycon=uart8250,mmio32native,0xfd050020,115200n8 console=ttyS0,115200n8 ip=dhcp root=/dev/nfs rw debug";
1062306a36Sopenharmony_ci	};
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci	memory@0 {
1362306a36Sopenharmony_ci		device_type = "memory";
1462306a36Sopenharmony_ci		reg = <0x00000000 0x06000000>;
1562306a36Sopenharmony_ci	};
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci	cpus {
1862306a36Sopenharmony_ci		#address-cells = <1>;
1962306a36Sopenharmony_ci		#size-cells = <0>;
2062306a36Sopenharmony_ci		cpu@0 {
2162306a36Sopenharmony_ci			compatible = "cdns,xtensa-cpu";
2262306a36Sopenharmony_ci			reg = <0>;
2362306a36Sopenharmony_ci			clocks = <&osc>;
2462306a36Sopenharmony_ci		};
2562306a36Sopenharmony_ci	};
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci	pic: pic {
2862306a36Sopenharmony_ci		compatible = "cdns,xtensa-pic";
2962306a36Sopenharmony_ci		/* one cell: internal irq number,
3062306a36Sopenharmony_ci		 * two cells: second cell == 0: internal irq number
3162306a36Sopenharmony_ci		 *            second cell == 1: external irq number
3262306a36Sopenharmony_ci		 */
3362306a36Sopenharmony_ci		#interrupt-cells = <2>;
3462306a36Sopenharmony_ci		interrupt-controller;
3562306a36Sopenharmony_ci	};
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci	clocks {
3862306a36Sopenharmony_ci		clk54: clk54 {
3962306a36Sopenharmony_ci			#clock-cells = <0>;
4062306a36Sopenharmony_ci			compatible = "fixed-clock";
4162306a36Sopenharmony_ci			clock-frequency = <54000000>;
4262306a36Sopenharmony_ci		};
4362306a36Sopenharmony_ci	};
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci	soc {
4662306a36Sopenharmony_ci		#address-cells = <1>;
4762306a36Sopenharmony_ci		#size-cells = <1>;
4862306a36Sopenharmony_ci		compatible = "simple-bus";
4962306a36Sopenharmony_ci		ranges = <0x00000000 0xf0000000 0x10000000>;
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci		osc: main-oscillator {
5262306a36Sopenharmony_ci			#clock-cells = <0>;
5362306a36Sopenharmony_ci			compatible = "cdns,xtfpga-clock";
5462306a36Sopenharmony_ci			reg = <0x0d020004 0x4>;
5562306a36Sopenharmony_ci		};
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci		serial0: serial@0d050020 {
5862306a36Sopenharmony_ci			device_type = "serial";
5962306a36Sopenharmony_ci			compatible = "ns16550a";
6062306a36Sopenharmony_ci			no-loopback-test;
6162306a36Sopenharmony_ci			reg = <0x0d050020 0x20>;
6262306a36Sopenharmony_ci			reg-shift = <2>;
6362306a36Sopenharmony_ci			reg-io-width = <4>;
6462306a36Sopenharmony_ci			native-endian;
6562306a36Sopenharmony_ci			interrupts = <0 1>; /* external irq 0 */
6662306a36Sopenharmony_ci			clocks = <&osc>;
6762306a36Sopenharmony_ci		};
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci		enet0: ethoc@0d030000 {
7062306a36Sopenharmony_ci			compatible = "opencores,ethoc";
7162306a36Sopenharmony_ci			reg = <0x0d030000 0x4000 0x0d800000 0x4000>;
7262306a36Sopenharmony_ci			native-endian;
7362306a36Sopenharmony_ci			interrupts = <1 1>; /* external irq 1 */
7462306a36Sopenharmony_ci			local-mac-address = [00 50 c2 13 6f 00];
7562306a36Sopenharmony_ci			clocks = <&osc>;
7662306a36Sopenharmony_ci		};
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci		i2s0: xtfpga-i2s@0d080000 {
7962306a36Sopenharmony_ci			#sound-dai-cells = <0>;
8062306a36Sopenharmony_ci			compatible = "cdns,xtfpga-i2s";
8162306a36Sopenharmony_ci			reg = <0x0d080000 0x40>;
8262306a36Sopenharmony_ci			interrupts = <2 1>; /* external irq 2 */
8362306a36Sopenharmony_ci			clocks = <&cdce706 4>;
8462306a36Sopenharmony_ci		};
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci		i2c0: i2c-master@0d090000 {
8762306a36Sopenharmony_ci			compatible = "opencores,i2c-ocores";
8862306a36Sopenharmony_ci			#address-cells = <1>;
8962306a36Sopenharmony_ci			#size-cells = <0>;
9062306a36Sopenharmony_ci			reg = <0x0d090000 0x20>;
9162306a36Sopenharmony_ci			reg-shift = <2>;
9262306a36Sopenharmony_ci			reg-io-width = <4>;
9362306a36Sopenharmony_ci			native-endian;
9462306a36Sopenharmony_ci			interrupts = <4 1>;
9562306a36Sopenharmony_ci			clocks = <&osc>;
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci			cdce706: clock-synth@69 {
9862306a36Sopenharmony_ci				compatible = "ti,cdce706";
9962306a36Sopenharmony_ci				#clock-cells = <1>;
10062306a36Sopenharmony_ci				reg = <0x69>;
10162306a36Sopenharmony_ci				clocks = <&clk54>;
10262306a36Sopenharmony_ci				clock-names = "clk_in0";
10362306a36Sopenharmony_ci			};
10462306a36Sopenharmony_ci		};
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ci		spi0: spi@0d0a0000 {
10762306a36Sopenharmony_ci			compatible = "cdns,xtfpga-spi";
10862306a36Sopenharmony_ci			#address-cells = <1>;
10962306a36Sopenharmony_ci			#size-cells = <0>;
11062306a36Sopenharmony_ci			reg = <0x0d0a0000 0xc>;
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci			tlv320aic23: sound-codec@0 {
11362306a36Sopenharmony_ci				#sound-dai-cells = <0>;
11462306a36Sopenharmony_ci				compatible = "tlv320aic23";
11562306a36Sopenharmony_ci				reg = <0>;
11662306a36Sopenharmony_ci				spi-max-frequency = <12500000>;
11762306a36Sopenharmony_ci			};
11862306a36Sopenharmony_ci		};
11962306a36Sopenharmony_ci	};
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ci	sound {
12262306a36Sopenharmony_ci		compatible = "simple-audio-card";
12362306a36Sopenharmony_ci		simple-audio-card,format = "i2s";
12462306a36Sopenharmony_ci		simple-audio-card,mclk-fs = <256>;
12562306a36Sopenharmony_ci
12662306a36Sopenharmony_ci		simple-audio-card,cpu {
12762306a36Sopenharmony_ci			sound-dai = <&i2s0>;
12862306a36Sopenharmony_ci		};
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ci		simple-audio-card,codec {
13162306a36Sopenharmony_ci			sound-dai = <&tlv320aic23>;
13262306a36Sopenharmony_ci			simple-audio-card,bitclock-master = <0>;
13362306a36Sopenharmony_ci			simple-audio-card,frame-master = <0>;
13462306a36Sopenharmony_ci			clocks = <&cdce706 4>;
13562306a36Sopenharmony_ci		};
13662306a36Sopenharmony_ci	};
13762306a36Sopenharmony_ci};
138