18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci/ {
38c2ecf20Sopenharmony_ci	compatible = "cdns,xtensa-xtfpga";
48c2ecf20Sopenharmony_ci	#address-cells = <1>;
58c2ecf20Sopenharmony_ci	#size-cells = <1>;
68c2ecf20Sopenharmony_ci	interrupt-parent = <&pic>;
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci	chosen {
98c2ecf20Sopenharmony_ci		bootargs = "earlycon=uart8250,mmio32native,0xfd050020,115200n8 console=ttyS0,115200n8 ip=dhcp root=/dev/nfs rw debug";
108c2ecf20Sopenharmony_ci	};
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci	memory@0 {
138c2ecf20Sopenharmony_ci		device_type = "memory";
148c2ecf20Sopenharmony_ci		reg = <0x00000000 0x06000000>;
158c2ecf20Sopenharmony_ci	};
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci	cpus {
188c2ecf20Sopenharmony_ci		#address-cells = <1>;
198c2ecf20Sopenharmony_ci		#size-cells = <0>;
208c2ecf20Sopenharmony_ci		cpu@0 {
218c2ecf20Sopenharmony_ci			compatible = "cdns,xtensa-cpu";
228c2ecf20Sopenharmony_ci			reg = <0>;
238c2ecf20Sopenharmony_ci			clocks = <&osc>;
248c2ecf20Sopenharmony_ci		};
258c2ecf20Sopenharmony_ci	};
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci	pic: pic {
288c2ecf20Sopenharmony_ci		compatible = "cdns,xtensa-pic";
298c2ecf20Sopenharmony_ci		/* one cell: internal irq number,
308c2ecf20Sopenharmony_ci		 * two cells: second cell == 0: internal irq number
318c2ecf20Sopenharmony_ci		 *            second cell == 1: external irq number
328c2ecf20Sopenharmony_ci		 */
338c2ecf20Sopenharmony_ci		#interrupt-cells = <2>;
348c2ecf20Sopenharmony_ci		interrupt-controller;
358c2ecf20Sopenharmony_ci	};
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci	clocks {
388c2ecf20Sopenharmony_ci		clk54: clk54 {
398c2ecf20Sopenharmony_ci			#clock-cells = <0>;
408c2ecf20Sopenharmony_ci			compatible = "fixed-clock";
418c2ecf20Sopenharmony_ci			clock-frequency = <54000000>;
428c2ecf20Sopenharmony_ci		};
438c2ecf20Sopenharmony_ci	};
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci	soc {
468c2ecf20Sopenharmony_ci		#address-cells = <1>;
478c2ecf20Sopenharmony_ci		#size-cells = <1>;
488c2ecf20Sopenharmony_ci		compatible = "simple-bus";
498c2ecf20Sopenharmony_ci		ranges = <0x00000000 0xf0000000 0x10000000>;
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci		osc: main-oscillator {
528c2ecf20Sopenharmony_ci			#clock-cells = <0>;
538c2ecf20Sopenharmony_ci			compatible = "cdns,xtfpga-clock";
548c2ecf20Sopenharmony_ci			reg = <0x0d020004 0x4>;
558c2ecf20Sopenharmony_ci		};
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci		serial0: serial@0d050020 {
588c2ecf20Sopenharmony_ci			device_type = "serial";
598c2ecf20Sopenharmony_ci			compatible = "ns16550a";
608c2ecf20Sopenharmony_ci			no-loopback-test;
618c2ecf20Sopenharmony_ci			reg = <0x0d050020 0x20>;
628c2ecf20Sopenharmony_ci			reg-shift = <2>;
638c2ecf20Sopenharmony_ci			reg-io-width = <4>;
648c2ecf20Sopenharmony_ci			native-endian;
658c2ecf20Sopenharmony_ci			interrupts = <0 1>; /* external irq 0 */
668c2ecf20Sopenharmony_ci			clocks = <&osc>;
678c2ecf20Sopenharmony_ci		};
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ci		enet0: ethoc@0d030000 {
708c2ecf20Sopenharmony_ci			compatible = "opencores,ethoc";
718c2ecf20Sopenharmony_ci			reg = <0x0d030000 0x4000 0x0d800000 0x4000>;
728c2ecf20Sopenharmony_ci			native-endian;
738c2ecf20Sopenharmony_ci			interrupts = <1 1>; /* external irq 1 */
748c2ecf20Sopenharmony_ci			local-mac-address = [00 50 c2 13 6f 00];
758c2ecf20Sopenharmony_ci			clocks = <&osc>;
768c2ecf20Sopenharmony_ci		};
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ci		i2s0: xtfpga-i2s@0d080000 {
798c2ecf20Sopenharmony_ci			#sound-dai-cells = <0>;
808c2ecf20Sopenharmony_ci			compatible = "cdns,xtfpga-i2s";
818c2ecf20Sopenharmony_ci			reg = <0x0d080000 0x40>;
828c2ecf20Sopenharmony_ci			interrupts = <2 1>; /* external irq 2 */
838c2ecf20Sopenharmony_ci			clocks = <&cdce706 4>;
848c2ecf20Sopenharmony_ci		};
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_ci		i2c0: i2c-master@0d090000 {
878c2ecf20Sopenharmony_ci			compatible = "opencores,i2c-ocores";
888c2ecf20Sopenharmony_ci			#address-cells = <1>;
898c2ecf20Sopenharmony_ci			#size-cells = <0>;
908c2ecf20Sopenharmony_ci			reg = <0x0d090000 0x20>;
918c2ecf20Sopenharmony_ci			reg-shift = <2>;
928c2ecf20Sopenharmony_ci			reg-io-width = <4>;
938c2ecf20Sopenharmony_ci			native-endian;
948c2ecf20Sopenharmony_ci			interrupts = <4 1>;
958c2ecf20Sopenharmony_ci			clocks = <&osc>;
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ci			cdce706: clock-synth@69 {
988c2ecf20Sopenharmony_ci				compatible = "ti,cdce706";
998c2ecf20Sopenharmony_ci				#clock-cells = <1>;
1008c2ecf20Sopenharmony_ci				reg = <0x69>;
1018c2ecf20Sopenharmony_ci				clocks = <&clk54>;
1028c2ecf20Sopenharmony_ci				clock-names = "clk_in0";
1038c2ecf20Sopenharmony_ci			};
1048c2ecf20Sopenharmony_ci		};
1058c2ecf20Sopenharmony_ci
1068c2ecf20Sopenharmony_ci		spi0: spi@0d0a0000 {
1078c2ecf20Sopenharmony_ci			compatible = "cdns,xtfpga-spi";
1088c2ecf20Sopenharmony_ci			#address-cells = <1>;
1098c2ecf20Sopenharmony_ci			#size-cells = <0>;
1108c2ecf20Sopenharmony_ci			reg = <0x0d0a0000 0xc>;
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ci			tlv320aic23: sound-codec@0 {
1138c2ecf20Sopenharmony_ci				#sound-dai-cells = <0>;
1148c2ecf20Sopenharmony_ci				compatible = "tlv320aic23";
1158c2ecf20Sopenharmony_ci				reg = <0>;
1168c2ecf20Sopenharmony_ci				spi-max-frequency = <12500000>;
1178c2ecf20Sopenharmony_ci			};
1188c2ecf20Sopenharmony_ci		};
1198c2ecf20Sopenharmony_ci	};
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ci	sound {
1228c2ecf20Sopenharmony_ci		compatible = "simple-audio-card";
1238c2ecf20Sopenharmony_ci		simple-audio-card,format = "i2s";
1248c2ecf20Sopenharmony_ci		simple-audio-card,mclk-fs = <256>;
1258c2ecf20Sopenharmony_ci
1268c2ecf20Sopenharmony_ci		simple-audio-card,cpu {
1278c2ecf20Sopenharmony_ci			sound-dai = <&i2s0>;
1288c2ecf20Sopenharmony_ci		};
1298c2ecf20Sopenharmony_ci
1308c2ecf20Sopenharmony_ci		simple-audio-card,codec {
1318c2ecf20Sopenharmony_ci			sound-dai = <&tlv320aic23>;
1328c2ecf20Sopenharmony_ci			simple-audio-card,bitclock-master = <0>;
1338c2ecf20Sopenharmony_ci			simple-audio-card,frame-master = <0>;
1348c2ecf20Sopenharmony_ci			clocks = <&cdce706 4>;
1358c2ecf20Sopenharmony_ci		};
1368c2ecf20Sopenharmony_ci	};
1378c2ecf20Sopenharmony_ci};
138