xref: /rk3399_rockchip-uboot/arch/xtensa/dts/xtfpga.dtsi (revision 7e270ec3af02d2358f9a454ba0d0bb39f07d14b6)
1*7e270ec3SChris Zankel/ {
2*7e270ec3SChris Zankel	compatible = "cdns,xtensa-xtfpga";
3*7e270ec3SChris Zankel	#address-cells = <1>;
4*7e270ec3SChris Zankel	#size-cells = <1>;
5*7e270ec3SChris Zankel	interrupt-parent = <&pic>;
6*7e270ec3SChris Zankel
7*7e270ec3SChris Zankel	chosen {
8*7e270ec3SChris Zankel		bootargs = "earlycon=uart8250,mmio32native,0xfd050020,115200n8 console=ttyS0,115200n8 ip=dhcp root=/dev/nfs rw debug";
9*7e270ec3SChris Zankel	};
10*7e270ec3SChris Zankel
11*7e270ec3SChris Zankel	memory@0 {
12*7e270ec3SChris Zankel		device_type = "memory";
13*7e270ec3SChris Zankel		reg = <0x00000000 0x06000000>;
14*7e270ec3SChris Zankel	};
15*7e270ec3SChris Zankel
16*7e270ec3SChris Zankel	cpus {
17*7e270ec3SChris Zankel		#address-cells = <1>;
18*7e270ec3SChris Zankel		#size-cells = <0>;
19*7e270ec3SChris Zankel		cpu@0 {
20*7e270ec3SChris Zankel			compatible = "cdns,xtensa-cpu";
21*7e270ec3SChris Zankel			reg = <0>;
22*7e270ec3SChris Zankel			/* Filled in by platform_setup from FPGA register
23*7e270ec3SChris Zankel			 * clock-frequency = <100000000>;
24*7e270ec3SChris Zankel			 */
25*7e270ec3SChris Zankel		};
26*7e270ec3SChris Zankel	};
27*7e270ec3SChris Zankel
28*7e270ec3SChris Zankel	pic: pic {
29*7e270ec3SChris Zankel		compatible = "cdns,xtensa-pic";
30*7e270ec3SChris Zankel		/* one cell: internal irq number,
31*7e270ec3SChris Zankel		 * two cells: second cell == 0: internal irq number
32*7e270ec3SChris Zankel		 *            second cell == 1: external irq number
33*7e270ec3SChris Zankel		 */
34*7e270ec3SChris Zankel		#interrupt-cells = <2>;
35*7e270ec3SChris Zankel		interrupt-controller;
36*7e270ec3SChris Zankel	};
37*7e270ec3SChris Zankel
38*7e270ec3SChris Zankel	clocks {
39*7e270ec3SChris Zankel		osc: main-oscillator {
40*7e270ec3SChris Zankel			#clock-cells = <0>;
41*7e270ec3SChris Zankel			compatible = "fixed-clock";
42*7e270ec3SChris Zankel		};
43*7e270ec3SChris Zankel
44*7e270ec3SChris Zankel		clk54: clk54 {
45*7e270ec3SChris Zankel			#clock-cells = <0>;
46*7e270ec3SChris Zankel			compatible = "fixed-clock";
47*7e270ec3SChris Zankel			clock-frequency = <54000000>;
48*7e270ec3SChris Zankel		};
49*7e270ec3SChris Zankel	};
50*7e270ec3SChris Zankel
51*7e270ec3SChris Zankel	soc {
52*7e270ec3SChris Zankel		#address-cells = <1>;
53*7e270ec3SChris Zankel		#size-cells = <1>;
54*7e270ec3SChris Zankel		compatible = "simple-bus";
55*7e270ec3SChris Zankel		ranges = <0x00000000 0xf0000000 0x10000000>;
56*7e270ec3SChris Zankel
57*7e270ec3SChris Zankel		serial0: serial@0d050020 {
58*7e270ec3SChris Zankel			device_type = "serial";
59*7e270ec3SChris Zankel			compatible = "ns16550a";
60*7e270ec3SChris Zankel			no-loopback-test;
61*7e270ec3SChris Zankel			reg = <0x0d050020 0x20>;
62*7e270ec3SChris Zankel			reg-shift = <2>;
63*7e270ec3SChris Zankel			reg-io-width = <4>;
64*7e270ec3SChris Zankel			native-endian;
65*7e270ec3SChris Zankel			interrupts = <0 1>; /* external irq 0 */
66*7e270ec3SChris Zankel			clocks = <&osc>;
67*7e270ec3SChris Zankel		};
68*7e270ec3SChris Zankel
69*7e270ec3SChris Zankel		enet0: ethoc@0d030000 {
70*7e270ec3SChris Zankel			compatible = "opencores,ethoc";
71*7e270ec3SChris Zankel			reg = <0x0d030000 0x4000 0x0d800000 0x4000>;
72*7e270ec3SChris Zankel			native-endian;
73*7e270ec3SChris Zankel			interrupts = <1 1>; /* external irq 1 */
74*7e270ec3SChris Zankel			local-mac-address = [00 50 c2 13 6f 00];
75*7e270ec3SChris Zankel			clocks = <&osc>;
76*7e270ec3SChris Zankel		};
77*7e270ec3SChris Zankel
78*7e270ec3SChris Zankel		i2s0: xtfpga-i2s@0d080000 {
79*7e270ec3SChris Zankel			#sound-dai-cells = <0>;
80*7e270ec3SChris Zankel			compatible = "cdns,xtfpga-i2s";
81*7e270ec3SChris Zankel			reg = <0x0d080000 0x40>;
82*7e270ec3SChris Zankel			interrupts = <2 1>; /* external irq 2 */
83*7e270ec3SChris Zankel			clocks = <&cdce706 4>;
84*7e270ec3SChris Zankel		};
85*7e270ec3SChris Zankel
86*7e270ec3SChris Zankel		i2c0: i2c-master@0d090000 {
87*7e270ec3SChris Zankel			compatible = "opencores,i2c-ocores";
88*7e270ec3SChris Zankel			#address-cells = <1>;
89*7e270ec3SChris Zankel			#size-cells = <0>;
90*7e270ec3SChris Zankel			reg = <0x0d090000 0x20>;
91*7e270ec3SChris Zankel			reg-shift = <2>;
92*7e270ec3SChris Zankel			reg-io-width = <4>;
93*7e270ec3SChris Zankel			native-endian;
94*7e270ec3SChris Zankel			interrupts = <4 1>;
95*7e270ec3SChris Zankel			clocks = <&osc>;
96*7e270ec3SChris Zankel
97*7e270ec3SChris Zankel			cdce706: clock-synth@69 {
98*7e270ec3SChris Zankel				compatible = "ti,cdce706";
99*7e270ec3SChris Zankel				#clock-cells = <1>;
100*7e270ec3SChris Zankel				reg = <0x69>;
101*7e270ec3SChris Zankel				clocks = <&clk54>;
102*7e270ec3SChris Zankel				clock-names = "clk_in0";
103*7e270ec3SChris Zankel			};
104*7e270ec3SChris Zankel		};
105*7e270ec3SChris Zankel
106*7e270ec3SChris Zankel		spi0: spi-master@0d0a0000 {
107*7e270ec3SChris Zankel			compatible = "cdns,xtfpga-spi";
108*7e270ec3SChris Zankel			#address-cells = <1>;
109*7e270ec3SChris Zankel			#size-cells = <0>;
110*7e270ec3SChris Zankel			reg = <0x0d0a0000 0xc>;
111*7e270ec3SChris Zankel
112*7e270ec3SChris Zankel			tlv320aic23: sound-codec@0 {
113*7e270ec3SChris Zankel				#sound-dai-cells = <0>;
114*7e270ec3SChris Zankel				compatible = "tlv320aic23";
115*7e270ec3SChris Zankel				reg = <0>;
116*7e270ec3SChris Zankel				spi-max-frequency = <12500000>;
117*7e270ec3SChris Zankel			};
118*7e270ec3SChris Zankel		};
119*7e270ec3SChris Zankel	};
120*7e270ec3SChris Zankel
121*7e270ec3SChris Zankel	sound {
122*7e270ec3SChris Zankel		compatible = "simple-audio-card";
123*7e270ec3SChris Zankel		simple-audio-card,format = "i2s";
124*7e270ec3SChris Zankel		simple-audio-card,mclk-fs = <256>;
125*7e270ec3SChris Zankel
126*7e270ec3SChris Zankel		simple-audio-card,cpu {
127*7e270ec3SChris Zankel			sound-dai = <&i2s0>;
128*7e270ec3SChris Zankel		};
129*7e270ec3SChris Zankel
130*7e270ec3SChris Zankel		simple-audio-card,codec {
131*7e270ec3SChris Zankel			sound-dai = <&tlv320aic23>;
132*7e270ec3SChris Zankel			simple-audio-card,bitclock-master = <0>;
133*7e270ec3SChris Zankel			simple-audio-card,frame-master = <0>;
134*7e270ec3SChris Zankel			clocks = <&cdce706 4>;
135*7e270ec3SChris Zankel		};
136*7e270ec3SChris Zankel	};
137*7e270ec3SChris Zankel};
138