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