Commit bae2d72507abe8e17bdac30027c8748d22721024
Committed by
Andes
1 parent
f810b0a0d3
Exists in
smarc_8mq_lf_v2020.04
and in
11 other branches
riscv: dts: Add ae350_32.dts for RV32I
Add ae350_32.dts for 32 bit. And also rename ae350.dts to ae350_64.dts for 64 bit. Signed-off-by: Rick Chen <rick@andestech.com> Cc: Greentime Hu <greentime@andestech.com>
Showing 3 changed files with 458 additions and 1 deletions Side-by-side Diff
arch/riscv/dts/Makefile
arch/riscv/dts/ae350_32.dts
1 | +/dts-v1/; | |
2 | + | |
3 | +/ { | |
4 | + #address-cells = <1>; | |
5 | + #size-cells = <1>; | |
6 | + compatible = "andestech,a25"; | |
7 | + model = "andestech,a25"; | |
8 | + | |
9 | + aliases { | |
10 | + uart0 = &serial0; | |
11 | + spi0 = &spi; | |
12 | + }; | |
13 | + | |
14 | + chosen { | |
15 | + bootargs = "console=ttyS0,38400n8 debug loglevel=7"; | |
16 | + stdout-path = "uart0:38400n8"; | |
17 | + }; | |
18 | + | |
19 | + cpus { | |
20 | + #address-cells = <1>; | |
21 | + #size-cells = <0>; | |
22 | + timebase-frequency = <60000000>; | |
23 | + CPU0: cpu@0 { | |
24 | + device_type = "cpu"; | |
25 | + reg = <0>; | |
26 | + status = "okay"; | |
27 | + compatible = "riscv"; | |
28 | + riscv,isa = "rv32imafdc"; | |
29 | + mmu-type = "riscv,sv32"; | |
30 | + clock-frequency = <60000000>; | |
31 | + d-cache-size = <0x8000>; | |
32 | + d-cache-line-size = <32>; | |
33 | + CPU0_intc: interrupt-controller { | |
34 | + #interrupt-cells = <1>; | |
35 | + interrupt-controller; | |
36 | + compatible = "riscv,cpu-intc"; | |
37 | + }; | |
38 | + }; | |
39 | + }; | |
40 | + | |
41 | + memory@0 { | |
42 | + device_type = "memory"; | |
43 | + reg = <0x00000000 0x40000000>; | |
44 | + }; | |
45 | + | |
46 | + soc { | |
47 | + #address-cells = <1>; | |
48 | + #size-cells = <1>; | |
49 | + compatible = "andestech,riscv-ae350-soc"; | |
50 | + ranges; | |
51 | + | |
52 | + plic0: interrupt-controller@e4000000 { | |
53 | + compatible = "riscv,plic0"; | |
54 | + #address-cells = <1>; | |
55 | + #interrupt-cells = <1>; | |
56 | + interrupt-controller; | |
57 | + reg = <0xe4000000 0x2000000>; | |
58 | + riscv,ndev=<71>; | |
59 | + interrupts-extended = <&CPU0_intc 11 &CPU0_intc 9>; | |
60 | + }; | |
61 | + | |
62 | + plic1: interrupt-controller@e6400000 { | |
63 | + compatible = "riscv,plic1"; | |
64 | + #address-cells = <1>; | |
65 | + #interrupt-cells = <1>; | |
66 | + interrupt-controller; | |
67 | + reg = <0xe6400000 0x400000>; | |
68 | + riscv,ndev=<1>; | |
69 | + interrupts-extended = <&CPU0_intc 3>; | |
70 | + }; | |
71 | + | |
72 | + plmt0@e6000000 { | |
73 | + compatible = "riscv,plmt0"; | |
74 | + interrupts-extended = <&CPU0_intc 7>; | |
75 | + reg = <0xe6000000 0x100000>; | |
76 | + }; | |
77 | + }; | |
78 | + | |
79 | + spiclk: virt_100mhz { | |
80 | + #clock-cells = <0>; | |
81 | + compatible = "fixed-clock"; | |
82 | + clock-frequency = <100000000>; | |
83 | + }; | |
84 | + | |
85 | + timer0: timer@f0400000 { | |
86 | + compatible = "andestech,atcpit100"; | |
87 | + reg = <0xf0400000 0x1000>; | |
88 | + clock-frequency = <60000000>; | |
89 | + interrupts = <3 4>; | |
90 | + interrupt-parent = <&plic0>; | |
91 | + }; | |
92 | + | |
93 | + serial0: serial@f0300000 { | |
94 | + compatible = "andestech,uart16550", "ns16550a"; | |
95 | + reg = <0xf0300000 0x1000>; | |
96 | + interrupts = <9 4>; | |
97 | + clock-frequency = <19660800>; | |
98 | + reg-shift = <2>; | |
99 | + reg-offset = <32>; | |
100 | + no-loopback-test = <1>; | |
101 | + interrupt-parent = <&plic0>; | |
102 | + }; | |
103 | + | |
104 | + mac0: mac@e0100000 { | |
105 | + compatible = "andestech,atmac100"; | |
106 | + reg = <0xe0100000 0x1000>; | |
107 | + interrupts = <19 4>; | |
108 | + interrupt-parent = <&plic0>; | |
109 | + }; | |
110 | + | |
111 | + mmc0: mmc@f0e00000 { | |
112 | + compatible = "andestech,atfsdc010"; | |
113 | + max-frequency = <100000000>; | |
114 | + clock-freq-min-max = <400000 100000000>; | |
115 | + fifo-depth = <0x10>; | |
116 | + reg = <0xf0e00000 0x1000>; | |
117 | + interrupts = <18 4>; | |
118 | + cap-sd-highspeed; | |
119 | + interrupt-parent = <&plic0>; | |
120 | + }; | |
121 | + | |
122 | + dma0: dma@f0c00000 { | |
123 | + compatible = "andestech,atcdmac300"; | |
124 | + reg = <0xf0c00000 0x1000>; | |
125 | + interrupts = <10 4 64 4 65 4 66 4 67 4 68 4 69 4 70 4 71 4>; | |
126 | + dma-channels = <8>; | |
127 | + interrupt-parent = <&plic0>; | |
128 | + }; | |
129 | + | |
130 | + lcd0: lcd@e0200000 { | |
131 | + compatible = "andestech,atflcdc100"; | |
132 | + reg = <0xe0200000 0x1000>; | |
133 | + interrupts = <20 4>; | |
134 | + interrupt-parent = <&plic0>; | |
135 | + }; | |
136 | + | |
137 | + smc0: smc@e0400000 { | |
138 | + compatible = "andestech,atfsmc020"; | |
139 | + reg = <0xe0400000 0x1000>; | |
140 | + }; | |
141 | + | |
142 | + snd0: snd@f0d00000 { | |
143 | + compatible = "andestech,atfac97"; | |
144 | + reg = <0xf0d00000 0x1000>; | |
145 | + interrupts = <17 4>; | |
146 | + interrupt-parent = <&plic0>; | |
147 | + }; | |
148 | + | |
149 | + virtio_mmio@fe007000 { | |
150 | + interrupts = <0x17 0x4>; | |
151 | + interrupt-parent = <0x2>; | |
152 | + reg = <0xfe007000 0x1000>; | |
153 | + compatible = "virtio,mmio"; | |
154 | + }; | |
155 | + | |
156 | + virtio_mmio@fe006000 { | |
157 | + interrupts = <0x16 0x4>; | |
158 | + interrupt-parent = <0x2>; | |
159 | + reg = <0xfe006000 0x1000>; | |
160 | + compatible = "virtio,mmio"; | |
161 | + }; | |
162 | + | |
163 | + virtio_mmio@fe005000 { | |
164 | + interrupts = <0x15 0x4>; | |
165 | + interrupt-parent = <0x2>; | |
166 | + reg = <0xfe005000 0x1000>; | |
167 | + compatible = "virtio,mmio"; | |
168 | + }; | |
169 | + | |
170 | + virtio_mmio@fe004000 { | |
171 | + interrupts = <0x14 0x4>; | |
172 | + interrupt-parent = <0x2>; | |
173 | + reg = <0xfe004000 0x1000>; | |
174 | + compatible = "virtio,mmio"; | |
175 | + }; | |
176 | + | |
177 | + virtio_mmio@fe003000 { | |
178 | + interrupts = <0x13 0x4>; | |
179 | + interrupt-parent = <0x2>; | |
180 | + reg = <0xfe003000 0x1000>; | |
181 | + compatible = "virtio,mmio"; | |
182 | + }; | |
183 | + | |
184 | + virtio_mmio@fe002000 { | |
185 | + interrupts = <0x12 0x4>; | |
186 | + interrupt-parent = <0x2>; | |
187 | + reg = <0xfe002000 0x1000>; | |
188 | + compatible = "virtio,mmio"; | |
189 | + }; | |
190 | + | |
191 | + virtio_mmio@fe001000 { | |
192 | + interrupts = <0x11 0x4>; | |
193 | + interrupt-parent = <0x2>; | |
194 | + reg = <0xfe001000 0x1000>; | |
195 | + compatible = "virtio,mmio"; | |
196 | + }; | |
197 | + | |
198 | + virtio_mmio@fe000000 { | |
199 | + interrupts = <0x10 0x4>; | |
200 | + interrupt-parent = <0x2>; | |
201 | + reg = <0xfe000000 0x1000>; | |
202 | + compatible = "virtio,mmio"; | |
203 | + }; | |
204 | + | |
205 | + nor@0,0 { | |
206 | + compatible = "cfi-flash"; | |
207 | + reg = <0x88000000 0x1000>; | |
208 | + bank-width = <2>; | |
209 | + device-width = <1>; | |
210 | + }; | |
211 | + | |
212 | + spi: spi@f0b00000 { | |
213 | + compatible = "andestech,atcspi200"; | |
214 | + reg = <0xf0b00000 0x1000>; | |
215 | + #address-cells = <1>; | |
216 | + #size-cells = <0>; | |
217 | + num-cs = <1>; | |
218 | + clocks = <&spiclk>; | |
219 | + interrupts = <4 4>; | |
220 | + interrupt-parent = <&plic0>; | |
221 | + flash@0 { | |
222 | + compatible = "spi-flash"; | |
223 | + spi-max-frequency = <50000000>; | |
224 | + reg = <0>; | |
225 | + spi-cpol; | |
226 | + spi-cpha; | |
227 | + }; | |
228 | + }; | |
229 | +}; |
arch/riscv/dts/ae350_64.dts
1 | +/dts-v1/; | |
2 | + | |
3 | +/ { | |
4 | + #address-cells = <2>; | |
5 | + #size-cells = <2>; | |
6 | + compatible = "andestech,ax25"; | |
7 | + model = "andestech,ax25"; | |
8 | + | |
9 | + aliases { | |
10 | + uart0 = &serial0; | |
11 | + spi0 = &spi; | |
12 | + }; | |
13 | + | |
14 | + chosen { | |
15 | + bootargs = "console=ttyS0,38400n8 debug loglevel=7"; | |
16 | + stdout-path = "uart0:38400n8"; | |
17 | + }; | |
18 | + | |
19 | + cpus { | |
20 | + #address-cells = <1>; | |
21 | + #size-cells = <0>; | |
22 | + timebase-frequency = <60000000>; | |
23 | + CPU0: cpu@0 { | |
24 | + device_type = "cpu"; | |
25 | + reg = <0>; | |
26 | + status = "okay"; | |
27 | + compatible = "riscv"; | |
28 | + riscv,isa = "rv64imafdc"; | |
29 | + mmu-type = "riscv,sv39"; | |
30 | + clock-frequency = <60000000>; | |
31 | + d-cache-size = <0x8000>; | |
32 | + d-cache-line-size = <32>; | |
33 | + CPU0_intc: interrupt-controller { | |
34 | + #interrupt-cells = <1>; | |
35 | + interrupt-controller; | |
36 | + compatible = "riscv,cpu-intc"; | |
37 | + }; | |
38 | + }; | |
39 | + }; | |
40 | + | |
41 | + memory@0 { | |
42 | + device_type = "memory"; | |
43 | + reg = <0x0 0x00000000 0x0 0x40000000>; | |
44 | + }; | |
45 | + | |
46 | + soc { | |
47 | + #address-cells = <2>; | |
48 | + #size-cells = <2>; | |
49 | + compatible = "andestech,riscv-ae350-soc"; | |
50 | + ranges; | |
51 | + | |
52 | + plic0: interrupt-controller@e4000000 { | |
53 | + compatible = "riscv,plic0"; | |
54 | + #address-cells = <2>; | |
55 | + #interrupt-cells = <2>; | |
56 | + interrupt-controller; | |
57 | + reg = <0x0 0xe4000000 0x0 0x2000000>; | |
58 | + riscv,ndev=<71>; | |
59 | + interrupts-extended = <&CPU0_intc 11 &CPU0_intc 9>; | |
60 | + }; | |
61 | + | |
62 | + plic1: interrupt-controller@e6400000 { | |
63 | + compatible = "riscv,plic1"; | |
64 | + #address-cells = <2>; | |
65 | + #interrupt-cells = <2>; | |
66 | + interrupt-controller; | |
67 | + reg = <0x0 0xe6400000 0x0 0x400000>; | |
68 | + riscv,ndev=<1>; | |
69 | + interrupts-extended = <&CPU0_intc 3>; | |
70 | + }; | |
71 | + | |
72 | + plmt0@e6000000 { | |
73 | + compatible = "riscv,plmt0"; | |
74 | + interrupts-extended = <&CPU0_intc 7>; | |
75 | + reg = <0x0 0xe6000000 0x0 0x100000>; | |
76 | + }; | |
77 | + }; | |
78 | + | |
79 | + spiclk: virt_100mhz { | |
80 | + #clock-cells = <0>; | |
81 | + compatible = "fixed-clock"; | |
82 | + clock-frequency = <100000000>; | |
83 | + }; | |
84 | + | |
85 | + timer0: timer@f0400000 { | |
86 | + compatible = "andestech,atcpit100"; | |
87 | + reg = <0x0 0xf0400000 0x0 0x1000>; | |
88 | + clock-frequency = <60000000>; | |
89 | + interrupts = <3 4>; | |
90 | + interrupt-parent = <&plic0>; | |
91 | + }; | |
92 | + | |
93 | + serial0: serial@f0300000 { | |
94 | + compatible = "andestech,uart16550", "ns16550a"; | |
95 | + reg = <0x0 0xf0300000 0x0 0x1000>; | |
96 | + interrupts = <9 4>; | |
97 | + clock-frequency = <19660800>; | |
98 | + reg-shift = <2>; | |
99 | + reg-offset = <32>; | |
100 | + no-loopback-test = <1>; | |
101 | + interrupt-parent = <&plic0>; | |
102 | + }; | |
103 | + | |
104 | + mac0: mac@e0100000 { | |
105 | + compatible = "andestech,atmac100"; | |
106 | + reg = <0x0 0xe0100000 0x0 0x1000>; | |
107 | + interrupts = <19 4>; | |
108 | + interrupt-parent = <&plic0>; | |
109 | + }; | |
110 | + | |
111 | + mmc0: mmc@f0e00000 { | |
112 | + compatible = "andestech,atfsdc010"; | |
113 | + max-frequency = <100000000>; | |
114 | + clock-freq-min-max = <400000 100000000>; | |
115 | + fifo-depth = <0x10>; | |
116 | + reg = <0x0 0xf0e00000 0x0 0x1000>; | |
117 | + interrupts = <18 4>; | |
118 | + cap-sd-highspeed; | |
119 | + interrupt-parent = <&plic0>; | |
120 | + }; | |
121 | + | |
122 | + dma0: dma@f0c00000 { | |
123 | + compatible = "andestech,atcdmac300"; | |
124 | + reg = <0x0 0xf0c00000 0x0 0x1000>; | |
125 | + interrupts = <10 4 64 4 65 4 66 4 67 4 68 4 69 4 70 4 71 4>; | |
126 | + dma-channels = <8>; | |
127 | + interrupt-parent = <&plic0>; | |
128 | + }; | |
129 | + | |
130 | + lcd0: lcd@e0200000 { | |
131 | + compatible = "andestech,atflcdc100"; | |
132 | + reg = <0x0 0xe0200000 0x0 0x1000>; | |
133 | + interrupts = <20 4>; | |
134 | + interrupt-parent = <&plic0>; | |
135 | + }; | |
136 | + | |
137 | + smc0: smc@e0400000 { | |
138 | + compatible = "andestech,atfsmc020"; | |
139 | + reg = <0x0 0xe0400000 0x0 0x1000>; | |
140 | + }; | |
141 | + | |
142 | + snd0: snd@f0d00000 { | |
143 | + compatible = "andestech,atfac97"; | |
144 | + reg = <0x0 0xf0d00000 0x0 0x1000>; | |
145 | + interrupts = <17 4>; | |
146 | + interrupt-parent = <&plic0>; | |
147 | + }; | |
148 | + | |
149 | + virtio_mmio@fe007000 { | |
150 | + interrupts = <0x17 0x4>; | |
151 | + interrupt-parent = <0x2>; | |
152 | + reg = <0x0 0xfe007000 0x0 0x1000>; | |
153 | + compatible = "virtio,mmio"; | |
154 | + }; | |
155 | + | |
156 | + virtio_mmio@fe006000 { | |
157 | + interrupts = <0x16 0x4>; | |
158 | + interrupt-parent = <0x2>; | |
159 | + reg = <0x0 0xfe006000 0x0 0x1000>; | |
160 | + compatible = "virtio,mmio"; | |
161 | + }; | |
162 | + | |
163 | + virtio_mmio@fe005000 { | |
164 | + interrupts = <0x15 0x4>; | |
165 | + interrupt-parent = <0x2>; | |
166 | + reg = <0x0 0xfe005000 0x0 0x1000>; | |
167 | + compatible = "virtio,mmio"; | |
168 | + }; | |
169 | + | |
170 | + virtio_mmio@fe004000 { | |
171 | + interrupts = <0x14 0x4>; | |
172 | + interrupt-parent = <0x2>; | |
173 | + reg = <0x0 0xfe004000 0x0 0x1000>; | |
174 | + compatible = "virtio,mmio"; | |
175 | + }; | |
176 | + | |
177 | + virtio_mmio@fe003000 { | |
178 | + interrupts = <0x13 0x4>; | |
179 | + interrupt-parent = <0x2>; | |
180 | + reg = <0x0 0xfe003000 0x0 0x1000>; | |
181 | + compatible = "virtio,mmio"; | |
182 | + }; | |
183 | + | |
184 | + virtio_mmio@fe002000 { | |
185 | + interrupts = <0x12 0x4>; | |
186 | + interrupt-parent = <0x2>; | |
187 | + reg = <0x0 0xfe002000 0x0 0x1000>; | |
188 | + compatible = "virtio,mmio"; | |
189 | + }; | |
190 | + | |
191 | + virtio_mmio@fe001000 { | |
192 | + interrupts = <0x11 0x4>; | |
193 | + interrupt-parent = <0x2>; | |
194 | + reg = <0x0 0xfe001000 0x0 0x1000>; | |
195 | + compatible = "virtio,mmio"; | |
196 | + }; | |
197 | + | |
198 | + virtio_mmio@fe000000 { | |
199 | + interrupts = <0x10 0x4>; | |
200 | + interrupt-parent = <0x2>; | |
201 | + reg = <0x0 0xfe000000 0x0 0x1000>; | |
202 | + compatible = "virtio,mmio"; | |
203 | + }; | |
204 | + | |
205 | + nor@0,0 { | |
206 | + compatible = "cfi-flash"; | |
207 | + reg = <0x0 0x88000000 0x0 0x1000>; | |
208 | + bank-width = <2>; | |
209 | + device-width = <1>; | |
210 | + }; | |
211 | + | |
212 | + spi: spi@f0b00000 { | |
213 | + compatible = "andestech,atcspi200"; | |
214 | + reg = <0x0 0xf0b00000 0x0 0x1000>; | |
215 | + #address-cells = <1>; | |
216 | + #size-cells = <0>; | |
217 | + num-cs = <1>; | |
218 | + clocks = <&spiclk>; | |
219 | + interrupts = <4 4>; | |
220 | + interrupt-parent = <&plic0>; | |
221 | + flash@0 { | |
222 | + compatible = "spi-flash"; | |
223 | + spi-max-frequency = <50000000>; | |
224 | + reg = <0>; | |
225 | + spi-cpol; | |
226 | + spi-cpha; | |
227 | + }; | |
228 | + }; | |
229 | +}; |