blob: 7e25f87cc16be2baba72d35f7fe114e1308be96c [file] [log] [blame]
Brad Bishop754b8fa2019-08-20 09:16:20 -04001From afe880f500cff7a9486379c5ad7a4f3379015a62 Mon Sep 17 00:00:00 2001
2From: Jaewon Lee <jaewon.lee@xilinx.com>
3Date: Mon, 14 Jan 2019 11:30:56 -0800
Brad Bishop286d45c2018-10-02 15:21:57 -04004Subject: [PATCH] kc705-microblazeel: Convert microblaze-generic to
5 kc705-microblazeel
6
7This is an update to earlier kc705-trd patch done by Nathan Rossi.
Brad Bishop286d45c2018-10-02 15:21:57 -04008
9Change the microblaze-generic board to match the kc705-microblazeel.
10This patch is not intended for upstream and serves as an intermediate
11solution until OF support in upstream u-boot allows for easy support for
12custom microblaze boards.
13
Brad Bishop754b8fa2019-08-20 09:16:20 -040014Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com>
Brad Bishop286d45c2018-10-02 15:21:57 -040015Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
16Upstream-Status: Not-Upstreamable [meta-xilinx/kc705 specific]
17---
18 arch/microblaze/dts/microblaze-generic.dts | 590 ++++++++++++++++++++++++++++-
Brad Bishop754b8fa2019-08-20 09:16:20 -040019 board/xilinx/microblaze-generic/config.mk | 28 +-
20 configs/microblaze-generic_defconfig | 75 ++--
21 include/configs/microblaze-generic.h | 348 ++++++++---------
22 4 files changed, 782 insertions(+), 259 deletions(-)
Brad Bishop286d45c2018-10-02 15:21:57 -040023
24diff --git a/arch/microblaze/dts/microblaze-generic.dts b/arch/microblaze/dts/microblaze-generic.dts
25index 08a1396..f8e616b 100644
26--- a/arch/microblaze/dts/microblaze-generic.dts
27+++ b/arch/microblaze/dts/microblaze-generic.dts
28@@ -1,9 +1,587 @@
29 /dts-v1/;
30+
31 / {
32- #address-cells = <1>;
33- #size-cells = <1>;
34- aliases {
35- } ;
36+ #address-cells = <0x1>;
37+ #size-cells = <0x1>;
38+ compatible = "xlnx,microblaze";
39+ model = "Xilinx MicroBlaze";
40+ hard-reset-gpios = <0x1 0x0 0x1>;
41+
42+ cpus {
43+ #address-cells = <0x1>;
44+ #cpus = <0x1>;
45+ #size-cells = <0x0>;
46+
47+ cpu@0 {
48+ bus-handle = <0x2>;
49+ clock-frequency = <0xbebc200>;
50+ clocks = <0x3>;
51+ compatible = "xlnx,microblaze-10.0";
52+ d-cache-baseaddr = <0x80000000>;
53+ d-cache-highaddr = <0xbfffffff>;
54+ d-cache-line-size = <0x20>;
55+ d-cache-size = <0x4000>;
56+ device_type = "cpu";
57+ i-cache-baseaddr = <0x80000000>;
58+ i-cache-highaddr = <0xbfffffff>;
59+ i-cache-line-size = <0x10>;
60+ i-cache-size = <0x4000>;
61+ interrupt-handle = <0x4>;
62+ model = "microblaze,10.0";
63+ timebase-frequency = <0xbebc200>;
64+ xlnx,addr-size = <0x20>;
65+ xlnx,addr-tag-bits = <0x10>;
66+ xlnx,allow-dcache-wr = <0x1>;
67+ xlnx,allow-icache-wr = <0x1>;
68+ xlnx,area-optimized = <0x0>;
69+ xlnx,async-interrupt = <0x1>;
70+ xlnx,async-wakeup = <0x3>;
71+ xlnx,avoid-primitives = <0x0>;
72+ xlnx,base-vectors = <0x0>;
73+ xlnx,branch-target-cache-size = <0x0>;
74+ xlnx,cache-byte-size = <0x4000>;
75+ xlnx,d-axi = <0x1>;
76+ xlnx,d-lmb = <0x1>;
77+ xlnx,d-lmb-mon = <0x0>;
78+ xlnx,daddr-size = <0x20>;
79+ xlnx,data-size = <0x20>;
80+ xlnx,dc-axi-mon = <0x0>;
81+ xlnx,dcache-addr-tag = <0x10>;
82+ xlnx,dcache-always-used = <0x1>;
83+ xlnx,dcache-byte-size = <0x4000>;
84+ xlnx,dcache-data-width = <0x0>;
85+ xlnx,dcache-force-tag-lutram = <0x0>;
86+ xlnx,dcache-line-len = <0x8>;
87+ xlnx,dcache-use-writeback = <0x0>;
88+ xlnx,dcache-victims = <0x0>;
89+ xlnx,debug-counter-width = <0x20>;
90+ xlnx,debug-enabled = <0x1>;
91+ xlnx,debug-event-counters = <0x5>;
92+ xlnx,debug-external-trace = <0x0>;
93+ xlnx,debug-interface = <0x0>;
94+ xlnx,debug-latency-counters = <0x1>;
95+ xlnx,debug-profile-size = <0x0>;
96+ xlnx,debug-trace-async-reset = <0x0>;
97+ xlnx,debug-trace-size = <0x2000>;
98+ xlnx,div-zero-exception = <0x1>;
99+ xlnx,dp-axi-mon = <0x0>;
100+ xlnx,dynamic-bus-sizing = <0x0>;
101+ xlnx,ecc-use-ce-exception = <0x0>;
102+ xlnx,edge-is-positive = <0x1>;
103+ xlnx,enable-discrete-ports = <0x0>;
104+ xlnx,endianness = <0x1>;
105+ xlnx,fault-tolerant = <0x0>;
106+ xlnx,fpu-exception = <0x0>;
107+ xlnx,freq = <0xbebc200>;
108+ xlnx,fsl-exception = <0x0>;
109+ xlnx,fsl-links = <0x0>;
110+ xlnx,i-axi = <0x0>;
111+ xlnx,i-lmb = <0x1>;
112+ xlnx,i-lmb-mon = <0x0>;
113+ xlnx,iaddr-size = <0x20>;
114+ xlnx,ic-axi-mon = <0x0>;
115+ xlnx,icache-always-used = <0x1>;
116+ xlnx,icache-data-width = <0x0>;
117+ xlnx,icache-force-tag-lutram = <0x0>;
118+ xlnx,icache-line-len = <0x4>;
119+ xlnx,icache-streams = <0x1>;
120+ xlnx,icache-victims = <0x8>;
121+ xlnx,ill-opcode-exception = <0x1>;
122+ xlnx,imprecise-exceptions = <0x0>;
123+ xlnx,instr-size = <0x20>;
124+ xlnx,interconnect = <0x2>;
125+ xlnx,interrupt-is-edge = <0x0>;
126+ xlnx,interrupt-mon = <0x0>;
127+ xlnx,ip-axi-mon = <0x0>;
128+ xlnx,lockstep-master = <0x0>;
129+ xlnx,lockstep-select = <0x0>;
130+ xlnx,lockstep-slave = <0x0>;
131+ xlnx,mmu-dtlb-size = <0x4>;
132+ xlnx,mmu-itlb-size = <0x2>;
133+ xlnx,mmu-privileged-instr = <0x0>;
134+ xlnx,mmu-tlb-access = <0x3>;
135+ xlnx,mmu-zones = <0x2>;
136+ xlnx,num-sync-ff-clk = <0x2>;
137+ xlnx,num-sync-ff-clk-debug = <0x2>;
138+ xlnx,num-sync-ff-clk-irq = <0x1>;
139+ xlnx,num-sync-ff-dbg-clk = <0x1>;
140+ xlnx,num-sync-ff-dbg-trace-clk = <0x2>;
141+ xlnx,number-of-pc-brk = <0x1>;
142+ xlnx,number-of-rd-addr-brk = <0x0>;
143+ xlnx,number-of-wr-addr-brk = <0x0>;
144+ xlnx,opcode-0x0-illegal = <0x1>;
145+ xlnx,optimization = <0x0>;
146+ xlnx,pc-width = <0x20>;
147+ xlnx,piaddr-size = <0x20>;
148+ xlnx,pvr = <0x2>;
149+ xlnx,pvr-user1 = <0x0>;
150+ xlnx,pvr-user2 = <0x0>;
151+ xlnx,reset-msr = <0x0>;
152+ xlnx,reset-msr-bip = <0x0>;
153+ xlnx,reset-msr-dce = <0x0>;
154+ xlnx,reset-msr-ee = <0x0>;
155+ xlnx,reset-msr-eip = <0x0>;
156+ xlnx,reset-msr-ice = <0x0>;
157+ xlnx,reset-msr-ie = <0x0>;
158+ xlnx,sco = <0x0>;
159+ xlnx,trace = <0x0>;
160+ xlnx,unaligned-exceptions = <0x1>;
161+ xlnx,use-barrel = <0x1>;
162+ xlnx,use-branch-target-cache = <0x0>;
163+ xlnx,use-config-reset = <0x0>;
164+ xlnx,use-dcache = <0x1>;
165+ xlnx,use-div = <0x1>;
166+ xlnx,use-ext-brk = <0x0>;
167+ xlnx,use-ext-nm-brk = <0x0>;
168+ xlnx,use-extended-fsl-instr = <0x0>;
169+ xlnx,use-fpu = <0x0>;
170+ xlnx,use-hw-mul = <0x2>;
171+ xlnx,use-icache = <0x1>;
172+ xlnx,use-interrupt = <0x2>;
173+ xlnx,use-mmu = <0x3>;
174+ xlnx,use-msr-instr = <0x1>;
175+ xlnx,use-non-secure = <0x0>;
176+ xlnx,use-pcmp-instr = <0x1>;
177+ xlnx,use-reorder-instr = <0x1>;
178+ xlnx,use-stack-protection = <0x0>;
179+ };
180+ };
181+
182+ clocks {
183+ #address-cells = <0x1>;
184+ #size-cells = <0x0>;
185+
186+ clk_cpu@0 {
187+ #clock-cells = <0x0>;
188+ clock-frequency = <0xbebc200>;
189+ clock-output-names = "clk_cpu";
190+ compatible = "fixed-clock";
191+ reg = <0x0>;
192+ linux,phandle = <0x3>;
193+ phandle = <0x3>;
194+ };
195+
196+ clk_bus_0@1 {
197+ #clock-cells = <0x0>;
198+ clock-frequency = <0xbebc200>;
199+ clock-output-names = "clk_bus_0";
200+ compatible = "fixed-clock";
201+ reg = <0x1>;
202+ linux,phandle = <0x8>;
203+ phandle = <0x8>;
204+ };
205+ };
206+
207+ amba_pl {
208+ #address-cells = <0x1>;
209+ #size-cells = <0x1>;
210+ compatible = "simple-bus";
211+ ranges;
212+ linux,phandle = <0x2>;
213+ phandle = <0x2>;
214+
215+ ethernet@40c00000 {
216+ axistream-connected = <0x5>;
217+ axistream-control-connected = <0x5>;
218+ clock-frequency = <0x5f5e100>;
219+ compatible = "xlnx,axi-ethernet-1.00.a";
220+ device_type = "network";
221+ interrupt-names = "interrupt";
222+ interrupt-parent = <0x4>;
223+ interrupts = <0x4 0x2>;
224+ phy-mode = "gmii";
225+ reg = <0x40c00000 0x40000>;
226+ xlnx = <0x0>;
227+ xlnx,axiliteclkrate = <0x0>;
228+ xlnx,axisclkrate = <0x0>;
229+ xlnx,clockselection = <0x0>;
230+ xlnx,enableasyncsgmii = <0x0>;
231+ xlnx,gt-type = <0x0>;
232+ xlnx,gtinex = <0x0>;
233+ xlnx,gtlocation = <0x0>;
234+ xlnx,gtrefclksrc = <0x0>;
235+ xlnx,include-dre;
236+ xlnx,instantiatebitslice0 = <0x0>;
237+ xlnx,phy-type = <0x1>;
238+ xlnx,phyaddr = <0x1>;
239+ xlnx,rable = <0x0>;
240+ xlnx,rxcsum = <0x0>;
241+ xlnx,rxlane0-placement = <0x0>;
242+ xlnx,rxlane1-placement = <0x0>;
243+ xlnx,rxmem = <0x1000>;
244+ xlnx,rxnibblebitslice0used = <0x0>;
245+ xlnx,tx-in-upper-nibble = <0x1>;
246+ xlnx,txcsum = <0x0>;
247+ xlnx,txlane0-placement = <0x0>;
248+ xlnx,txlane1-placement = <0x0>;
249+ phy-handle = <0x6>;
250+ local-mac-address = [00 0a 35 00 22 01];
251+ linux,phandle = <0x7>;
252+ phandle = <0x7>;
253+
254+ mdio {
255+ #address-cells = <0x1>;
256+ #size-cells = <0x0>;
257+
258+ phy@7 {
259+ device_type = "ethernet-phy";
260+ reg = <0x7>;
261+ linux,phandle = <0x6>;
262+ phandle = <0x6>;
263+ };
264+ };
265+ };
266+
267+ dma@41e00000 {
268+ #dma-cells = <0x1>;
269+ axistream-connected = <0x7>;
270+ axistream-control-connected = <0x7>;
271+ clock-frequency = <0xbebc200>;
272+ clock-names = "s_axi_lite_aclk";
273+ clocks = <0x8>;
274+ compatible = "xlnx,eth-dma";
275+ interrupt-names = "mm2s_introut", "s2mm_introut";
276+ interrupt-parent = <0x4>;
277+ interrupts = <0x3 0x2 0x2 0x2>;
278+ reg = <0x41e00000 0x10000>;
279+ xlnx,include-dre;
280+ linux,phandle = <0x5>;
281+ phandle = <0x5>;
282+ };
283+
284+ timer@41c00000 {
285+ clock-frequency = <0xbebc200>;
286+ clocks = <0x8>;
287+ compatible = "xlnx,xps-timer-1.00.a";
288+ interrupt-names = "interrupt";
289+ interrupt-parent = <0x4>;
290+ interrupts = <0x5 0x2>;
291+ reg = <0x41c00000 0x10000>;
292+ xlnx,count-width = <0x20>;
293+ xlnx,gen0-assert = <0x1>;
294+ xlnx,gen1-assert = <0x1>;
295+ xlnx,one-timer-only = <0x0>;
296+ xlnx,trig0-assert = <0x1>;
297+ xlnx,trig1-assert = <0x1>;
298+ };
299+
300+ gpio@40010000 {
301+ #gpio-cells = <0x2>;
302+ clock-frequency = <0xbebc200>;
303+ clock-names = "s_axi_aclk";
304+ clocks = <0x8>;
305+ compatible = "xlnx,xps-gpio-1.00.a";
306+ gpio-controller;
307+ reg = <0x40010000 0x10000>;
308+ xlnx,all-inputs = <0x1>;
309+ xlnx,all-inputs-2 = <0x0>;
310+ xlnx,all-outputs = <0x0>;
311+ xlnx,all-outputs-2 = <0x0>;
312+ xlnx,dout-default = <0x0>;
313+ xlnx,dout-default-2 = <0x0>;
314+ xlnx,gpio-width = <0x1>;
315+ xlnx,gpio2-width = <0x20>;
316+ xlnx,interrupt-present = <0x0>;
317+ xlnx,is-dual = <0x0>;
318+ xlnx,tri-default = <0xffffffff>;
319+ xlnx,tri-default-2 = <0xffffffff>;
320+ };
321+
322+ gpio@40020000 {
323+ #gpio-cells = <0x2>;
324+ clock-frequency = <0xbebc200>;
325+ clock-names = "s_axi_aclk";
326+ clocks = <0x8>;
327+ compatible = "xlnx,xps-gpio-1.00.a";
328+ gpio-controller;
329+ reg = <0x40020000 0x10000>;
330+ xlnx,all-inputs = <0x1>;
331+ xlnx,all-inputs-2 = <0x0>;
332+ xlnx,all-outputs = <0x0>;
333+ xlnx,all-outputs-2 = <0x0>;
334+ xlnx,dout-default = <0x0>;
335+ xlnx,dout-default-2 = <0x0>;
336+ xlnx,gpio-width = <0x4>;
337+ xlnx,gpio2-width = <0x20>;
338+ xlnx,interrupt-present = <0x0>;
339+ xlnx,is-dual = <0x0>;
340+ xlnx,tri-default = <0xffffffff>;
341+ xlnx,tri-default-2 = <0xffffffff>;
342+ };
343+
344+ i2c@40800000 {
345+ #address-cells = <0x1>;
346+ #size-cells = <0x0>;
347+ clock-frequency = <0xbebc200>;
348+ clocks = <0x8>;
349+ compatible = "xlnx,xps-iic-2.00.a";
350+ interrupt-names = "iic2intc_irpt";
351+ interrupt-parent = <0x4>;
352+ interrupts = <0x1 0x2>;
353+ reg = <0x40800000 0x10000>;
354+
355+ i2cswitch@74 {
356+ compatible = "nxp,pca9548";
357+ #address-cells = <0x1>;
358+ #size-cells = <0x0>;
359+ reg = <0x74>;
360+
361+ i2c@0 {
362+ #address-cells = <0x1>;
363+ #size-cells = <0x0>;
364+ reg = <0x0>;
365+
366+ clock-generator@5d {
367+ #clock-cells = <0x0>;
368+ compatible = "silabs,si570";
369+ temperature-stability = <0x32>;
370+ reg = <0x5d>;
371+ factory-fout = <0x9502f90>;
372+ clock-frequency = <0x8d9ee20>;
373+ };
374+ };
375+
376+ i2c@3 {
377+ #address-cells = <0x1>;
378+ #size-cells = <0x0>;
379+ reg = <0x3>;
380+
381+ eeprom@54 {
382+ compatible = "at,24c08";
383+ reg = <0x54>;
384+ };
385+ };
386+ };
387+ };
388+
389+ gpio@40030000 {
390+ #gpio-cells = <0x2>;
391+ clock-frequency = <0xbebc200>;
392+ clock-names = "s_axi_aclk";
393+ clocks = <0x8>;
394+ compatible = "xlnx,xps-gpio-1.00.a";
395+ gpio-controller;
396+ reg = <0x40030000 0x10000>;
397+ xlnx,all-inputs = <0x0>;
398+ xlnx,all-inputs-2 = <0x0>;
399+ xlnx,all-outputs = <0x1>;
400+ xlnx,all-outputs-2 = <0x0>;
401+ xlnx,dout-default = <0x0>;
402+ xlnx,dout-default-2 = <0x0>;
403+ xlnx,gpio-width = <0x8>;
404+ xlnx,gpio2-width = <0x20>;
405+ xlnx,interrupt-present = <0x0>;
406+ xlnx,is-dual = <0x0>;
407+ xlnx,tri-default = <0xffffffff>;
408+ xlnx,tri-default-2 = <0xffffffff>;
409+ };
410+
411+ flash@60000000 {
412+ bank-width = <0x2>;
413+ compatible = "cfi-flash";
414+ reg = <0x60000000 0x8000000>;
415+ xlnx,axi-clk-period-ps = <0x1388>;
416+ xlnx,include-datawidth-matching-0 = <0x1>;
417+ xlnx,include-datawidth-matching-1 = <0x1>;
418+ xlnx,include-datawidth-matching-2 = <0x1>;
419+ xlnx,include-datawidth-matching-3 = <0x1>;
420+ xlnx,include-negedge-ioregs = <0x0>;
421+ xlnx,lflash-period-ps = <0x1388>;
422+ xlnx,linear-flash-sync-burst = <0x0>;
423+ xlnx,max-mem-width = <0x10>;
424+ xlnx,mem-a-lsb = <0x0>;
425+ xlnx,mem-a-msb = <0x1f>;
426+ xlnx,mem0-type = <0x2>;
427+ xlnx,mem0-width = <0x10>;
428+ xlnx,mem1-type = <0x0>;
429+ xlnx,mem1-width = <0x10>;
430+ xlnx,mem2-type = <0x0>;
431+ xlnx,mem2-width = <0x10>;
432+ xlnx,mem3-type = <0x0>;
433+ xlnx,mem3-width = <0x10>;
434+ xlnx,num-banks-mem = <0x1>;
435+ xlnx,page-size = <0x10>;
436+ xlnx,parity-type-mem-0 = <0x0>;
437+ xlnx,parity-type-mem-1 = <0x0>;
438+ xlnx,parity-type-mem-2 = <0x0>;
439+ xlnx,parity-type-mem-3 = <0x0>;
440+ xlnx,port-diff = <0x0>;
441+ xlnx,s-axi-en-reg = <0x0>;
442+ xlnx,s-axi-mem-addr-width = <0x20>;
443+ xlnx,s-axi-mem-data-width = <0x20>;
444+ xlnx,s-axi-mem-id-width = <0x1>;
445+ xlnx,s-axi-reg-addr-width = <0x5>;
446+ xlnx,s-axi-reg-data-width = <0x20>;
447+ xlnx,synch-pipedelay-0 = <0x1>;
448+ xlnx,synch-pipedelay-1 = <0x1>;
449+ xlnx,synch-pipedelay-2 = <0x1>;
450+ xlnx,synch-pipedelay-3 = <0x1>;
451+ xlnx,tavdv-ps-mem-0 = <0x1fbd0>;
452+ xlnx,tavdv-ps-mem-1 = <0x3a98>;
453+ xlnx,tavdv-ps-mem-2 = <0x3a98>;
454+ xlnx,tavdv-ps-mem-3 = <0x3a98>;
455+ xlnx,tcedv-ps-mem-0 = <0x1fbd0>;
456+ xlnx,tcedv-ps-mem-1 = <0x3a98>;
457+ xlnx,tcedv-ps-mem-2 = <0x3a98>;
458+ xlnx,tcedv-ps-mem-3 = <0x3a98>;
459+ xlnx,thzce-ps-mem-0 = <0x88b8>;
460+ xlnx,thzce-ps-mem-1 = <0x1b58>;
461+ xlnx,thzce-ps-mem-2 = <0x1b58>;
462+ xlnx,thzce-ps-mem-3 = <0x1b58>;
463+ xlnx,thzoe-ps-mem-0 = <0x1b58>;
464+ xlnx,thzoe-ps-mem-1 = <0x1b58>;
465+ xlnx,thzoe-ps-mem-2 = <0x1b58>;
466+ xlnx,thzoe-ps-mem-3 = <0x1b58>;
467+ xlnx,tlzwe-ps-mem-0 = <0xc350>;
468+ xlnx,tlzwe-ps-mem-1 = <0x0>;
469+ xlnx,tlzwe-ps-mem-2 = <0x0>;
470+ xlnx,tlzwe-ps-mem-3 = <0x0>;
471+ xlnx,tpacc-ps-flash-0 = <0x61a8>;
472+ xlnx,tpacc-ps-flash-1 = <0x61a8>;
473+ xlnx,tpacc-ps-flash-2 = <0x61a8>;
474+ xlnx,tpacc-ps-flash-3 = <0x61a8>;
475+ xlnx,twc-ps-mem-0 = <0x11170>;
476+ xlnx,twc-ps-mem-1 = <0x3a98>;
477+ xlnx,twc-ps-mem-2 = <0x3a98>;
478+ xlnx,twc-ps-mem-3 = <0x3a98>;
479+ xlnx,twp-ps-mem-0 = <0x13880>;
480+ xlnx,twp-ps-mem-1 = <0x2ee0>;
481+ xlnx,twp-ps-mem-2 = <0x2ee0>;
482+ xlnx,twp-ps-mem-3 = <0x2ee0>;
483+ xlnx,twph-ps-mem-0 = <0x13880>;
484+ xlnx,twph-ps-mem-1 = <0x2ee0>;
485+ xlnx,twph-ps-mem-2 = <0x2ee0>;
486+ xlnx,twph-ps-mem-3 = <0x2ee0>;
487+ xlnx,use-startup = <0x0>;
488+ xlnx,use-startup-int = <0x0>;
489+ xlnx,wr-rec-time-mem-0 = <0x186a0>;
490+ xlnx,wr-rec-time-mem-1 = <0x6978>;
491+ xlnx,wr-rec-time-mem-2 = <0x6978>;
492+ xlnx,wr-rec-time-mem-3 = <0x6978>;
493+ #address-cells = <0x1>;
494+ #size-cells = <0x1>;
495+
496+ partition@0x00000000 {
497+ label = "fpga";
498+ reg = <0x0 0xb00000>;
499+ };
500+
501+ partition@0x00b00000 {
502+ label = "boot";
503+ reg = <0xb00000 0x80000>;
504+ };
505+
506+ partition@0x00b80000 {
507+ label = "bootenv";
508+ reg = <0xb80000 0x20000>;
509+ };
510+
511+ partition@0x00ba0000 {
512+ label = "kernel";
513+ reg = <0xba0000 0xc00000>;
514+ };
515+
516+ partition@0x017a0000 {
517+ label = "spare";
518+ reg = <0x17a0000 0x0>;
519+ };
520+ };
521+
522+ interrupt-controller@41200000 {
523+ #interrupt-cells = <0x2>;
524+ compatible = "xlnx,xps-intc-1.00.a";
525+ interrupt-controller;
526+ reg = <0x41200000 0x10000>;
527+ xlnx,kind-of-intr = <0x0>;
528+ xlnx,num-intr-inputs = <0x6>;
529+ linux,phandle = <0x4>;
530+ phandle = <0x4>;
531+ };
532+
533+ gpio@40040000 {
534+ #gpio-cells = <0x2>;
535+ clock-frequency = <0xbebc200>;
536+ clock-names = "s_axi_aclk";
537+ clocks = <0x8>;
538+ compatible = "xlnx,xps-gpio-1.00.a";
539+ gpio-controller;
540+ reg = <0x40040000 0x10000>;
541+ xlnx,all-inputs = <0x1>;
542+ xlnx,all-inputs-2 = <0x0>;
543+ xlnx,all-outputs = <0x0>;
544+ xlnx,all-outputs-2 = <0x0>;
545+ xlnx,dout-default = <0x0>;
546+ xlnx,dout-default-2 = <0x0>;
547+ xlnx,gpio-width = <0x5>;
548+ xlnx,gpio2-width = <0x20>;
549+ xlnx,interrupt-present = <0x0>;
550+ xlnx,is-dual = <0x0>;
551+ xlnx,tri-default = <0xffffffff>;
552+ xlnx,tri-default-2 = <0xffffffff>;
553+ };
554+
555+ gpio@40000000 {
556+ #gpio-cells = <0x2>;
557+ clock-frequency = <0xbebc200>;
558+ clock-names = "s_axi_aclk";
559+ clocks = <0x8>;
560+ compatible = "xlnx,xps-gpio-1.00.a";
561+ gpio-controller;
562+ reg = <0x40000000 0x10000>;
563+ xlnx,all-inputs = <0x0>;
564+ xlnx,all-inputs-2 = <0x0>;
565+ xlnx,all-outputs = <0x1>;
566+ xlnx,all-outputs-2 = <0x0>;
567+ xlnx,dout-default = <0x0>;
568+ xlnx,dout-default-2 = <0x0>;
569+ xlnx,gpio-width = <0x1>;
570+ xlnx,gpio2-width = <0x20>;
571+ xlnx,interrupt-present = <0x0>;
572+ xlnx,is-dual = <0x0>;
573+ xlnx,tri-default = <0xffffffff>;
574+ xlnx,tri-default-2 = <0xffffffff>;
575+ linux,phandle = <0x1>;
576+ phandle = <0x1>;
577+ };
578+
579+ serial@44a00000 {
580+ clock-frequency = <0xbebc200>;
581+ clocks = <0x8>;
582+ compatible = "xlnx,xps-uart16550-2.00.a", "ns16550a";
583+ current-speed = <0x1c200>;
584+ device_type = "serial";
585+ interrupt-names = "ip2intc_irpt";
586+ interrupt-parent = <0x4>;
587+ interrupts = <0x0 0x2>;
588+ port-number = <0x0>;
589+ reg = <0x44a00000 0x10000>;
590+ reg-offset = <0x1000>;
591+ reg-shift = <0x2>;
592+ xlnx,external-xin-clk-hz = <0x17d7840>;
593+ xlnx,external-xin-clk-hz-d = <0x19>;
594+ xlnx,has-external-rclk = <0x0>;
595+ xlnx,has-external-xin = <0x0>;
596+ xlnx,is-a-16550 = <0x1>;
597+ xlnx,s-axi-aclk-freq-hz-d = "200.0";
598+ xlnx,use-modem-ports = <0x1>;
599+ xlnx,use-user-ports = <0x1>;
600+ };
601+ };
602+
603 chosen {
604- } ;
605-} ;
606+ bootargs = "console=ttyS0,115200 earlyprintk";
607+ stdout-path = "serial0:115200n8";
608+ };
609+
610+ aliases {
611+ ethernet0 = "/amba_pl/ethernet@40c00000";
612+ i2c0 = "/amba_pl/i2c@40800000";
613+ serial0 = "/amba_pl/serial@44a00000";
614+ };
615+
616+ memory {
617+ device_type = "memory";
618+ reg = <0x80000000 0x40000000>;
619+ };
620+};
621+
622diff --git a/board/xilinx/microblaze-generic/config.mk b/board/xilinx/microblaze-generic/config.mk
Brad Bishop754b8fa2019-08-20 09:16:20 -0400623index a953977..cb75fde 100644
Brad Bishop286d45c2018-10-02 15:21:57 -0400624--- a/board/xilinx/microblaze-generic/config.mk
625+++ b/board/xilinx/microblaze-generic/config.mk
Brad Bishop754b8fa2019-08-20 09:16:20 -0400626@@ -1,18 +1,10 @@
627-# SPDX-License-Identifier: GPL-2.0+
Brad Bishop286d45c2018-10-02 15:21:57 -0400628-#
629-# (C) Copyright 2007 - 2016 Michal Simek
630-#
631-# Michal SIMEK <monstr@monstr.eu>
Brad Bishop286d45c2018-10-02 15:21:57 -0400632-
633-CPU_VER := $(shell echo $(CONFIG_XILINX_MICROBLAZE0_HW_VER))
634-
635-# USE_HW_MUL can be 0, 1, or 2, defining a hierarchy of HW Mul support.
636-CPUFLAGS-$(subst 1,,$(CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL)) += -mxl-multiply-high
637-CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL) += -mno-xl-soft-mul
638-CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_DIV) += -mno-xl-soft-div
639-CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_BARREL) += -mxl-barrel-shift
640-CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR) += -mxl-pattern-compare
641-
642-CPUFLAGS-1 += $(call cc-option,-mcpu=v$(CPU_VER))
643-
644-PLATFORM_CPPFLAGS += $(CPUFLAGS-1) $(CPUFLAGS-2)
645+TEXT_BASE = 0x80400000
646+CONFIG_SYS_TEXT_BASE = 0x80400000
647+
648+PLATFORM_CPPFLAGS += -mxl-barrel-shift
649+PLATFORM_CPPFLAGS += -mno-xl-soft-div
650+PLATFORM_CPPFLAGS += -mxl-pattern-compare
651+PLATFORM_CPPFLAGS += -mxl-multiply-high
652+PLATFORM_CPPFLAGS += -mno-xl-soft-mul
Brad Bishop754b8fa2019-08-20 09:16:20 -0400653+PLATFORM_CPPFLAGS += -mcpu=v11.0
Brad Bishop286d45c2018-10-02 15:21:57 -0400654+PLATFORM_CPPFLAGS += -fgnu89-inline
655diff --git a/configs/microblaze-generic_defconfig b/configs/microblaze-generic_defconfig
Brad Bishop754b8fa2019-08-20 09:16:20 -0400656index 02e62e2..8d64be4 100644
Brad Bishop286d45c2018-10-02 15:21:57 -0400657--- a/configs/microblaze-generic_defconfig
658+++ b/configs/microblaze-generic_defconfig
Brad Bishop754b8fa2019-08-20 09:16:20 -0400659@@ -1,73 +1,58 @@
Brad Bishop286d45c2018-10-02 15:21:57 -0400660 CONFIG_MICROBLAZE=y
661-CONFIG_SYS_TEXT_BASE=0x29000000
662 CONFIG_SPL_LIBCOMMON_SUPPORT=y
663 CONFIG_SPL_LIBGENERIC_SUPPORT=y
664 CONFIG_SPL_SERIAL_SUPPORT=y
Brad Bishop754b8fa2019-08-20 09:16:20 -0400665-CONFIG_SPL=y
666 CONFIG_TARGET_MICROBLAZE_GENERIC=y
667 CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR=1
Brad Bishop286d45c2018-10-02 15:21:57 -0400668 CONFIG_XILINX_MICROBLAZE0_USE_BARREL=1
669 CONFIG_XILINX_MICROBLAZE0_USE_DIV=1
670 CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL=1
Brad Bishop754b8fa2019-08-20 09:16:20 -0400671-CONFIG_NR_DRAM_BANKS=1
Brad Bishop286d45c2018-10-02 15:21:57 -0400672+CONFIG_SYS_TEXT_BASE=0x80400000
Brad Bishop754b8fa2019-08-20 09:16:20 -0400673+CONFIG_DEFAULT_DEVICE_TREE="microblaze-generic"
Brad Bishop286d45c2018-10-02 15:21:57 -0400674 CONFIG_FIT=y
675 CONFIG_FIT_VERBOSE=y
676-CONFIG_BOOTDELAY=-1
677-CONFIG_USE_BOOTARGS=y
678-CONFIG_BOOTARGS="root=romfs"
679+CONFIG_BOOTDELAY=4
680 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
Brad Bishop754b8fa2019-08-20 09:16:20 -0400681-CONFIG_DISPLAY_BOARDINFO=y
Brad Bishop286d45c2018-10-02 15:21:57 -0400682-CONFIG_SPL_BOARD_INIT=y
683-CONFIG_SPL_SYS_MALLOC_SIMPLE=y
684 CONFIG_SPL_NOR_SUPPORT=y
685 CONFIG_SPL_OS_BOOT=y
686 CONFIG_SYS_OS_BASE=0x2c060000
687 CONFIG_HUSH_PARSER=y
Brad Bishop754b8fa2019-08-20 09:16:20 -0400688-# CONFIG_AUTO_COMPLETE is not set
Brad Bishop286d45c2018-10-02 15:21:57 -0400689-CONFIG_SYS_PROMPT="U-Boot-mONStR> "
690-CONFIG_CMD_IMLS=y
691-CONFIG_CMD_SPL=y
692+CONFIG_SYS_PROMPT="U-Boot> "
693 CONFIG_CMD_ASKENV=y
694-CONFIG_CMD_GPIO=y
695 CONFIG_CMD_SAVES=y
696 # CONFIG_CMD_SETEXPR is not set
Brad Bishop286d45c2018-10-02 15:21:57 -0400697+CONFIG_SYS_ENET=y
698+CONFIG_NET=y
699+CONFIG_NETDEVICES=y
700+CONFIG_CMD_NET=y
701 CONFIG_CMD_DHCP=y
Brad Bishop754b8fa2019-08-20 09:16:20 -0400702-CONFIG_CMD_TFTPPUT=y
Brad Bishop286d45c2018-10-02 15:21:57 -0400703+CONFIG_CMD_NFS=y
704 CONFIG_CMD_MII=y
705 CONFIG_CMD_PING=y
706 CONFIG_CMD_JFFS2=y
707-CONFIG_SPL_OF_CONTROL=y
708 CONFIG_OF_EMBED=y
Brad Bishop754b8fa2019-08-20 09:16:20 -0400709-CONFIG_DEFAULT_DEVICE_TREE="microblaze-generic"
Brad Bishop286d45c2018-10-02 15:21:57 -0400710-CONFIG_NETCONSOLE=y
711-CONFIG_SPL_DM=y
Brad Bishop754b8fa2019-08-20 09:16:20 -0400712+CONFIG_DM_ETH=y
713+CONFIG_SYS_MALLOC_F=y
714+CONFIG_SYS_GENERIC_BOARD=y
715+CONFIG_XILINX_AXIEMAC=y
716+CONFIG_SYS_NS16550=y
717+CONFIG_CMD_FLASH=y
718+CONFIG_MTD_NOR_FLASH=y
719+CONFIG_CMD_IMLS=y
720+CONFIG_CMD_GPIO=y
721 CONFIG_DM_GPIO=y
722 CONFIG_XILINX_GPIO=y
723-CONFIG_LED=y
724-CONFIG_LED_GPIO=y
Brad Bishop286d45c2018-10-02 15:21:57 -0400725-CONFIG_MTD_NOR_FLASH=y
Brad Bishop754b8fa2019-08-20 09:16:20 -0400726-CONFIG_MTD_DEVICE=y
727-CONFIG_FLASH_CFI_DRIVER=y
728-CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
729-CONFIG_FLASH_CFI_MTD=y
730-CONFIG_SYS_FLASH_PROTECTION=y
731-CONFIG_SYS_FLASH_CFI=y
Brad Bishop286d45c2018-10-02 15:21:57 -0400732-CONFIG_PHY_ATHEROS=y
733-CONFIG_PHY_BROADCOM=y
734-CONFIG_PHY_DAVICOM=y
735-CONFIG_PHY_LXT=y
736-CONFIG_PHY_MARVELL=y
Brad Bishop286d45c2018-10-02 15:21:57 -0400737+CONFIG_CMD_TFTPPUT=y
738+CONFIG_NETCONSOLE=y
739+CONFIG_XILINX_FSL_LINKS=0
740+CONFIG_PHY_GIGE=y
741+CONFIG_ENV_IS_IN_FLASH=y
Brad Bishop754b8fa2019-08-20 09:16:20 -0400742 CONFIG_PHY_MICREL=y
743 CONFIG_PHY_MICREL_KSZ90X1=y
744-CONFIG_PHY_NATSEMI=y
745-CONFIG_PHY_REALTEK=y
746-CONFIG_PHY_VITESSE=y
747-CONFIG_DM_ETH=y
748-CONFIG_XILINX_AXIEMAC=y
749-CONFIG_XILINX_EMACLITE=y
750-CONFIG_SYS_NS16550=y
751-CONFIG_XILINX_UARTLITE=y
752-CONFIG_SYSRESET_GPIO=y
753-CONFIG_SYSRESET_MICROBLAZE=y
754-CONFIG_WDT=y
755-CONFIG_XILINX_TB_WATCHDOG=y
Brad Bishop286d45c2018-10-02 15:21:57 -0400756+CONFIG_SPL_DM_SERIAL=y
757+CONFIG_SPL_OF_LIBFDT=y
758+CONFIG_PHY_XILINX=y
759+# CONFIG_SPL is not set
760+# CONFIG_CMD_EEPROM is not set
761+# CONFIG_BOOTARGS is not set
762+# CONFIG_USE_BOOTARGS is not set
763diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h
Brad Bishop754b8fa2019-08-20 09:16:20 -0400764index ba0952c..fd1da2b 100644
Brad Bishop286d45c2018-10-02 15:21:57 -0400765--- a/include/configs/microblaze-generic.h
766+++ b/include/configs/microblaze-generic.h
Brad Bishop754b8fa2019-08-20 09:16:20 -0400767@@ -1,205 +1,173 @@
768-/* SPDX-License-Identifier: GPL-2.0+ */
Brad Bishop286d45c2018-10-02 15:21:57 -0400769-/*
770- * (C) Copyright 2007-2010 Michal Simek
771- *
772- * Michal SIMEK <monstr@monstr.eu>
Brad Bishop286d45c2018-10-02 15:21:57 -0400773- */
774-
775 #ifndef __CONFIG_H
776 #define __CONFIG_H
777
778-#include "../board/xilinx/microblaze-generic/xparameters.h"
779-
780-/* MicroBlaze CPU */
781-#define MICROBLAZE_V5 1
782-
783-/* linear and spi flash memory */
784-#ifdef XILINX_FLASH_START
785-#define FLASH
786-#undef SPIFLASH
787-#undef RAMENV /* hold environment in flash */
788-#else
Brad Bishop286d45c2018-10-02 15:21:57 -0400789-#undef FLASH
790-#undef SPIFLASH
791-#define RAMENV /* hold environment in RAM */
792-#endif
Brad Bishop286d45c2018-10-02 15:21:57 -0400793+#define CONFIG_SYS_BAUDRATE_TABLE { 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400 }
794+
795+/* processor - microblaze_0 */
796+#define XILINX_USE_MSR_INSTR 1
797+#define XILINX_USE_ICACHE 1
798+#define XILINX_USE_DCACHE 1
799+#define XILINX_DCACHE_BYTE_SIZE 16384
800+#define XILINX_PVR 2
801+#define MICROBLAZE_V5
802+#define CONFIG_CMD_IRQ
803+#define CONFIG_DCACHE
804+#define CONFIG_ICACHE
805+
806+/* main_memory - ddr3_sdram */
807+
808+
809+/* uart - rs232_uart */
810+#define CONFIG_SYS_NS16550_COM1 ((XILINX_UART16550_BASEADDR & ~0xF) + 0x1000)
811+#define CONFIG_SYS_NS16550_REG_SIZE -4
812+#define CONSOLE_ARG "console=console=ttyS0,115200\0"
813+#define CONFIG_SYS_NS16550_SERIAL
814+#define CONFIG_CONS_INDEX 1
815+#define ESERIAL0 "eserial0=setenv stdout eserial0;setenv stdin eserial0\0"
816+#define SERIAL_MULTI "serial=setenv stdout serial;setenv stdin serial\0"
817+#define CONFIG_SYS_NS16550_CLK 200000000
818+#define CONFIG_BAUDRATE 115200
819+
820+/* ethernet - axi_ethernet */
821+#define CONFIG_PHY_XILINX
822+#define CONFIG_MII
823+#define CONFIG_PHY_MARVELL
824+#define CONFIG_PHY_NATSEMI
825+#define CONFIG_NET_MULTI
826+#define CONFIG_PHY_REALTEK
827+#define CONFIG_NETCONSOLE 1
828+#define CONFIG_SERVERIP 172.25.229.115
829+#define CONFIG_IPADDR
830+
831+/* nor_flash - linear_flash */
832+#define CONFIG_SYS_FLASH_BASE 0x60000000
833+#define CONFIG_FLASH_END 0x68000000
834+#define CONFIG_SYS_MAX_FLASH_SECT 2048
835+#define CONFIG_SYS_FLASH_PROTECTION
836+#define CONFIG_SYS_FLASH_EMPTY_INFO
837+#define CONFIG_SYS_FLASH_CFI
838+#define CONFIG_FLASH_CFI_DRIVER
839+#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
840+#define CONFIG_SYS_MAX_FLASH_BANKS 1
841+
842+/* timer - axi_timer_0 */
843+
Brad Bishop286d45c2018-10-02 15:21:57 -0400844+/* intc - microblaze_0_axi_intc */
845+
846+/* FPGA */
847+
848+/* Memory testing handling */
849+#define CONFIG_SYS_MEMTEST_START 0x80000000
850+#define CONFIG_SYS_MEMTEST_END (0x80000000 + 0x1000)
851+#define CONFIG_SYS_LOAD_ADDR 0x80000000 /* default load address */
852+
853+/* global pointer options */
854+#define CONFIG_SYS_GBL_DATA_OFFSET (0x40000000 - GENERATED_GBL_DATA_SIZE)
855+
856+/* Size of malloc() pool */
857+#define SIZE 0x100000
858+#define CONFIG_SYS_MALLOC_LEN SIZE
859+#define CONFIG_SYS_MONITOR_LEN SIZE
860+#define CONFIG_SYS_MONITOR_BASE (0x80000000 + CONFIG_SYS_GBL_DATA_OFFSET - CONFIG_SYS_MONITOR_LEN - GENERATED_BD_INFO_SIZE)
861+#define CONFIG_SYS_MALLOC_BASE (CONFIG_SYS_MONITOR_BASE - CONFIG_SYS_MALLOC_LEN)
862+
863+/* stack */
864+#define CONFIG_SYS_INIT_SP_OFFSET (CONFIG_SYS_TEXT_BASE - CONFIG_SYS_MALLOC_F_LEN)
865+
866+/* No of_control support yet*/
867+
868+/* BOOTP options */
869+#define CONFIG_BOOTP_SERVERIP
Brad Bishop754b8fa2019-08-20 09:16:20 -0400870+#define CONFIG_BOOTP_BOOTFILESIZE
871+#define CONFIG_BOOTP_BOOTPATH
872+#define CONFIG_BOOTP_GATEWAY
873+#define CONFIG_BOOTP_HOSTNAME
Brad Bishop286d45c2018-10-02 15:21:57 -0400874+#define CONFIG_BOOTP_MAY_FAIL
875+#define CONFIG_BOOTP_DNS
876+#define CONFIG_BOOTP_SUBNETMASK
877+#define CONFIG_BOOTP_PXE
878
Brad Bishop754b8fa2019-08-20 09:16:20 -0400879-/* uart */
880-/* The following table includes the supported baudrates */
881-# define CONFIG_SYS_BAUDRATE_TABLE \
882- {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400}
Brad Bishop286d45c2018-10-02 15:21:57 -0400883-
Brad Bishop754b8fa2019-08-20 09:16:20 -0400884-/* setting reset address */
885-/*#define CONFIG_SYS_RESET_ADDRESS CONFIG_SYS_TEXT_BASE*/
Brad Bishop286d45c2018-10-02 15:21:57 -0400886-
Brad Bishop754b8fa2019-08-20 09:16:20 -0400887-#define CONFIG_SYS_MALLOC_LEN 0xC0000
888-
889-/* Stack location before relocation */
890-#define CONFIG_SYS_INIT_SP_OFFSET (CONFIG_SYS_TEXT_BASE - \
891- CONFIG_SYS_MALLOC_F_LEN)
892-
893-/*
894- * CFI flash memory layout - Example
895- * CONFIG_SYS_FLASH_BASE = 0x2200_0000;
896- * CONFIG_SYS_FLASH_SIZE = 0x0080_0000; 8MB
897- *
898- * SECT_SIZE = 0x20000; 128kB is one sector
899- * CONFIG_ENV_SIZE = SECT_SIZE; 128kB environment store
900- *
901- * 0x2200_0000 CONFIG_SYS_FLASH_BASE
902- * FREE 256kB
903- * 0x2204_0000 CONFIG_ENV_ADDR
904- * ENV_AREA 128kB
905- * 0x2206_0000
906- * FREE
907- * 0x2280_0000 CONFIG_SYS_FLASH_BASE + CONFIG_SYS_FLASH_SIZE
908- *
909- */
910-
911-#ifdef FLASH
912-# define CONFIG_SYS_FLASH_BASE XILINX_FLASH_START
913-# define CONFIG_SYS_FLASH_SIZE XILINX_FLASH_SIZE
914-/* ?empty sector */
915-# define CONFIG_SYS_FLASH_EMPTY_INFO 1
916-/* max number of memory banks */
917-# define CONFIG_SYS_MAX_FLASH_BANKS 1
918-/* max number of sectors on one chip */
919-# define CONFIG_SYS_MAX_FLASH_SECT 512
920-/* hardware flash protection */
921-/* use buffered writes (20x faster) */
922-# ifdef RAMENV
923-# define CONFIG_ENV_SIZE 0x1000
924-# define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE)
925-
926-# else /* FLASH && !RAMENV */
927-/* 128K(one sector) for env */
928-# define CONFIG_ENV_SECT_SIZE 0x20000
929-# define CONFIG_ENV_ADDR \
930- (CONFIG_SYS_FLASH_BASE + (2 * CONFIG_ENV_SECT_SIZE))
931-# define CONFIG_ENV_SIZE 0x20000
932-# endif /* FLASH && !RAMBOOT */
933-#else /* !FLASH */
934-
935-#ifdef SPIFLASH
936-# define CONFIG_SF_DEFAULT_MODE SPI_MODE_3
937-# define CONFIG_SF_DEFAULT_SPEED XILINX_SPI_FLASH_MAX_FREQ
938-# define CONFIG_SF_DEFAULT_CS XILINX_SPI_FLASH_CS
939-
940-# ifdef RAMENV
941-# define CONFIG_ENV_SIZE 0x1000
942-# define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE)
943-
944-# else /* SPIFLASH && !RAMENV */
945-# define CONFIG_ENV_SPI_MODE SPI_MODE_3
946-# define CONFIG_ENV_SPI_MAX_HZ CONFIG_SF_DEFAULT_SPEED
947-# define CONFIG_ENV_SPI_CS CONFIG_SF_DEFAULT_CS
948-/* 128K(two sectors) for env */
949-# define CONFIG_ENV_SECT_SIZE 0x10000
950-# define CONFIG_ENV_SIZE (2 * CONFIG_ENV_SECT_SIZE)
951-/* Warning: adjust the offset in respect of other flash content and size */
952-# define CONFIG_ENV_OFFSET (128 * CONFIG_ENV_SECT_SIZE) /* at 8MB */
953-# endif /* SPIFLASH && !RAMBOOT */
954-#else /* !SPIFLASH */
955-
956-/* ENV in RAM */
957-# define CONFIG_ENV_SIZE 0x1000
958-# define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE)
959-#endif /* !SPIFLASH */
960-#endif /* !FLASH */
961-
962-#if defined(XILINX_USE_ICACHE)
963-# define CONFIG_ICACHE
964-#else
965-# undef CONFIG_ICACHE
966-#endif
967+/*Command line configuration.*/
968+#define CONFIG_CMDLINE_EDITING
969+#define CONFIG_AUTO_COMPLETE
970
971-#if defined(XILINX_USE_DCACHE)
972-# define CONFIG_DCACHE
973-#else
974-# undef CONFIG_DCACHE
975-#endif
976+/* Miscellaneous configurable options */
977+#define CONFIG_SYS_CBSIZE 2048/* Console I/O Buffer Size */
978+#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
979+#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
980
981-#ifndef XILINX_DCACHE_BYTE_SIZE
982-#define XILINX_DCACHE_BYTE_SIZE 32768
983-#endif
984
985-/*
986- * BOOTP options
987- */
988-#define CONFIG_BOOTP_BOOTFILESIZE
989+/* Use the HUSH parser */
990+#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
991
Brad Bishop286d45c2018-10-02 15:21:57 -0400992-#if defined(CONFIG_MTD_PARTITIONS)
993-/* MTD partitions */
Brad Bishop754b8fa2019-08-20 09:16:20 -0400994+#define CONFIG_ENV_VARS_UBOOT_CONFIG
995+#define CONFIG_ENV_OVERWRITE /* Allow to overwrite the u-boot environment variables */
996
Brad Bishop286d45c2018-10-02 15:21:57 -0400997-/* default mtd partition table */
998-#endif
Brad Bishop754b8fa2019-08-20 09:16:20 -0400999+#define CONFIG_LMB
1000
Brad Bishop286d45c2018-10-02 15:21:57 -04001001-/* size of console buffer */
1002-#define CONFIG_SYS_CBSIZE 512
1003-/* max number of command args */
1004-#define CONFIG_SYS_MAXARGS 15
Brad Bishop286d45c2018-10-02 15:21:57 -04001005-/* default load address */
1006-#define CONFIG_SYS_LOAD_ADDR 0
Brad Bishop754b8fa2019-08-20 09:16:20 -04001007+/* FDT support */
1008+#define CONFIG_DISPLAY_BOARDINFO_LATE
1009
1010-#define CONFIG_HOSTNAME "microblaze-generic"
Brad Bishop286d45c2018-10-02 15:21:57 -04001011-#define CONFIG_BOOTCOMMAND "base 0;tftp 11000000 image.img;bootm"
Brad Bishop754b8fa2019-08-20 09:16:20 -04001012
1013 /* architecture dependent code */
Brad Bishop286d45c2018-10-02 15:21:57 -04001014-#define CONFIG_SYS_USR_EXCEP /* user exception */
1015-
1016-#define CONFIG_PREBOOT "echo U-BOOT for ${hostname};setenv preboot;echo"
1017-
1018-#ifndef CONFIG_EXTRA_ENV_SETTINGS
1019-#define CONFIG_EXTRA_ENV_SETTINGS "unlock=yes\0" \
1020- "nor0=flash-0\0"\
1021- "mtdparts=mtdparts=flash-0:"\
1022- "256k(u-boot),256k(env),3m(kernel),"\
1023- "1m(romfs),1m(cramfs),-(jffs2)\0"\
1024- "nc=setenv stdout nc;"\
1025- "setenv stdin nc\0" \
1026- "serial=setenv stdout serial;"\
1027- "setenv stdin serial\0"
1028-#endif
1029-
Brad Bishop286d45c2018-10-02 15:21:57 -04001030-/* Enable flat device tree support */
1031-#define CONFIG_LMB 1
Brad Bishop286d45c2018-10-02 15:21:57 -04001032+#define CONFIG_SYS_USR_EXCEP /* user exception */
1033+#define CONFIG_SYS_HZ 1000
1034+
1035+/* Boot Argument Buffer Size */
1036+#define CONFIG_SYS_MAXARGS 32 /* max number of command args */
1037+#define CONFIG_SYS_LONGHELP
1038+/* Initial memory map for Linux */
1039+#define CONFIG_SYS_BOOTMAPSZ 0x8000000
1040+
1041+/* Environment settings*/
1042+#define CONFIG_ENV_ADDR 0x60b80000
1043+#define CONFIG_ENV_SIZE 0x20000
1044+#define CONFIG_ENV_SECT_SIZE 0x20000
1045+/* PREBOOT */
1046+#define CONFIG_PREBOOT "echo U-BOOT for ${hostname};setenv preboot; echo; dhcp"
1047+
1048+/* Extra U-Boot Env settings */
1049+#define CONFIG_EXTRA_ENV_SETTINGS \
1050+ SERIAL_MULTI \
1051+ CONSOLE_ARG \
1052+ ESERIAL0 \
1053+ "nc=setenv stdout nc;setenv stdin nc;\0" \
1054+ "ethaddr=00:0a:35:00:22:01\0" \
1055+ "autoload=no\0" \
1056+ "sdbootdev=0\0" \
1057+ "clobstart=0x81000000\0" \
1058+ "netstart=0x81000000\0" \
1059+ "dtbnetstart=0x82800000\0" \
1060+ "loadaddr=0x81000000\0" \
1061+ "bootsize=0x80000\0" \
1062+ "bootstart=0x60b00000\0" \
1063+ "boot_img=u-boot-s.bin\0" \
1064+ "load_boot=tftpboot ${clobstart} ${boot_img}\0" \
1065+ "update_boot=setenv img boot; setenv psize ${bootsize}; setenv installcmd \"install_boot\"; run load_boot test_img; setenv img; setenv psize; setenv installcmd\0" \
1066+ "install_boot=protect off ${bootstart} +${bootsize} && erase ${bootstart} +${bootsize} && " "cp.b ${clobstart} ${bootstart} ${filesize}\0" \
1067+ "bootenvsize=0x20000\0" \
1068+ "bootenvstart=0x60b80000\0" \
1069+ "eraseenv=protect off ${bootenvstart} +${bootenvsize} && erase ${bootenvstart} +${bootenvsize}\0" \
1070+ "kernelsize=0xc00000\0" \
1071+ "kernelstart=0x60ba0000\0" \
1072+ "kernel_img=image.ub\0" \
1073+ "load_kernel=tftpboot ${clobstart} ${kernel_img}\0" \
1074+ "update_kernel=setenv img kernel; setenv psize ${kernelsize}; setenv installcmd \"install_kernel\"; run load_kernel test_crc; setenv img; setenv psize; setenv installcmd\0" \
1075+ "install_kernel=protect off ${kernelstart} +${kernelsize} && erase ${kernelstart} +${kernelsize} && " "cp.b ${clobstart} ${kernelstart} ${filesize}\0" \
1076+ "cp_kernel2ram=cp.b ${kernelstart} ${netstart} ${kernelsize}\0" \
1077+ "fpgasize=0xb00000\0" \
1078+ "fpgastart=0x60000000\0" \
1079+ "fpga_img=system.bit.bin\0" \
1080+ "load_fpga=tftpboot ${clobstart} ${fpga_img}\0" \
1081+ "update_fpga=setenv img fpga; setenv psize ${fpgasize}; setenv installcmd \"install_fpga\"; run load_fpga test_img; setenv img; setenv psize; setenv installcmd\0" \
1082+ "install_fpga=protect off ${fpgastart} +${fpgasize} && erase ${fpgastart} +${fpgasize} && " "cp.b ${clobstart} ${fpgastart} ${filesize}\0" \
1083+ "fault=echo ${img} image size is greater than allocated place - partition ${img} is NOT UPDATED\0" \
1084+ "test_crc=if imi ${clobstart}; then run test_img; else echo ${img} Bad CRC - ${img} is NOT UPDATED; fi\0" \
1085+ "test_img=setenv var \"if test ${filesize} -gt ${psize}\\; then run fault\\; else run ${installcmd}\\; fi\"; run var; setenv var\0" \
1086+ "netboot=tftpboot ${netstart} ${kernel_img} && bootm\0" \
1087+ "default_bootcmd=run cp_kernel2ram && bootm ${netstart}\0" \
1088+""
1089+/* BOOTCOMMAND */
1090+#define CONFIG_BOOTCOMMAND "run default_bootcmd"
1091
Brad Bishop754b8fa2019-08-20 09:16:20 -04001092-#if defined(CONFIG_XILINX_AXIEMAC)
1093-# define CONFIG_SYS_FAULT_ECHO_LINK_DOWN 1
1094 #endif
1095-
1096-/* SPL part */
1097-
1098-#ifdef CONFIG_SYS_FLASH_BASE
1099-# define CONFIG_SYS_UBOOT_BASE CONFIG_SYS_FLASH_BASE
1100-#endif
1101-
1102-/* for booting directly linux */
1103-
1104-#define CONFIG_SYS_FDT_BASE (CONFIG_SYS_FLASH_BASE + \
1105- 0x40000)
1106-#define CONFIG_SYS_FDT_SIZE (16 << 10)
1107-#define CONFIG_SYS_SPL_ARGS_ADDR (CONFIG_SYS_TEXT_BASE + \
1108- 0x1000000)
1109-
1110-/* SP location before relocation, must use scratch RAM */
1111-/* BRAM start */
1112-#define CONFIG_SYS_INIT_RAM_ADDR 0x0
1113-/* BRAM size - will be generated */
1114-#define CONFIG_SYS_INIT_RAM_SIZE 0x100000
1115-
1116-# define CONFIG_SPL_STACK_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \
1117- CONFIG_SYS_INIT_RAM_SIZE - \
1118- CONFIG_SYS_MALLOC_F_LEN)
1119-
1120-/* Just for sure that there is a space for stack */
1121-#define CONFIG_SPL_STACK_SIZE 0x100
1122-
1123-#define CONFIG_SYS_UBOOT_START CONFIG_SYS_TEXT_BASE
1124-
1125-#define CONFIG_SPL_MAX_FOOTPRINT (CONFIG_SYS_INIT_RAM_SIZE - \
1126- CONFIG_SYS_INIT_RAM_ADDR - \
1127- CONFIG_SYS_MALLOC_F_LEN - \
1128- CONFIG_SPL_STACK_SIZE)
1129-
Brad Bishop286d45c2018-10-02 15:21:57 -04001130-#endif /* __CONFIG_H */
Brad Bishop286d45c2018-10-02 15:21:57 -04001131--
Brad Bishop754b8fa2019-08-20 09:16:20 -040011322.7.5
Brad Bishop286d45c2018-10-02 15:21:57 -04001133