diff options
author | Mark Hatle <mark.hatle@xilinx.com> | 2021-12-15 14:13:18 -0800 |
---|---|---|
committer | Mark Hatle <mark.hatle@xilinx.com> | 2022-01-14 15:37:05 -0800 |
commit | 2ee7ac363ce6537a51c7330dc66efd3629927952 (patch) | |
tree | 7b06acae3fdb78e2c0641c8de15cbb47ea5e87e4 /meta-xilinx-bsp/recipes-bsp | |
parent | df7dfe1605f03c236217bdf49e99837d6c150f6b (diff) | |
download | meta-xilinx-2ee7ac363ce6537a51c7330dc66efd3629927952.tar.gz |
device-tree: Break into base bb and board specific bbappend
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
Diffstat (limited to 'meta-xilinx-bsp/recipes-bsp')
9 files changed, 1212 insertions, 0 deletions
diff --git a/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bbappend b/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bbappend new file mode 100644 index 00000000..df31778c --- /dev/null +++ b/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bbappend | |||
@@ -0,0 +1,23 @@ | |||
1 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" | ||
2 | |||
3 | # device tree sources for the various machines | ||
4 | COMPATIBLE_MACHINE:picozed-zynq7 = ".*" | ||
5 | SRC_URI:append:picozed-zynq7 = " file://picozed-zynq7.dts" | ||
6 | |||
7 | COMPATIBLE_MACHINE:qemu-zynq7 = ".*" | ||
8 | SRC_URI:append:qemu-zynq7 = " file://qemu-zynq7.dts" | ||
9 | |||
10 | COMPATIBLE_MACHINE:zybo-linux-bd-zynq7 = ".*" | ||
11 | SRC_URI:append:zybo-linux-bd-zynq7 = " \ | ||
12 | file://zybo-linux-bd-zynq7.dts \ | ||
13 | file://pcw.dtsi \ | ||
14 | file://pl.dtsi \ | ||
15 | " | ||
16 | |||
17 | COMPATIBLE_MACHINE:kc705-microblazeel = ".*" | ||
18 | SRC_URI:append:kc705-microblazeel = " \ | ||
19 | file://kc705-microblazeel.dts \ | ||
20 | file://pl.dtsi \ | ||
21 | file://system-conf.dtsi \ | ||
22 | " | ||
23 | |||
diff --git a/meta-xilinx-bsp/recipes-bsp/device-tree/files/kc705-microblazeel/kc705-microblazeel.dts b/meta-xilinx-bsp/recipes-bsp/device-tree/files/kc705-microblazeel/kc705-microblazeel.dts new file mode 100644 index 00000000..45e488c1 --- /dev/null +++ b/meta-xilinx-bsp/recipes-bsp/device-tree/files/kc705-microblazeel/kc705-microblazeel.dts | |||
@@ -0,0 +1,56 @@ | |||
1 | /dts-v1/; | ||
2 | /include/ "pl.dtsi" | ||
3 | /include/ "system-conf.dtsi" | ||
4 | / { | ||
5 | hard-reset-gpios = <&reset_gpio 0 1>; | ||
6 | aliases { | ||
7 | ethernet0 = &axi_ethernet; | ||
8 | i2c0 = &iic_main; | ||
9 | serial0 = &rs232_uart; | ||
10 | }; | ||
11 | memory { | ||
12 | device_type = "memory"; | ||
13 | reg = <0x80000000 0x40000000>; | ||
14 | }; | ||
15 | }; | ||
16 | |||
17 | &iic_main { | ||
18 | i2cswitch@74 { | ||
19 | compatible = "nxp,pca9548"; | ||
20 | #address-cells = <1>; | ||
21 | #size-cells = <0>; | ||
22 | reg = <0x74>; | ||
23 | i2c@0 { | ||
24 | #address-cells = <1>; | ||
25 | #size-cells = <0>; | ||
26 | reg = <0>; | ||
27 | si570: clock-generator@5d { | ||
28 | #clock-cells = <0>; | ||
29 | compatible = "silabs,si570"; | ||
30 | temperature-stability = <50>; | ||
31 | reg = <0x5d>; | ||
32 | factory-fout = <156250000>; | ||
33 | clock-frequency = <148500000>; | ||
34 | }; | ||
35 | }; | ||
36 | i2c@3 { | ||
37 | #address-cells = <1>; | ||
38 | #size-cells = <0>; | ||
39 | reg = <3>; | ||
40 | eeprom@54 { | ||
41 | compatible = "at,24c08"; | ||
42 | reg = <0x54>; | ||
43 | }; | ||
44 | }; | ||
45 | }; | ||
46 | }; | ||
47 | |||
48 | &axi_ethernet { | ||
49 | phy-handle = <&phy0>; | ||
50 | axi_ethernet_mdio: mdio { | ||
51 | phy0: phy@7 { | ||
52 | device_type = "ethernet-phy"; | ||
53 | reg = <7>; | ||
54 | }; | ||
55 | }; | ||
56 | }; | ||
diff --git a/meta-xilinx-bsp/recipes-bsp/device-tree/files/kc705-microblazeel/pl.dtsi b/meta-xilinx-bsp/recipes-bsp/device-tree/files/kc705-microblazeel/pl.dtsi new file mode 100644 index 00000000..43bc2ab7 --- /dev/null +++ b/meta-xilinx-bsp/recipes-bsp/device-tree/files/kc705-microblazeel/pl.dtsi | |||
@@ -0,0 +1,445 @@ | |||
1 | / { | ||
2 | #address-cells = <1>; | ||
3 | #size-cells = <1>; | ||
4 | compatible = "xlnx,microblaze"; | ||
5 | model = "Xilinx MicroBlaze"; | ||
6 | cpus { | ||
7 | #address-cells = <1>; | ||
8 | #cpus = <1>; | ||
9 | #size-cells = <0>; | ||
10 | microblaze_0: cpu@0 { | ||
11 | bus-handle = <&amba_pl>; | ||
12 | clock-frequency = <200000000>; | ||
13 | clocks = <&clk_cpu>; | ||
14 | compatible = "xlnx,microblaze-10.0"; | ||
15 | d-cache-baseaddr = <0x0000000080000000>; | ||
16 | d-cache-highaddr = <0x00000000bfffffff>; | ||
17 | d-cache-line-size = <0x20>; | ||
18 | d-cache-size = <0x4000>; | ||
19 | device_type = "cpu"; | ||
20 | i-cache-baseaddr = <0x0000000080000000>; | ||
21 | i-cache-highaddr = <0x00000000bfffffff>; | ||
22 | i-cache-line-size = <0x10>; | ||
23 | i-cache-size = <0x4000>; | ||
24 | interrupt-handle = <µblaze_0_axi_intc>; | ||
25 | model = "microblaze,10.0"; | ||
26 | timebase-frequency = <200000000>; | ||
27 | xlnx,addr-size = <0x20>; | ||
28 | xlnx,addr-tag-bits = <0x10>; | ||
29 | xlnx,allow-dcache-wr = <0x1>; | ||
30 | xlnx,allow-icache-wr = <0x1>; | ||
31 | xlnx,area-optimized = <0x0>; | ||
32 | xlnx,async-interrupt = <0x1>; | ||
33 | xlnx,async-wakeup = <0x3>; | ||
34 | xlnx,avoid-primitives = <0x0>; | ||
35 | xlnx,base-vectors = <0x0000000000000000>; | ||
36 | xlnx,branch-target-cache-size = <0x0>; | ||
37 | xlnx,cache-byte-size = <0x4000>; | ||
38 | xlnx,d-axi = <0x1>; | ||
39 | xlnx,d-lmb = <0x1>; | ||
40 | xlnx,d-lmb-mon = <0x0>; | ||
41 | xlnx,daddr-size = <0x20>; | ||
42 | xlnx,data-size = <0x20>; | ||
43 | xlnx,dc-axi-mon = <0x0>; | ||
44 | xlnx,dcache-addr-tag = <0x10>; | ||
45 | xlnx,dcache-always-used = <0x1>; | ||
46 | xlnx,dcache-byte-size = <0x4000>; | ||
47 | xlnx,dcache-data-width = <0x0>; | ||
48 | xlnx,dcache-force-tag-lutram = <0x0>; | ||
49 | xlnx,dcache-line-len = <0x8>; | ||
50 | xlnx,dcache-use-writeback = <0x0>; | ||
51 | xlnx,dcache-victims = <0x0>; | ||
52 | xlnx,debug-counter-width = <0x20>; | ||
53 | xlnx,debug-enabled = <0x1>; | ||
54 | xlnx,debug-event-counters = <0x5>; | ||
55 | xlnx,debug-external-trace = <0x0>; | ||
56 | xlnx,debug-interface = <0x0>; | ||
57 | xlnx,debug-latency-counters = <0x1>; | ||
58 | xlnx,debug-profile-size = <0x0>; | ||
59 | xlnx,debug-trace-async-reset = <0x0>; | ||
60 | xlnx,debug-trace-size = <0x2000>; | ||
61 | xlnx,div-zero-exception = <0x1>; | ||
62 | xlnx,dp-axi-mon = <0x0>; | ||
63 | xlnx,dynamic-bus-sizing = <0x0>; | ||
64 | xlnx,ecc-use-ce-exception = <0x0>; | ||
65 | xlnx,edge-is-positive = <0x1>; | ||
66 | xlnx,enable-discrete-ports = <0x0>; | ||
67 | xlnx,endianness = <0x1>; | ||
68 | xlnx,fault-tolerant = <0x0>; | ||
69 | xlnx,fpu-exception = <0x0>; | ||
70 | xlnx,freq = <0xbebc200>; | ||
71 | xlnx,fsl-exception = <0x0>; | ||
72 | xlnx,fsl-links = <0x0>; | ||
73 | xlnx,i-axi = <0x0>; | ||
74 | xlnx,i-lmb = <0x1>; | ||
75 | xlnx,i-lmb-mon = <0x0>; | ||
76 | xlnx,iaddr-size = <0x20>; | ||
77 | xlnx,ic-axi-mon = <0x0>; | ||
78 | xlnx,icache-always-used = <0x1>; | ||
79 | xlnx,icache-data-width = <0x0>; | ||
80 | xlnx,icache-force-tag-lutram = <0x0>; | ||
81 | xlnx,icache-line-len = <0x4>; | ||
82 | xlnx,icache-streams = <0x1>; | ||
83 | xlnx,icache-victims = <0x8>; | ||
84 | xlnx,ill-opcode-exception = <0x1>; | ||
85 | xlnx,imprecise-exceptions = <0x0>; | ||
86 | xlnx,instr-size = <0x20>; | ||
87 | xlnx,interconnect = <0x2>; | ||
88 | xlnx,interrupt-is-edge = <0x0>; | ||
89 | xlnx,interrupt-mon = <0x0>; | ||
90 | xlnx,ip-axi-mon = <0x0>; | ||
91 | xlnx,lockstep-master = <0x0>; | ||
92 | xlnx,lockstep-select = <0x0>; | ||
93 | xlnx,lockstep-slave = <0x0>; | ||
94 | xlnx,mmu-dtlb-size = <0x4>; | ||
95 | xlnx,mmu-itlb-size = <0x2>; | ||
96 | xlnx,mmu-privileged-instr = <0x0>; | ||
97 | xlnx,mmu-tlb-access = <0x3>; | ||
98 | xlnx,mmu-zones = <0x2>; | ||
99 | xlnx,num-sync-ff-clk = <0x2>; | ||
100 | xlnx,num-sync-ff-clk-debug = <0x2>; | ||
101 | xlnx,num-sync-ff-clk-irq = <0x1>; | ||
102 | xlnx,num-sync-ff-dbg-clk = <0x1>; | ||
103 | xlnx,num-sync-ff-dbg-trace-clk = <0x2>; | ||
104 | xlnx,number-of-pc-brk = <0x1>; | ||
105 | xlnx,number-of-rd-addr-brk = <0x0>; | ||
106 | xlnx,number-of-wr-addr-brk = <0x0>; | ||
107 | xlnx,opcode-0x0-illegal = <0x1>; | ||
108 | xlnx,optimization = <0x0>; | ||
109 | xlnx,pc-width = <0x20>; | ||
110 | xlnx,piaddr-size = <0x20>; | ||
111 | xlnx,pvr = <0x2>; | ||
112 | xlnx,pvr-user1 = <0x00>; | ||
113 | xlnx,pvr-user2 = <0x00000000>; | ||
114 | xlnx,reset-msr = <0x00000000>; | ||
115 | xlnx,reset-msr-bip = <0x0>; | ||
116 | xlnx,reset-msr-dce = <0x0>; | ||
117 | xlnx,reset-msr-ee = <0x0>; | ||
118 | xlnx,reset-msr-eip = <0x0>; | ||
119 | xlnx,reset-msr-ice = <0x0>; | ||
120 | xlnx,reset-msr-ie = <0x0>; | ||
121 | xlnx,sco = <0x0>; | ||
122 | xlnx,trace = <0x0>; | ||
123 | xlnx,unaligned-exceptions = <0x1>; | ||
124 | xlnx,use-barrel = <0x1>; | ||
125 | xlnx,use-branch-target-cache = <0x0>; | ||
126 | xlnx,use-config-reset = <0x0>; | ||
127 | xlnx,use-dcache = <0x1>; | ||
128 | xlnx,use-div = <0x1>; | ||
129 | xlnx,use-ext-brk = <0x0>; | ||
130 | xlnx,use-ext-nm-brk = <0x0>; | ||
131 | xlnx,use-extended-fsl-instr = <0x0>; | ||
132 | xlnx,use-fpu = <0x0>; | ||
133 | xlnx,use-hw-mul = <0x2>; | ||
134 | xlnx,use-icache = <0x1>; | ||
135 | xlnx,use-interrupt = <0x2>; | ||
136 | xlnx,use-mmu = <0x3>; | ||
137 | xlnx,use-msr-instr = <0x1>; | ||
138 | xlnx,use-non-secure = <0x0>; | ||
139 | xlnx,use-pcmp-instr = <0x1>; | ||
140 | xlnx,use-reorder-instr = <0x1>; | ||
141 | xlnx,use-stack-protection = <0x0>; | ||
142 | }; | ||
143 | }; | ||
144 | clocks { | ||
145 | #address-cells = <1>; | ||
146 | #size-cells = <0>; | ||
147 | clk_cpu: clk_cpu@0 { | ||
148 | #clock-cells = <0>; | ||
149 | clock-frequency = <200000000>; | ||
150 | clock-output-names = "clk_cpu"; | ||
151 | compatible = "fixed-clock"; | ||
152 | reg = <0>; | ||
153 | }; | ||
154 | clk_bus_0: clk_bus_0@1 { | ||
155 | #clock-cells = <0>; | ||
156 | clock-frequency = <200000000>; | ||
157 | clock-output-names = "clk_bus_0"; | ||
158 | compatible = "fixed-clock"; | ||
159 | reg = <1>; | ||
160 | }; | ||
161 | }; | ||
162 | amba_pl: amba_pl { | ||
163 | #address-cells = <1>; | ||
164 | #size-cells = <1>; | ||
165 | compatible = "simple-bus"; | ||
166 | ranges ; | ||
167 | axi_ethernet: ethernet@40c00000 { | ||
168 | axistream-connected = <&axi_ethernet_dma>; | ||
169 | axistream-control-connected = <&axi_ethernet_dma>; | ||
170 | clock-frequency = <100000000>; | ||
171 | compatible = "xlnx,axi-ethernet-1.00.a"; | ||
172 | device_type = "network"; | ||
173 | interrupt-parent = <µblaze_0_axi_intc>; | ||
174 | interrupts = <4 2>; | ||
175 | phy-mode = "gmii"; | ||
176 | reg = <0x40c00000 0x40000>; | ||
177 | xlnx = <0x0>; | ||
178 | xlnx,axiliteclkrate = <0x0>; | ||
179 | xlnx,axisclkrate = <0x0>; | ||
180 | xlnx,clockselection = <0x0>; | ||
181 | xlnx,enableasyncsgmii = <0x0>; | ||
182 | xlnx,gt-type = <0x0>; | ||
183 | xlnx,gtinex = <0x0>; | ||
184 | xlnx,gtlocation = <0x0>; | ||
185 | xlnx,gtrefclksrc = <0x0>; | ||
186 | xlnx,include-dre ; | ||
187 | xlnx,instantiatebitslice0 = <0x0>; | ||
188 | xlnx,phy-type = <0x1>; | ||
189 | xlnx,phyaddr = <0x1>; | ||
190 | xlnx,rable = <0x0>; | ||
191 | xlnx,rxcsum = <0x0>; | ||
192 | xlnx,rxlane0-placement = <0x0>; | ||
193 | xlnx,rxlane1-placement = <0x0>; | ||
194 | xlnx,rxmem = <0x1000>; | ||
195 | xlnx,rxnibblebitslice0used = <0x0>; | ||
196 | xlnx,tx-in-upper-nibble = <0x1>; | ||
197 | xlnx,txcsum = <0x0>; | ||
198 | xlnx,txlane0-placement = <0x0>; | ||
199 | xlnx,txlane1-placement = <0x0>; | ||
200 | axi_ethernet_mdio: mdio { | ||
201 | #address-cells = <1>; | ||
202 | #size-cells = <0>; | ||
203 | }; | ||
204 | }; | ||
205 | axi_ethernet_dma: dma@41e00000 { | ||
206 | #dma-cells = <1>; | ||
207 | axistream-connected = <&axi_ethernet>; | ||
208 | axistream-control-connected = <&axi_ethernet>; | ||
209 | clock-frequency = <200000000>; | ||
210 | clock-names = "s_axi_lite_aclk"; | ||
211 | clocks = <&clk_bus_0>; | ||
212 | compatible = "xlnx,eth-dma"; | ||
213 | interrupt-parent = <µblaze_0_axi_intc>; | ||
214 | interrupts = <3 2 2 2>; | ||
215 | reg = <0x41e00000 0x10000>; | ||
216 | xlnx,include-dre ; | ||
217 | }; | ||
218 | axi_timer_0: timer@41c00000 { | ||
219 | clock-frequency = <200000000>; | ||
220 | clocks = <&clk_bus_0>; | ||
221 | compatible = "xlnx,xps-timer-1.00.a"; | ||
222 | interrupt-parent = <µblaze_0_axi_intc>; | ||
223 | interrupts = <5 2>; | ||
224 | reg = <0x41c00000 0x10000>; | ||
225 | xlnx,count-width = <0x20>; | ||
226 | xlnx,gen0-assert = <0x1>; | ||
227 | xlnx,gen1-assert = <0x1>; | ||
228 | xlnx,one-timer-only = <0x0>; | ||
229 | xlnx,trig0-assert = <0x1>; | ||
230 | xlnx,trig1-assert = <0x1>; | ||
231 | }; | ||
232 | calib_complete_gpio: gpio@40010000 { | ||
233 | #gpio-cells = <2>; | ||
234 | compatible = "xlnx,xps-gpio-1.00.a"; | ||
235 | gpio-controller ; | ||
236 | reg = <0x40010000 0x10000>; | ||
237 | xlnx,all-inputs = <0x1>; | ||
238 | xlnx,all-inputs-2 = <0x0>; | ||
239 | xlnx,all-outputs = <0x0>; | ||
240 | xlnx,all-outputs-2 = <0x0>; | ||
241 | xlnx,dout-default = <0x00000000>; | ||
242 | xlnx,dout-default-2 = <0x00000000>; | ||
243 | xlnx,gpio-width = <0x1>; | ||
244 | xlnx,gpio2-width = <0x20>; | ||
245 | xlnx,interrupt-present = <0x0>; | ||
246 | xlnx,is-dual = <0x0>; | ||
247 | xlnx,tri-default = <0xFFFFFFFF>; | ||
248 | xlnx,tri-default-2 = <0xFFFFFFFF>; | ||
249 | }; | ||
250 | dip_switches_4bits: gpio@40020000 { | ||
251 | #gpio-cells = <2>; | ||
252 | compatible = "xlnx,xps-gpio-1.00.a"; | ||
253 | gpio-controller ; | ||
254 | reg = <0x40020000 0x10000>; | ||
255 | xlnx,all-inputs = <0x1>; | ||
256 | xlnx,all-inputs-2 = <0x0>; | ||
257 | xlnx,all-outputs = <0x0>; | ||
258 | xlnx,all-outputs-2 = <0x0>; | ||
259 | xlnx,dout-default = <0x00000000>; | ||
260 | xlnx,dout-default-2 = <0x00000000>; | ||
261 | xlnx,gpio-width = <0x4>; | ||
262 | xlnx,gpio2-width = <0x20>; | ||
263 | xlnx,interrupt-present = <0x0>; | ||
264 | xlnx,is-dual = <0x0>; | ||
265 | xlnx,tri-default = <0xFFFFFFFF>; | ||
266 | xlnx,tri-default-2 = <0xFFFFFFFF>; | ||
267 | }; | ||
268 | iic_main: i2c@40800000 { | ||
269 | #address-cells = <1>; | ||
270 | #size-cells = <0>; | ||
271 | clock-frequency = <200000000>; | ||
272 | clocks = <&clk_bus_0>; | ||
273 | compatible = "xlnx,xps-iic-2.00.a"; | ||
274 | interrupt-parent = <µblaze_0_axi_intc>; | ||
275 | interrupts = <1 2>; | ||
276 | reg = <0x40800000 0x10000>; | ||
277 | }; | ||
278 | led_8bits: gpio@40030000 { | ||
279 | #gpio-cells = <2>; | ||
280 | compatible = "xlnx,xps-gpio-1.00.a"; | ||
281 | gpio-controller ; | ||
282 | reg = <0x40030000 0x10000>; | ||
283 | xlnx,all-inputs = <0x0>; | ||
284 | xlnx,all-inputs-2 = <0x0>; | ||
285 | xlnx,all-outputs = <0x1>; | ||
286 | xlnx,all-outputs-2 = <0x0>; | ||
287 | xlnx,dout-default = <0x00000000>; | ||
288 | xlnx,dout-default-2 = <0x00000000>; | ||
289 | xlnx,gpio-width = <0x8>; | ||
290 | xlnx,gpio2-width = <0x20>; | ||
291 | xlnx,interrupt-present = <0x0>; | ||
292 | xlnx,is-dual = <0x0>; | ||
293 | xlnx,tri-default = <0xFFFFFFFF>; | ||
294 | xlnx,tri-default-2 = <0xFFFFFFFF>; | ||
295 | }; | ||
296 | linear_flash: flash@60000000 { | ||
297 | bank-width = <2>; | ||
298 | compatible = "cfi-flash"; | ||
299 | reg = <0x60000000 0x8000000>; | ||
300 | xlnx,axi-clk-period-ps = <0x1388>; | ||
301 | xlnx,include-datawidth-matching-0 = <0x1>; | ||
302 | xlnx,include-datawidth-matching-1 = <0x1>; | ||
303 | xlnx,include-datawidth-matching-2 = <0x1>; | ||
304 | xlnx,include-datawidth-matching-3 = <0x1>; | ||
305 | xlnx,include-negedge-ioregs = <0x0>; | ||
306 | xlnx,lflash-period-ps = <0x1388>; | ||
307 | xlnx,linear-flash-sync-burst = <0x0>; | ||
308 | xlnx,max-mem-width = <0x10>; | ||
309 | xlnx,mem-a-lsb = <0x0>; | ||
310 | xlnx,mem-a-msb = <0x1f>; | ||
311 | xlnx,mem0-type = <0x2>; | ||
312 | xlnx,mem0-width = <0x10>; | ||
313 | xlnx,mem1-type = <0x0>; | ||
314 | xlnx,mem1-width = <0x10>; | ||
315 | xlnx,mem2-type = <0x0>; | ||
316 | xlnx,mem2-width = <0x10>; | ||
317 | xlnx,mem3-type = <0x0>; | ||
318 | xlnx,mem3-width = <0x10>; | ||
319 | xlnx,num-banks-mem = <0x1>; | ||
320 | xlnx,page-size = <0x10>; | ||
321 | xlnx,parity-type-mem-0 = <0x0>; | ||
322 | xlnx,parity-type-mem-1 = <0x0>; | ||
323 | xlnx,parity-type-mem-2 = <0x0>; | ||
324 | xlnx,parity-type-mem-3 = <0x0>; | ||
325 | xlnx,port-diff = <0x0>; | ||
326 | xlnx,s-axi-en-reg = <0x0>; | ||
327 | xlnx,s-axi-mem-addr-width = <0x20>; | ||
328 | xlnx,s-axi-mem-data-width = <0x20>; | ||
329 | xlnx,s-axi-mem-id-width = <0x1>; | ||
330 | xlnx,s-axi-reg-addr-width = <0x5>; | ||
331 | xlnx,s-axi-reg-data-width = <0x20>; | ||
332 | xlnx,synch-pipedelay-0 = <0x1>; | ||
333 | xlnx,synch-pipedelay-1 = <0x1>; | ||
334 | xlnx,synch-pipedelay-2 = <0x1>; | ||
335 | xlnx,synch-pipedelay-3 = <0x1>; | ||
336 | xlnx,tavdv-ps-mem-0 = <0x1fbd0>; | ||
337 | xlnx,tavdv-ps-mem-1 = <0x3a98>; | ||
338 | xlnx,tavdv-ps-mem-2 = <0x3a98>; | ||
339 | xlnx,tavdv-ps-mem-3 = <0x3a98>; | ||
340 | xlnx,tcedv-ps-mem-0 = <0x1fbd0>; | ||
341 | xlnx,tcedv-ps-mem-1 = <0x3a98>; | ||
342 | xlnx,tcedv-ps-mem-2 = <0x3a98>; | ||
343 | xlnx,tcedv-ps-mem-3 = <0x3a98>; | ||
344 | xlnx,thzce-ps-mem-0 = <0x88b8>; | ||
345 | xlnx,thzce-ps-mem-1 = <0x1b58>; | ||
346 | xlnx,thzce-ps-mem-2 = <0x1b58>; | ||
347 | xlnx,thzce-ps-mem-3 = <0x1b58>; | ||
348 | xlnx,thzoe-ps-mem-0 = <0x1b58>; | ||
349 | xlnx,thzoe-ps-mem-1 = <0x1b58>; | ||
350 | xlnx,thzoe-ps-mem-2 = <0x1b58>; | ||
351 | xlnx,thzoe-ps-mem-3 = <0x1b58>; | ||
352 | xlnx,tlzwe-ps-mem-0 = <0xc350>; | ||
353 | xlnx,tlzwe-ps-mem-1 = <0x0>; | ||
354 | xlnx,tlzwe-ps-mem-2 = <0x0>; | ||
355 | xlnx,tlzwe-ps-mem-3 = <0x0>; | ||
356 | xlnx,tpacc-ps-flash-0 = <0x61a8>; | ||
357 | xlnx,tpacc-ps-flash-1 = <0x61a8>; | ||
358 | xlnx,tpacc-ps-flash-2 = <0x61a8>; | ||
359 | xlnx,tpacc-ps-flash-3 = <0x61a8>; | ||
360 | xlnx,twc-ps-mem-0 = <0x11170>; | ||
361 | xlnx,twc-ps-mem-1 = <0x3a98>; | ||
362 | xlnx,twc-ps-mem-2 = <0x3a98>; | ||
363 | xlnx,twc-ps-mem-3 = <0x3a98>; | ||
364 | xlnx,twp-ps-mem-0 = <0x13880>; | ||
365 | xlnx,twp-ps-mem-1 = <0x2ee0>; | ||
366 | xlnx,twp-ps-mem-2 = <0x2ee0>; | ||
367 | xlnx,twp-ps-mem-3 = <0x2ee0>; | ||
368 | xlnx,twph-ps-mem-0 = <0x13880>; | ||
369 | xlnx,twph-ps-mem-1 = <0x2ee0>; | ||
370 | xlnx,twph-ps-mem-2 = <0x2ee0>; | ||
371 | xlnx,twph-ps-mem-3 = <0x2ee0>; | ||
372 | xlnx,use-startup = <0x0>; | ||
373 | xlnx,use-startup-int = <0x0>; | ||
374 | xlnx,wr-rec-time-mem-0 = <0x186a0>; | ||
375 | xlnx,wr-rec-time-mem-1 = <0x6978>; | ||
376 | xlnx,wr-rec-time-mem-2 = <0x6978>; | ||
377 | xlnx,wr-rec-time-mem-3 = <0x6978>; | ||
378 | }; | ||
379 | microblaze_0_axi_intc: interrupt-controller@41200000 { | ||
380 | #interrupt-cells = <2>; | ||
381 | compatible = "xlnx,xps-intc-1.00.a"; | ||
382 | interrupt-controller ; | ||
383 | reg = <0x41200000 0x10000>; | ||
384 | xlnx,kind-of-intr = <0x0>; | ||
385 | xlnx,num-intr-inputs = <0x6>; | ||
386 | }; | ||
387 | push_buttons_5bits: gpio@40040000 { | ||
388 | #gpio-cells = <2>; | ||
389 | compatible = "xlnx,xps-gpio-1.00.a"; | ||
390 | gpio-controller ; | ||
391 | reg = <0x40040000 0x10000>; | ||
392 | xlnx,all-inputs = <0x1>; | ||
393 | xlnx,all-inputs-2 = <0x0>; | ||
394 | xlnx,all-outputs = <0x0>; | ||
395 | xlnx,all-outputs-2 = <0x0>; | ||
396 | xlnx,dout-default = <0x00000000>; | ||
397 | xlnx,dout-default-2 = <0x00000000>; | ||
398 | xlnx,gpio-width = <0x5>; | ||
399 | xlnx,gpio2-width = <0x20>; | ||
400 | xlnx,interrupt-present = <0x0>; | ||
401 | xlnx,is-dual = <0x0>; | ||
402 | xlnx,tri-default = <0xFFFFFFFF>; | ||
403 | xlnx,tri-default-2 = <0xFFFFFFFF>; | ||
404 | }; | ||
405 | reset_gpio: gpio@40000000 { | ||
406 | #gpio-cells = <2>; | ||
407 | compatible = "xlnx,xps-gpio-1.00.a"; | ||
408 | gpio-controller ; | ||
409 | reg = <0x40000000 0x10000>; | ||
410 | xlnx,all-inputs = <0x0>; | ||
411 | xlnx,all-inputs-2 = <0x0>; | ||
412 | xlnx,all-outputs = <0x1>; | ||
413 | xlnx,all-outputs-2 = <0x0>; | ||
414 | xlnx,dout-default = <0x00000000>; | ||
415 | xlnx,dout-default-2 = <0x00000000>; | ||
416 | xlnx,gpio-width = <0x1>; | ||
417 | xlnx,gpio2-width = <0x20>; | ||
418 | xlnx,interrupt-present = <0x0>; | ||
419 | xlnx,is-dual = <0x0>; | ||
420 | xlnx,tri-default = <0xFFFFFFFF>; | ||
421 | xlnx,tri-default-2 = <0xFFFFFFFF>; | ||
422 | }; | ||
423 | rs232_uart: serial@44a00000 { | ||
424 | clock-frequency = <200000000>; | ||
425 | clocks = <&clk_bus_0>; | ||
426 | compatible = "xlnx,xps-uart16550-2.00.a", "ns16550a"; | ||
427 | current-speed = <115200>; | ||
428 | device_type = "serial"; | ||
429 | interrupt-parent = <µblaze_0_axi_intc>; | ||
430 | interrupts = <0 2>; | ||
431 | port-number = <0>; | ||
432 | reg = <0x44a00000 0x10000>; | ||
433 | reg-offset = <0x1000>; | ||
434 | reg-shift = <2>; | ||
435 | xlnx,external-xin-clk-hz = <0x17d7840>; | ||
436 | xlnx,external-xin-clk-hz-d = <0x19>; | ||
437 | xlnx,has-external-rclk = <0x0>; | ||
438 | xlnx,has-external-xin = <0x0>; | ||
439 | xlnx,is-a-16550 = <0x1>; | ||
440 | xlnx,s-axi-aclk-freq-hz-d = "200.0"; | ||
441 | xlnx,use-modem-ports = <0x1>; | ||
442 | xlnx,use-user-ports = <0x1>; | ||
443 | }; | ||
444 | }; | ||
445 | }; | ||
diff --git a/meta-xilinx-bsp/recipes-bsp/device-tree/files/kc705-microblazeel/system-conf.dtsi b/meta-xilinx-bsp/recipes-bsp/device-tree/files/kc705-microblazeel/system-conf.dtsi new file mode 100644 index 00000000..09b26c6a --- /dev/null +++ b/meta-xilinx-bsp/recipes-bsp/device-tree/files/kc705-microblazeel/system-conf.dtsi | |||
@@ -0,0 +1,43 @@ | |||
1 | /* | ||
2 | * CAUTION: This file is automatically generated by PetaLinux SDK. | ||
3 | * DO NOT modify this file | ||
4 | */ | ||
5 | |||
6 | |||
7 | / { | ||
8 | chosen { | ||
9 | bootargs = "console=ttyS0,115200 earlyprintk"; | ||
10 | stdout-path = "serial0:115200n8"; | ||
11 | }; | ||
12 | }; | ||
13 | |||
14 | &axi_ethernet { | ||
15 | local-mac-address = [00 0a 35 00 22 01]; | ||
16 | }; | ||
17 | |||
18 | &linear_flash { | ||
19 | reg = <0x60000000 0x08000000>; | ||
20 | #address-cells = <1>; | ||
21 | #size-cells = <1>; | ||
22 | partition@0x00000000 { | ||
23 | label = "fpga"; | ||
24 | reg = <0x00000000 0x00b00000>; | ||
25 | }; | ||
26 | partition@0x00b00000 { | ||
27 | label = "boot"; | ||
28 | reg = <0x00b00000 0x00080000>; | ||
29 | }; | ||
30 | partition@0x00b80000 { | ||
31 | label = "bootenv"; | ||
32 | reg = <0x00b80000 0x00020000>; | ||
33 | }; | ||
34 | partition@0x00ba0000 { | ||
35 | label = "kernel"; | ||
36 | reg = <0x00ba0000 0x00c00000>; | ||
37 | }; | ||
38 | partition@0x017a0000 { | ||
39 | label = "spare"; | ||
40 | reg = <0x017a0000 0x00000000>; | ||
41 | }; | ||
42 | }; | ||
43 | |||
diff --git a/meta-xilinx-bsp/recipes-bsp/device-tree/files/picozed-zynq7.dts b/meta-xilinx-bsp/recipes-bsp/device-tree/files/picozed-zynq7.dts new file mode 100644 index 00000000..6f9b653a --- /dev/null +++ b/meta-xilinx-bsp/recipes-bsp/device-tree/files/picozed-zynq7.dts | |||
@@ -0,0 +1,98 @@ | |||
1 | /dts-v1/; | ||
2 | /include/ "zynq-7000.dtsi" | ||
3 | /include/ "zynq-7000-qspi-dummy.dtsi" | ||
4 | |||
5 | / { | ||
6 | model = "Avnet picoZed"; | ||
7 | compatible = "avnet,picozed", "xlnx,zynq-7000"; | ||
8 | |||
9 | aliases { | ||
10 | ethernet0 = &gem0; | ||
11 | serial0 = &uart1; | ||
12 | }; | ||
13 | |||
14 | memory { | ||
15 | device_type = "memory"; | ||
16 | reg = <0x0 0x40000000>; | ||
17 | }; | ||
18 | |||
19 | chosen { | ||
20 | bootargs = "earlyprintk"; | ||
21 | stdout-path = "serial0:115200n8"; | ||
22 | }; | ||
23 | |||
24 | usb_phy0: phy0 { | ||
25 | compatible = "usb-nop-xceiv"; | ||
26 | #phy-cells = <0>; | ||
27 | reset-gpios = <&gpio0 7 1>; /* MIO 7, GPIO_ACTIVE_LOW */ | ||
28 | }; | ||
29 | }; | ||
30 | |||
31 | &gem0 { | ||
32 | status = "okay"; | ||
33 | phy-mode = "rgmii-id"; | ||
34 | phy-handle = <ðernet_phy>; | ||
35 | |||
36 | ethernet_phy: ethernet-phy@0 { | ||
37 | compatible = "marvell,88e1512", "marvell,88e1510"; | ||
38 | device_type = "ethernet-phy"; | ||
39 | reg = <0>; | ||
40 | }; | ||
41 | }; | ||
42 | |||
43 | &sdhci1 { | ||
44 | status = "okay"; | ||
45 | /* SD1 is onnected to a non-removable eMMC flash device */ | ||
46 | non-removable; | ||
47 | }; | ||
48 | |||
49 | &uart1 { | ||
50 | status = "okay"; | ||
51 | }; | ||
52 | |||
53 | &usb0 { | ||
54 | status = "okay"; | ||
55 | dr_mode = "host"; | ||
56 | usb-phy = <&usb_phy0>; | ||
57 | }; | ||
58 | |||
59 | &qspi { | ||
60 | status = "okay"; | ||
61 | primary_flash: ps7-qspi@0 { | ||
62 | #address-cells = <1>; | ||
63 | #size-cells = <1>; | ||
64 | compatible = "micron,m25p80", "spansion,s25fl128s", "jedec,spi-nor"; | ||
65 | reg = <0x0>; | ||
66 | spi-max-frequency = <50000000>; | ||
67 | /* Example 16M partition table using U-Boot + U-Boot SPL */ | ||
68 | partition@0x0 { | ||
69 | label = "boot"; | ||
70 | reg = <0x0 0xe0000>; | ||
71 | }; | ||
72 | partition@0xe0000 { | ||
73 | label = "ubootenv"; | ||
74 | reg = <0xe0000 0x20000>; | ||
75 | }; | ||
76 | partition@0x100000 { | ||
77 | label = "uboot"; | ||
78 | reg = <0x100000 0x100000>; | ||
79 | }; | ||
80 | partition@0x200000 { | ||
81 | label = "kernel"; | ||
82 | reg = <0x200000 0x4f0000>; | ||
83 | }; | ||
84 | partition@0x6f0000 { | ||
85 | label = "devicetree"; | ||
86 | reg = <0x6f0000 0x10000>; | ||
87 | }; | ||
88 | partition@0x700000 { | ||
89 | label = "rootfs"; | ||
90 | reg = <0x700000 0x400000>; | ||
91 | }; | ||
92 | partition@0xb00000 { | ||
93 | label = "spare"; | ||
94 | reg = <0xb00000 0x500000>; | ||
95 | }; | ||
96 | }; | ||
97 | }; | ||
98 | |||
diff --git a/meta-xilinx-bsp/recipes-bsp/device-tree/files/qemu-zynq7.dts b/meta-xilinx-bsp/recipes-bsp/device-tree/files/qemu-zynq7.dts new file mode 100644 index 00000000..cd0694d6 --- /dev/null +++ b/meta-xilinx-bsp/recipes-bsp/device-tree/files/qemu-zynq7.dts | |||
@@ -0,0 +1,85 @@ | |||
1 | /dts-v1/; | ||
2 | /include/ "zynq-7000.dtsi" | ||
3 | /include/ "zynq-7000-qspi-dummy.dtsi" | ||
4 | |||
5 | / { | ||
6 | model = "Zynq A9 QEMU"; | ||
7 | compatible = "qemu,xilinx-zynq-a9", "xlnx,zynq-7000"; | ||
8 | |||
9 | aliases { | ||
10 | ethernet0 = &gem0; | ||
11 | serial0 = &uart1; | ||
12 | }; | ||
13 | |||
14 | memory { | ||
15 | device_type = "memory"; | ||
16 | reg = <0x0 0x40000000>; | ||
17 | }; | ||
18 | |||
19 | chosen { | ||
20 | bootargs = "earlyprintk"; | ||
21 | stdout-path = "serial0:115200n8"; | ||
22 | }; | ||
23 | }; | ||
24 | |||
25 | &amba { | ||
26 | /* Setup a fixed 25 MHz clock (100Mbps) to trick the ethernet driver */ | ||
27 | fixednetclk: clock { | ||
28 | #clock-cells = <0>; | ||
29 | compatible = "fixed-clock"; | ||
30 | clock-frequency = <25000000>; | ||
31 | }; | ||
32 | }; | ||
33 | |||
34 | &gem0 { | ||
35 | status = "okay"; | ||
36 | clocks = <&clkc 30>, <&clkc 30>, <&fixednetclk>, <&fixednetclk>, <&clkc 30>; | ||
37 | phy-mode = "rgmii-id"; | ||
38 | phy-handle = <ðernet_phy>; | ||
39 | |||
40 | ethernet_phy: ethernet-phy@23 { | ||
41 | device_type = "ethernet-phy"; | ||
42 | reg = <23>; | ||
43 | }; | ||
44 | }; | ||
45 | |||
46 | &sdhci0 { | ||
47 | status = "okay"; | ||
48 | }; | ||
49 | |||
50 | &uart1 { | ||
51 | status = "okay"; | ||
52 | }; | ||
53 | |||
54 | &qspi { | ||
55 | status = "okay"; | ||
56 | is-dual = <1>; | ||
57 | primary_flash: ps7-qspi@0 { | ||
58 | #address-cells = <1>; | ||
59 | #size-cells = <1>; | ||
60 | compatible = "st,m25p80"; | ||
61 | reg = <0x0>; | ||
62 | spi-max-frequency = <50000000>; | ||
63 | partition@0x00000000 { | ||
64 | label = "boot"; | ||
65 | reg = <0x00000000 0x00500000>; | ||
66 | }; | ||
67 | partition@0x00500000 { | ||
68 | label = "bootenv"; | ||
69 | reg = <0x00500000 0x00020000>; | ||
70 | }; | ||
71 | partition@0x00520000 { | ||
72 | label = "config"; | ||
73 | reg = <0x00520000 0x00020000>; | ||
74 | }; | ||
75 | partition@0x00540000 { | ||
76 | label = "image"; | ||
77 | reg = <0x00540000 0x00a80000>; | ||
78 | }; | ||
79 | partition@0x00fc0000 { | ||
80 | label = "spare"; | ||
81 | reg = <0x00fc0000 0x00000000>; | ||
82 | }; | ||
83 | }; | ||
84 | }; | ||
85 | |||
diff --git a/meta-xilinx-bsp/recipes-bsp/device-tree/files/zybo-linux-bd-zynq7/pcw.dtsi b/meta-xilinx-bsp/recipes-bsp/device-tree/files/zybo-linux-bd-zynq7/pcw.dtsi new file mode 100644 index 00000000..0f678d39 --- /dev/null +++ b/meta-xilinx-bsp/recipes-bsp/device-tree/files/zybo-linux-bd-zynq7/pcw.dtsi | |||
@@ -0,0 +1,63 @@ | |||
1 | /* | ||
2 | * CAUTION: This file is automatically generated by Xilinx. | ||
3 | * Version: HSI 2015.4 | ||
4 | * Today is: Fri Mar 4 15:40:49 2016 | ||
5 | */ | ||
6 | |||
7 | |||
8 | / { | ||
9 | cpus { | ||
10 | cpu@0 { | ||
11 | operating-points = <650000 1000000 325000 1000000>; | ||
12 | }; | ||
13 | }; | ||
14 | }; | ||
15 | &gem0 { | ||
16 | phy-mode = "rgmii-id"; | ||
17 | status = "okay"; | ||
18 | xlnx,ptp-enet-clock = <0x6750918>; | ||
19 | }; | ||
20 | &gpio0 { | ||
21 | emio-gpio-width = <64>; | ||
22 | gpio-mask-high = <0x0>; | ||
23 | gpio-mask-low = <0x5600>; | ||
24 | }; | ||
25 | &i2c0 { | ||
26 | clock-frequency = <400000>; | ||
27 | status = "okay"; | ||
28 | }; | ||
29 | &i2c1 { | ||
30 | clock-frequency = <400000>; | ||
31 | status = "okay"; | ||
32 | }; | ||
33 | &intc { | ||
34 | num_cpus = <2>; | ||
35 | num_interrupts = <96>; | ||
36 | }; | ||
37 | &qspi { | ||
38 | is-dual = <0>; | ||
39 | num-cs = <1>; | ||
40 | status = "okay"; | ||
41 | }; | ||
42 | &sdhci0 { | ||
43 | status = "okay"; | ||
44 | xlnx,has-cd = <0x1>; | ||
45 | xlnx,has-power = <0x0>; | ||
46 | xlnx,has-wp = <0x1>; | ||
47 | }; | ||
48 | &uart1 { | ||
49 | current-speed = <115200>; | ||
50 | device_type = "serial"; | ||
51 | port-number = <0>; | ||
52 | status = "okay"; | ||
53 | }; | ||
54 | &usb0 { | ||
55 | dr_mode = "host"; | ||
56 | phy_type = "ulpi"; | ||
57 | status = "okay"; | ||
58 | usb-reset = <&gpio0 46 0>; | ||
59 | }; | ||
60 | &clkc { | ||
61 | fclk-enable = <0x3>; | ||
62 | ps-clk-frequency = <50000000>; | ||
63 | }; | ||
diff --git a/meta-xilinx-bsp/recipes-bsp/device-tree/files/zybo-linux-bd-zynq7/pl.dtsi b/meta-xilinx-bsp/recipes-bsp/device-tree/files/zybo-linux-bd-zynq7/pl.dtsi new file mode 100644 index 00000000..32bc7688 --- /dev/null +++ b/meta-xilinx-bsp/recipes-bsp/device-tree/files/zybo-linux-bd-zynq7/pl.dtsi | |||
@@ -0,0 +1,215 @@ | |||
1 | /* | ||
2 | * CAUTION: This file is automatically generated by Xilinx. | ||
3 | * Version: HSI 2015.4 | ||
4 | * Today is: Fri Mar 4 15:40:49 2016 | ||
5 | */ | ||
6 | |||
7 | |||
8 | / { | ||
9 | amba_pl: amba_pl { | ||
10 | #address-cells = <1>; | ||
11 | #size-cells = <1>; | ||
12 | compatible = "simple-bus"; | ||
13 | ranges ; | ||
14 | axi_dynclk_0: axi_dynclk@43c10000 { | ||
15 | compatible = "xlnx,axi-dynclk-1.0"; | ||
16 | reg = <0x43c10000 0x10000>; | ||
17 | xlnx,s00-axi-addr-width = <0x5>; | ||
18 | xlnx,s00-axi-data-width = <0x20>; | ||
19 | }; | ||
20 | axi_gpio_btn: gpio@41210000 { | ||
21 | #gpio-cells = <2>; | ||
22 | compatible = "xlnx,xps-gpio-1.00.a"; | ||
23 | gpio-controller ; | ||
24 | reg = <0x41210000 0x10000>; | ||
25 | xlnx,all-inputs = <0x1>; | ||
26 | xlnx,all-inputs-2 = <0x0>; | ||
27 | xlnx,all-outputs = <0x0>; | ||
28 | xlnx,all-outputs-2 = <0x0>; | ||
29 | xlnx,dout-default = <0x00000000>; | ||
30 | xlnx,dout-default-2 = <0x00000000>; | ||
31 | xlnx,gpio-width = <0x4>; | ||
32 | xlnx,gpio2-width = <0x20>; | ||
33 | xlnx,interrupt-present = <0x0>; | ||
34 | xlnx,is-dual = <0x0>; | ||
35 | xlnx,tri-default = <0xFFFFFFFF>; | ||
36 | xlnx,tri-default-2 = <0xFFFFFFFF>; | ||
37 | }; | ||
38 | axi_gpio_hdmi: gpio@41230000 { | ||
39 | #gpio-cells = <2>; | ||
40 | compatible = "xlnx,xps-gpio-1.00.a"; | ||
41 | gpio-controller ; | ||
42 | interrupt-parent = <&intc>; | ||
43 | interrupts = <0 29 4>; | ||
44 | reg = <0x41230000 0x10000>; | ||
45 | xlnx,all-inputs = <0x1>; | ||
46 | xlnx,all-inputs-2 = <0x0>; | ||
47 | xlnx,all-outputs = <0x0>; | ||
48 | xlnx,all-outputs-2 = <0x0>; | ||
49 | xlnx,dout-default = <0x00000000>; | ||
50 | xlnx,dout-default-2 = <0x00000000>; | ||
51 | xlnx,gpio-width = <0x1>; | ||
52 | xlnx,gpio2-width = <0x20>; | ||
53 | xlnx,interrupt-present = <0x1>; | ||
54 | xlnx,is-dual = <0x0>; | ||
55 | xlnx,tri-default = <0xFFFFFFFF>; | ||
56 | xlnx,tri-default-2 = <0xFFFFFFFF>; | ||
57 | }; | ||
58 | axi_gpio_led: gpio@41200000 { | ||
59 | #gpio-cells = <2>; | ||
60 | compatible = "xlnx,xps-gpio-1.00.a"; | ||
61 | gpio-controller ; | ||
62 | reg = <0x41200000 0x10000>; | ||
63 | xlnx,all-inputs = <0x0>; | ||
64 | xlnx,all-inputs-2 = <0x0>; | ||
65 | xlnx,all-outputs = <0x1>; | ||
66 | xlnx,all-outputs-2 = <0x0>; | ||
67 | xlnx,dout-default = <0x00000000>; | ||
68 | xlnx,dout-default-2 = <0x00000000>; | ||
69 | xlnx,gpio-width = <0x4>; | ||
70 | xlnx,gpio2-width = <0x20>; | ||
71 | xlnx,interrupt-present = <0x0>; | ||
72 | xlnx,is-dual = <0x0>; | ||
73 | xlnx,tri-default = <0xFFFFFFFF>; | ||
74 | xlnx,tri-default-2 = <0xFFFFFFFF>; | ||
75 | }; | ||
76 | axi_gpio_sw: gpio@41220000 { | ||
77 | #gpio-cells = <2>; | ||
78 | compatible = "xlnx,xps-gpio-1.00.a"; | ||
79 | gpio-controller ; | ||
80 | reg = <0x41220000 0x10000>; | ||
81 | xlnx,all-inputs = <0x1>; | ||
82 | xlnx,all-inputs-2 = <0x0>; | ||
83 | xlnx,all-outputs = <0x0>; | ||
84 | xlnx,all-outputs-2 = <0x0>; | ||
85 | xlnx,dout-default = <0x00000000>; | ||
86 | xlnx,dout-default-2 = <0x00000000>; | ||
87 | xlnx,gpio-width = <0x4>; | ||
88 | xlnx,gpio2-width = <0x20>; | ||
89 | xlnx,interrupt-present = <0x0>; | ||
90 | xlnx,is-dual = <0x0>; | ||
91 | xlnx,tri-default = <0xFFFFFFFF>; | ||
92 | xlnx,tri-default-2 = <0xFFFFFFFF>; | ||
93 | }; | ||
94 | axi_i2s_adi_0: axi_i2s_adi@43c20000 { | ||
95 | compatible = "xlnx,axi-i2s-adi-1.0"; | ||
96 | reg = <0x43c20000 0x10000>; | ||
97 | xlnx,bclk-pol = <0x0>; | ||
98 | xlnx,dma-type = <0x1>; | ||
99 | xlnx,has-rx = <0x1>; | ||
100 | xlnx,has-tx = <0x1>; | ||
101 | xlnx,lrclk-pol = <0x0>; | ||
102 | xlnx,num-ch = <0x1>; | ||
103 | xlnx,s-axi-min-size = <0x000001FF>; | ||
104 | xlnx,slot-width = <0x18>; | ||
105 | }; | ||
106 | axi_vdma_0: dma@43000000 { | ||
107 | #dma-cells = <1>; | ||
108 | compatible = "xlnx,axi-vdma-1.00.a"; | ||
109 | clocks = <&clkc 15>; | ||
110 | clock-names = "s_axi_lite_aclk"; | ||
111 | interrupt-parent = <&intc>; | ||
112 | interrupts = <0 30 4>; | ||
113 | reg = <0x43000000 0x10000>; | ||
114 | xlnx,flush-fsync = <0x1>; | ||
115 | xlnx,num-fstores = <0x1>; | ||
116 | dma-channel@43000000 { | ||
117 | compatible = "xlnx,axi-vdma-mm2s-channel"; | ||
118 | interrupts = <0 30 4>; | ||
119 | xlnx,datawidth = <0x20>; | ||
120 | xlnx,device-id = <0x0>; | ||
121 | }; | ||
122 | }; | ||
123 | v_tc_0: v_tc@43c00000 { | ||
124 | compatible = "xlnx,v-tc-6.1"; | ||
125 | interrupt-parent = <&intc>; | ||
126 | interrupts = <0 31 4>; | ||
127 | reg = <0x43c00000 0x10000>; | ||
128 | xlnx,det-achroma-en = <0x0>; | ||
129 | xlnx,det-avideo-en = <0x1>; | ||
130 | xlnx,det-fieldid-en = <0x0>; | ||
131 | xlnx,det-hblank-en = <0x1>; | ||
132 | xlnx,det-hsync-en = <0x1>; | ||
133 | xlnx,det-vblank-en = <0x1>; | ||
134 | xlnx,det-vsync-en = <0x1>; | ||
135 | xlnx,detect-en = <0x0>; | ||
136 | xlnx,fsync-hstart0 = <0x0>; | ||
137 | xlnx,fsync-hstart1 = <0x0>; | ||
138 | xlnx,fsync-hstart10 = <0x0>; | ||
139 | xlnx,fsync-hstart11 = <0x0>; | ||
140 | xlnx,fsync-hstart12 = <0x0>; | ||
141 | xlnx,fsync-hstart13 = <0x0>; | ||
142 | xlnx,fsync-hstart14 = <0x0>; | ||
143 | xlnx,fsync-hstart15 = <0x0>; | ||
144 | xlnx,fsync-hstart2 = <0x0>; | ||
145 | xlnx,fsync-hstart3 = <0x0>; | ||
146 | xlnx,fsync-hstart4 = <0x0>; | ||
147 | xlnx,fsync-hstart5 = <0x0>; | ||
148 | xlnx,fsync-hstart6 = <0x0>; | ||
149 | xlnx,fsync-hstart7 = <0x0>; | ||
150 | xlnx,fsync-hstart8 = <0x0>; | ||
151 | xlnx,fsync-hstart9 = <0x0>; | ||
152 | xlnx,fsync-vstart0 = <0x0>; | ||
153 | xlnx,fsync-vstart1 = <0x0>; | ||
154 | xlnx,fsync-vstart10 = <0x0>; | ||
155 | xlnx,fsync-vstart11 = <0x0>; | ||
156 | xlnx,fsync-vstart12 = <0x0>; | ||
157 | xlnx,fsync-vstart13 = <0x0>; | ||
158 | xlnx,fsync-vstart14 = <0x0>; | ||
159 | xlnx,fsync-vstart15 = <0x0>; | ||
160 | xlnx,fsync-vstart2 = <0x0>; | ||
161 | xlnx,fsync-vstart3 = <0x0>; | ||
162 | xlnx,fsync-vstart4 = <0x0>; | ||
163 | xlnx,fsync-vstart5 = <0x0>; | ||
164 | xlnx,fsync-vstart6 = <0x0>; | ||
165 | xlnx,fsync-vstart7 = <0x0>; | ||
166 | xlnx,fsync-vstart8 = <0x0>; | ||
167 | xlnx,fsync-vstart9 = <0x0>; | ||
168 | xlnx,gen-achroma-en = <0x0>; | ||
169 | xlnx,gen-achroma-polarity = <0x1>; | ||
170 | xlnx,gen-auto-switch = <0x0>; | ||
171 | xlnx,gen-avideo-en = <0x1>; | ||
172 | xlnx,gen-avideo-polarity = <0x1>; | ||
173 | xlnx,gen-cparity = <0x0>; | ||
174 | xlnx,gen-f0-vblank-hend = <0x500>; | ||
175 | xlnx,gen-f0-vblank-hstart = <0x500>; | ||
176 | xlnx,gen-f0-vframe-size = <0x2ee>; | ||
177 | xlnx,gen-f0-vsync-hend = <0x500>; | ||
178 | xlnx,gen-f0-vsync-hstart = <0x500>; | ||
179 | xlnx,gen-f0-vsync-vend = <0x2d9>; | ||
180 | xlnx,gen-f0-vsync-vstart = <0x2d4>; | ||
181 | xlnx,gen-f1-vblank-hend = <0x500>; | ||
182 | xlnx,gen-f1-vblank-hstart = <0x500>; | ||
183 | xlnx,gen-f1-vframe-size = <0x2ee>; | ||
184 | xlnx,gen-f1-vsync-hend = <0x500>; | ||
185 | xlnx,gen-f1-vsync-hstart = <0x500>; | ||
186 | xlnx,gen-f1-vsync-vend = <0x2d9>; | ||
187 | xlnx,gen-f1-vsync-vstart = <0x2d4>; | ||
188 | xlnx,gen-fieldid-en = <0x0>; | ||
189 | xlnx,gen-fieldid-polarity = <0x1>; | ||
190 | xlnx,gen-hactive-size = <0x500>; | ||
191 | xlnx,gen-hblank-en = <0x1>; | ||
192 | xlnx,gen-hblank-polarity = <0x1>; | ||
193 | xlnx,gen-hframe-size = <0x672>; | ||
194 | xlnx,gen-hsync-en = <0x1>; | ||
195 | xlnx,gen-hsync-end = <0x596>; | ||
196 | xlnx,gen-hsync-polarity = <0x1>; | ||
197 | xlnx,gen-hsync-start = <0x56e>; | ||
198 | xlnx,gen-interlaced = <0x0>; | ||
199 | xlnx,gen-vactive-size = <0x2d0>; | ||
200 | xlnx,gen-vblank-en = <0x1>; | ||
201 | xlnx,gen-vblank-polarity = <0x1>; | ||
202 | xlnx,gen-video-format = <0x2>; | ||
203 | xlnx,gen-vsync-en = <0x1>; | ||
204 | xlnx,gen-vsync-polarity = <0x1>; | ||
205 | xlnx,generate-en = <0x1>; | ||
206 | xlnx,has-axi4-lite = <0x1>; | ||
207 | xlnx,has-intc-if = <0x0>; | ||
208 | xlnx,interlace-en = <0x0>; | ||
209 | xlnx,max-lines = <0x1000>; | ||
210 | xlnx,max-pixels = <0x1000>; | ||
211 | xlnx,num-fsyncs = <0x1>; | ||
212 | xlnx,sync-en = <0x0>; | ||
213 | }; | ||
214 | }; | ||
215 | }; | ||
diff --git a/meta-xilinx-bsp/recipes-bsp/device-tree/files/zybo-linux-bd-zynq7/zybo-linux-bd-zynq7.dts b/meta-xilinx-bsp/recipes-bsp/device-tree/files/zybo-linux-bd-zynq7/zybo-linux-bd-zynq7.dts new file mode 100644 index 00000000..19654392 --- /dev/null +++ b/meta-xilinx-bsp/recipes-bsp/device-tree/files/zybo-linux-bd-zynq7/zybo-linux-bd-zynq7.dts | |||
@@ -0,0 +1,184 @@ | |||
1 | /dts-v1/; | ||
2 | /include/ "skeleton.dtsi" | ||
3 | /include/ "zynq-7000.dtsi" | ||
4 | /include/ "zynq-7000-qspi-dummy.dtsi" | ||
5 | /include/ "pcw.dtsi" | ||
6 | /include/ "pl.dtsi" | ||
7 | |||
8 | / { | ||
9 | model = "Digilent-Zybo-Linux-BD-v2015.4"; | ||
10 | aliases { | ||
11 | serial0 = &uart1; | ||
12 | ethernet0 = &gem0; | ||
13 | spi0 = &qspi; | ||
14 | }; | ||
15 | chosen { | ||
16 | bootargs = ""; | ||
17 | stdout-path = "serial0:115200n8"; | ||
18 | }; | ||
19 | memory { | ||
20 | device_type = "memory"; | ||
21 | reg = <0x0 0x20000000>; | ||
22 | }; | ||
23 | |||
24 | gpio-keys { | ||
25 | compatible = "gpio-keys"; | ||
26 | #address-cells = <1>; | ||
27 | #size-cells = <0>; | ||
28 | autorepeat; | ||
29 | btn4 { | ||
30 | label = "btn4"; | ||
31 | gpios = <&gpio0 50 0>; | ||
32 | linux,code = <108>; /* down */ | ||
33 | gpio-key,wakeup; | ||
34 | autorepeat; | ||
35 | }; | ||
36 | btn5 { | ||
37 | label = "btn5"; | ||
38 | gpios = <&gpio0 51 0>; | ||
39 | linux,code = <103>; /* up */ | ||
40 | gpio-key,wakeup; | ||
41 | autorepeat; | ||
42 | }; | ||
43 | }; | ||
44 | |||
45 | usb_phy0: usb_phy@0 { | ||
46 | compatible = "usb-nop-xceiv"; | ||
47 | #phy-cells = <0>; | ||
48 | reset-gpios = <&gpio0 46 1>; | ||
49 | }; | ||
50 | }; | ||
51 | |||
52 | &amba { | ||
53 | u-boot,dm-pre-reloc; | ||
54 | }; | ||
55 | |||
56 | &amba_pl { | ||
57 | encoder_0: digilent_encoder { | ||
58 | compatible = "digilent,drm-encoder"; | ||
59 | dglnt,edid-i2c = <&i2c1>; | ||
60 | }; | ||
61 | |||
62 | xilinx_drm { | ||
63 | compatible = "xlnx,drm"; | ||
64 | xlnx,vtc = <&v_tc_0>; | ||
65 | xlnx,connector-type = "HDMIA"; | ||
66 | xlnx,encoder-slave = <&encoder_0>; | ||
67 | clocks = <&axi_dynclk_0>; | ||
68 | planes { | ||
69 | xlnx,pixel-format = "xrgb8888"; | ||
70 | plane0 { | ||
71 | dmas = <&axi_vdma_0 0>; | ||
72 | dma-names = "dma0"; | ||
73 | }; | ||
74 | }; | ||
75 | }; | ||
76 | |||
77 | i2s_clk: i2s_clk { | ||
78 | #clock-cells = <0>; | ||
79 | compatible = "fixed-clock"; | ||
80 | clock-frequency = <12288000>; | ||
81 | clock-output-names = "i2s_clk"; | ||
82 | }; | ||
83 | |||
84 | sound { | ||
85 | compatible = "simple-audio-card"; | ||
86 | simple-audio-card,name = "ZYBO-Sound-Card"; | ||
87 | simple-audio-card,format = "i2s"; | ||
88 | simple-audio-card,bitclock-master = <&dailink0_master>; | ||
89 | simple-audio-card,frame-master = <&dailink0_master>; | ||
90 | simple-audio-card,widgets = | ||
91 | "Microphone", "Microphone Jack", | ||
92 | "Headphone", "Headphone Jack", | ||
93 | "Line", "Line In Jack"; | ||
94 | simple-audio-card,routing = | ||
95 | "MICIN", "Microphone Jack", | ||
96 | "Headphone Jack", "LHPOUT", | ||
97 | "Headphone Jack", "RHPOUT", | ||
98 | "LLINEIN", "Line In Jack", | ||
99 | "RLINEIN", "Line In Jack"; | ||
100 | dailink0_master: simple-audio-card,cpu { | ||
101 | clocks = <&i2s_clk>; | ||
102 | sound-dai = <&axi_i2s_adi_0>; | ||
103 | }; | ||
104 | simple-audio-card,codec { | ||
105 | clocks = <&i2s_clk>; | ||
106 | sound-dai = <&ssm2603>; | ||
107 | }; | ||
108 | }; | ||
109 | }; | ||
110 | |||
111 | &axi_dynclk_0 { | ||
112 | compatible = "digilent,axi-dynclk"; | ||
113 | #clock-cells = <0>; | ||
114 | clocks = <&clkc 15>; | ||
115 | }; | ||
116 | |||
117 | &axi_i2s_adi_0 { | ||
118 | #sound-dai-cells = <0>; | ||
119 | compatible = "adi,axi-i2s-1.00.a"; | ||
120 | clocks = <&clkc 15>, <&i2s_clk>; | ||
121 | clock-names = "axi", "ref"; | ||
122 | dmas = <&dmac_s 0 &dmac_s 1>; | ||
123 | dma-names = "tx", "rx"; | ||
124 | }; | ||
125 | |||
126 | &gem0 { | ||
127 | phy-handle = <&phy0>; | ||
128 | phy-mode = "rgmii-id"; | ||
129 | local-mac-address = []; | ||
130 | phy0: phy@0 { | ||
131 | device_type = "ethernet-phy"; | ||
132 | reg = <0>; | ||
133 | }; | ||
134 | }; | ||
135 | |||
136 | &i2c0 { | ||
137 | eeprom@50 { | ||
138 | /* Microchip 24AA02E48 */ | ||
139 | compatible = "microchip,24c02"; | ||
140 | reg = <0x50>; | ||
141 | }; | ||
142 | |||
143 | ssm2603: ssm2603@1a{ | ||
144 | #sound-dai-cells = <0>; | ||
145 | compatible = "adi,ssm2603"; | ||
146 | reg = <0x1a>; | ||
147 | }; | ||
148 | }; | ||
149 | |||
150 | &qspi { | ||
151 | #address-cells = <1>; | ||
152 | #size-cells = <0>; | ||
153 | flash0: flash@0 { | ||
154 | compatible = "micron,m25p80", "s25fl128s"; | ||
155 | reg = <0x0>; | ||
156 | #address-cells = <1>; | ||
157 | #size-cells = <1>; | ||
158 | spi-max-frequency = <50000000>; | ||
159 | partition@0x00000000 { | ||
160 | label = "boot"; | ||
161 | reg = <0x00000000 0x00300000>; | ||
162 | }; | ||
163 | partition@0x00300000 { | ||
164 | label = "bootenv"; | ||
165 | reg = <0x00300000 0x00020000>; | ||
166 | }; | ||
167 | partition@0x00320000 { | ||
168 | label = "kernel"; | ||
169 | reg = <0x00320000 0x00a80000>; | ||
170 | }; | ||
171 | partition@0x00da0000 { | ||
172 | label = "spare"; | ||
173 | reg = <0x00da0000 0x00000000>; | ||
174 | }; | ||
175 | }; | ||
176 | }; | ||
177 | |||
178 | &usb0 { | ||
179 | usb-phy = <&usb_phy0>; | ||
180 | }; | ||
181 | |||
182 | &v_tc_0 { | ||
183 | compatible = "xlnx,v-tc-5.01.a"; | ||
184 | }; | ||