diff options
author | Nathan Rossi <nathan@nathanrossi.com> | 2016-03-30 23:28:02 +1000 |
---|---|---|
committer | Nathan Rossi <nathan@nathanrossi.com> | 2016-03-31 18:34:56 +1000 |
commit | 54b35fdfa0dd9b45c9b7fdaada6e9aafc278cb7a (patch) | |
tree | a2d63d905eaee278dc3c359b61402047b244e48a | |
parent | ff86e231ca1fa4f4dc0e8806b38965afb6a34faa (diff) | |
download | meta-xilinx-54b35fdfa0dd9b45c9b7fdaada6e9aafc278cb7a.tar.gz |
u-boot-xlnx: Update to pre-release xilinx-v2016.1
Update the recipe to the current master of u-boot-xlnx vendor tree, in
preparation for the xilinx-v2016.1 release.
Update the KC705 configuration patch and remove upstreamed patches for
MicroBlaze.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
-rw-r--r-- | recipes-bsp/u-boot/u-boot-xlnx/0001-microblaze-Fix-style-issues-in-header-files.patch | 236 | ||||
-rw-r--r-- | recipes-bsp/u-boot/u-boot-xlnx/0002-microblaze-Fix-C99-gnu99-compatiblity-for-inline-fun.patch | 239 | ||||
-rw-r--r-- | recipes-bsp/u-boot/u-boot-xlnx/microblaze-kc705-trd-Convert-microblaze-generic-to-k.patch | 707 | ||||
-rw-r--r-- | recipes-bsp/u-boot/u-boot-xlnx_2016.01.bb (renamed from recipes-bsp/u-boot/u-boot-xlnx_2015.07.bb) | 13 |
4 files changed, 579 insertions, 616 deletions
diff --git a/recipes-bsp/u-boot/u-boot-xlnx/0001-microblaze-Fix-style-issues-in-header-files.patch b/recipes-bsp/u-boot/u-boot-xlnx/0001-microblaze-Fix-style-issues-in-header-files.patch deleted file mode 100644 index f81aee4c..00000000 --- a/recipes-bsp/u-boot/u-boot-xlnx/0001-microblaze-Fix-style-issues-in-header-files.patch +++ /dev/null | |||
@@ -1,236 +0,0 @@ | |||
1 | From 4a4d9396b889686914101607417bc094e43060e4 Mon Sep 17 00:00:00 2001 | ||
2 | From: Nathan Rossi <nathan@nathanrossi.com> | ||
3 | Date: Fri, 6 Nov 2015 19:25:05 +1000 | ||
4 | Subject: [PATCH 1/2] microblaze: Fix style issues in header files | ||
5 | |||
6 | Fix various style issues in MicroBlaze header files. Specifically fixing | ||
7 | style voilations including '__inline__', 'foo * bar' and 'void foo ('. | ||
8 | |||
9 | Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> | ||
10 | Cc: Michal Simek <monstr@monstr.eu> | ||
11 | Cc: Tom Rini <trini@konsulko.com> | ||
12 | Signed-off-by: Michal Simek <michal.simek@xilinx.com> | ||
13 | Upstream-Status: Backport | ||
14 | --- | ||
15 | arch/microblaze/include/asm/bitops.h | 66 ++++++++++++++++++------------------ | ||
16 | arch/microblaze/include/asm/system.h | 2 +- | ||
17 | 2 files changed, 34 insertions(+), 34 deletions(-) | ||
18 | |||
19 | diff --git a/arch/microblaze/include/asm/bitops.h b/arch/microblaze/include/asm/bitops.h | ||
20 | index d24f2cf..178c94f 100644 | ||
21 | --- a/arch/microblaze/include/asm/bitops.h | ||
22 | +++ b/arch/microblaze/include/asm/bitops.h | ||
23 | @@ -21,31 +21,31 @@ | ||
24 | * The __ functions are not atomic | ||
25 | */ | ||
26 | |||
27 | -extern void set_bit(int nr, volatile void * addr); | ||
28 | -extern void __set_bit(int nr, volatile void * addr); | ||
29 | +extern void set_bit(int nr, volatile void *addr); | ||
30 | +extern void __set_bit(int nr, volatile void *addr); | ||
31 | |||
32 | -extern void clear_bit(int nr, volatile void * addr); | ||
33 | +extern void clear_bit(int nr, volatile void *addr); | ||
34 | #define __clear_bit(nr, addr) clear_bit(nr, addr) | ||
35 | #define PLATFORM__CLEAR_BIT | ||
36 | |||
37 | -extern void change_bit(int nr, volatile void * addr); | ||
38 | -extern void __change_bit(int nr, volatile void * addr); | ||
39 | -extern int test_and_set_bit(int nr, volatile void * addr); | ||
40 | -extern int __test_and_set_bit(int nr, volatile void * addr); | ||
41 | -extern int test_and_clear_bit(int nr, volatile void * addr); | ||
42 | -extern int __test_and_clear_bit(int nr, volatile void * addr); | ||
43 | -extern int test_and_change_bit(int nr, volatile void * addr); | ||
44 | -extern int __test_and_change_bit(int nr, volatile void * addr); | ||
45 | -extern int __constant_test_bit(int nr, const volatile void * addr); | ||
46 | -extern int __test_bit(int nr, volatile void * addr); | ||
47 | -extern int find_first_zero_bit(void * addr, unsigned size); | ||
48 | -extern int find_next_zero_bit (void * addr, int size, int offset); | ||
49 | +extern void change_bit(int nr, volatile void *addr); | ||
50 | +extern void __change_bit(int nr, volatile void *addr); | ||
51 | +extern int test_and_set_bit(int nr, volatile void *addr); | ||
52 | +extern int __test_and_set_bit(int nr, volatile void *addr); | ||
53 | +extern int test_and_clear_bit(int nr, volatile void *addr); | ||
54 | +extern int __test_and_clear_bit(int nr, volatile void *addr); | ||
55 | +extern int test_and_change_bit(int nr, volatile void *addr); | ||
56 | +extern int __test_and_change_bit(int nr, volatile void *addr); | ||
57 | +extern int __constant_test_bit(int nr, const volatile void *addr); | ||
58 | +extern int __test_bit(int nr, volatile void *addr); | ||
59 | +extern int find_first_zero_bit(void *addr, unsigned size); | ||
60 | +extern int find_next_zero_bit(void *addr, int size, int offset); | ||
61 | |||
62 | /* | ||
63 | * ffz = Find First Zero in word. Undefined if no zero exists, | ||
64 | * so code should check against ~0UL first.. | ||
65 | */ | ||
66 | -extern __inline__ unsigned long ffz(unsigned long word) | ||
67 | +extern inline unsigned long ffz(unsigned long word) | ||
68 | { | ||
69 | unsigned long result = 0; | ||
70 | |||
71 | @@ -57,7 +57,7 @@ extern __inline__ unsigned long ffz(unsigned long word) | ||
72 | } | ||
73 | |||
74 | |||
75 | -extern __inline__ void set_bit(int nr, volatile void * addr) | ||
76 | +extern inline void set_bit(int nr, volatile void *addr) | ||
77 | { | ||
78 | int * a = (int *) addr; | ||
79 | int mask; | ||
80 | @@ -70,7 +70,7 @@ extern __inline__ void set_bit(int nr, volatile void * addr) | ||
81 | restore_flags(flags); | ||
82 | } | ||
83 | |||
84 | -extern __inline__ void __set_bit(int nr, volatile void * addr) | ||
85 | +extern inline void __set_bit(int nr, volatile void *addr) | ||
86 | { | ||
87 | int * a = (int *) addr; | ||
88 | int mask; | ||
89 | @@ -87,7 +87,7 @@ extern __inline__ void __set_bit(int nr, volatile void * addr) | ||
90 | #define smp_mb__before_clear_bit() barrier() | ||
91 | #define smp_mb__after_clear_bit() barrier() | ||
92 | |||
93 | -extern __inline__ void clear_bit(int nr, volatile void * addr) | ||
94 | +extern inline void clear_bit(int nr, volatile void *addr) | ||
95 | { | ||
96 | int * a = (int *) addr; | ||
97 | int mask; | ||
98 | @@ -100,7 +100,7 @@ extern __inline__ void clear_bit(int nr, volatile void * addr) | ||
99 | restore_flags(flags); | ||
100 | } | ||
101 | |||
102 | -extern __inline__ void change_bit(int nr, volatile void * addr) | ||
103 | +extern inline void change_bit(int nr, volatile void *addr) | ||
104 | { | ||
105 | int mask; | ||
106 | unsigned long flags; | ||
107 | @@ -113,7 +113,7 @@ extern __inline__ void change_bit(int nr, volatile void * addr) | ||
108 | restore_flags(flags); | ||
109 | } | ||
110 | |||
111 | -extern __inline__ void __change_bit(int nr, volatile void * addr) | ||
112 | +extern inline void __change_bit(int nr, volatile void *addr) | ||
113 | { | ||
114 | int mask; | ||
115 | unsigned long *ADDR = (unsigned long *) addr; | ||
116 | @@ -123,7 +123,7 @@ extern __inline__ void __change_bit(int nr, volatile void * addr) | ||
117 | *ADDR ^= mask; | ||
118 | } | ||
119 | |||
120 | -extern __inline__ int test_and_set_bit(int nr, volatile void * addr) | ||
121 | +extern inline int test_and_set_bit(int nr, volatile void *addr) | ||
122 | { | ||
123 | int mask, retval; | ||
124 | volatile unsigned int *a = (volatile unsigned int *) addr; | ||
125 | @@ -139,7 +139,7 @@ extern __inline__ int test_and_set_bit(int nr, volatile void * addr) | ||
126 | return retval; | ||
127 | } | ||
128 | |||
129 | -extern __inline__ int __test_and_set_bit(int nr, volatile void * addr) | ||
130 | +extern inline int __test_and_set_bit(int nr, volatile void *addr) | ||
131 | { | ||
132 | int mask, retval; | ||
133 | volatile unsigned int *a = (volatile unsigned int *) addr; | ||
134 | @@ -151,7 +151,7 @@ extern __inline__ int __test_and_set_bit(int nr, volatile void * addr) | ||
135 | return retval; | ||
136 | } | ||
137 | |||
138 | -extern __inline__ int test_and_clear_bit(int nr, volatile void * addr) | ||
139 | +extern inline int test_and_clear_bit(int nr, volatile void *addr) | ||
140 | { | ||
141 | int mask, retval; | ||
142 | volatile unsigned int *a = (volatile unsigned int *) addr; | ||
143 | @@ -167,7 +167,7 @@ extern __inline__ int test_and_clear_bit(int nr, volatile void * addr) | ||
144 | return retval; | ||
145 | } | ||
146 | |||
147 | -extern __inline__ int __test_and_clear_bit(int nr, volatile void * addr) | ||
148 | +extern inline int __test_and_clear_bit(int nr, volatile void *addr) | ||
149 | { | ||
150 | int mask, retval; | ||
151 | volatile unsigned int *a = (volatile unsigned int *) addr; | ||
152 | @@ -179,7 +179,7 @@ extern __inline__ int __test_and_clear_bit(int nr, volatile void * addr) | ||
153 | return retval; | ||
154 | } | ||
155 | |||
156 | -extern __inline__ int test_and_change_bit(int nr, volatile void * addr) | ||
157 | +extern inline int test_and_change_bit(int nr, volatile void *addr) | ||
158 | { | ||
159 | int mask, retval; | ||
160 | volatile unsigned int *a = (volatile unsigned int *) addr; | ||
161 | @@ -195,7 +195,7 @@ extern __inline__ int test_and_change_bit(int nr, volatile void * addr) | ||
162 | return retval; | ||
163 | } | ||
164 | |||
165 | -extern __inline__ int __test_and_change_bit(int nr, volatile void * addr) | ||
166 | +extern inline int __test_and_change_bit(int nr, volatile void *addr) | ||
167 | { | ||
168 | int mask, retval; | ||
169 | volatile unsigned int *a = (volatile unsigned int *) addr; | ||
170 | @@ -210,12 +210,12 @@ extern __inline__ int __test_and_change_bit(int nr, volatile void * addr) | ||
171 | /* | ||
172 | * This routine doesn't need to be atomic. | ||
173 | */ | ||
174 | -extern __inline__ int __constant_test_bit(int nr, const volatile void * addr) | ||
175 | +extern inline int __constant_test_bit(int nr, const volatile void *addr) | ||
176 | { | ||
177 | return ((1UL << (nr & 31)) & (((const volatile unsigned int *) addr)[nr >> 5])) != 0; | ||
178 | } | ||
179 | |||
180 | -extern __inline__ int __test_bit(int nr, volatile void * addr) | ||
181 | +extern inline int __test_bit(int nr, volatile void *addr) | ||
182 | { | ||
183 | int * a = (int *) addr; | ||
184 | int mask; | ||
185 | @@ -233,7 +233,7 @@ extern __inline__ int __test_bit(int nr, volatile void * addr) | ||
186 | #define find_first_zero_bit(addr, size) \ | ||
187 | find_next_zero_bit((addr), (size), 0) | ||
188 | |||
189 | -extern __inline__ int find_next_zero_bit (void * addr, int size, int offset) | ||
190 | +extern inline int find_next_zero_bit(void *addr, int size, int offset) | ||
191 | { | ||
192 | unsigned long *p = ((unsigned long *) addr) + (offset >> 5); | ||
193 | unsigned long result = offset & ~31UL; | ||
194 | @@ -279,7 +279,7 @@ found_middle: | ||
195 | #define hweight8(x) generic_hweight8(x) | ||
196 | |||
197 | |||
198 | -extern __inline__ int ext2_set_bit(int nr, volatile void * addr) | ||
199 | +extern inline int ext2_set_bit(int nr, volatile void *addr) | ||
200 | { | ||
201 | int mask, retval; | ||
202 | unsigned long flags; | ||
203 | @@ -294,7 +294,7 @@ extern __inline__ int ext2_set_bit(int nr, volatile void * addr) | ||
204 | return retval; | ||
205 | } | ||
206 | |||
207 | -extern __inline__ int ext2_clear_bit(int nr, volatile void * addr) | ||
208 | +extern inline int ext2_clear_bit(int nr, volatile void *addr) | ||
209 | { | ||
210 | int mask, retval; | ||
211 | unsigned long flags; | ||
212 | @@ -309,7 +309,7 @@ extern __inline__ int ext2_clear_bit(int nr, volatile void * addr) | ||
213 | return retval; | ||
214 | } | ||
215 | |||
216 | -extern __inline__ int ext2_test_bit(int nr, const volatile void * addr) | ||
217 | +extern inline int ext2_test_bit(int nr, const volatile void *addr) | ||
218 | { | ||
219 | int mask; | ||
220 | const volatile unsigned char *ADDR = (const unsigned char *) addr; | ||
221 | diff --git a/arch/microblaze/include/asm/system.h b/arch/microblaze/include/asm/system.h | ||
222 | index 0297a11..3090835 100644 | ||
223 | --- a/arch/microblaze/include/asm/system.h | ||
224 | +++ b/arch/microblaze/include/asm/system.h | ||
225 | @@ -131,7 +131,7 @@ extern void *switch_thread (struct thread_struct *last, | ||
226 | ((__typeof__ (*(ptr)))__xchg ((unsigned long)(with), (ptr), sizeof (*(ptr)))) | ||
227 | #define tas(ptr) (xchg ((ptr), 1)) | ||
228 | |||
229 | -extern inline unsigned long __xchg (unsigned long with, | ||
230 | +extern inline unsigned long __xchg(unsigned long with, | ||
231 | __volatile__ void *ptr, int size) | ||
232 | { | ||
233 | unsigned long tmp, flags; | ||
234 | -- | ||
235 | 2.6.2 | ||
236 | |||
diff --git a/recipes-bsp/u-boot/u-boot-xlnx/0002-microblaze-Fix-C99-gnu99-compatiblity-for-inline-fun.patch b/recipes-bsp/u-boot/u-boot-xlnx/0002-microblaze-Fix-C99-gnu99-compatiblity-for-inline-fun.patch deleted file mode 100644 index d334867b..00000000 --- a/recipes-bsp/u-boot/u-boot-xlnx/0002-microblaze-Fix-C99-gnu99-compatiblity-for-inline-fun.patch +++ /dev/null | |||
@@ -1,239 +0,0 @@ | |||
1 | From ccd0c906131053b11790a6be076e2cf4f71fed10 Mon Sep 17 00:00:00 2001 | ||
2 | From: Nathan Rossi <nathan@nathanrossi.com> | ||
3 | Date: Fri, 6 Nov 2015 19:25:06 +1000 | ||
4 | Subject: [PATCH 2/2] microblaze: Fix C99/gnu99 compatiblity for inline | ||
5 | functions | ||
6 | |||
7 | 'extern inline' is not portable across various C standards. To ensure | ||
8 | compatiblity with various standards/compilers change the functions to | ||
9 | static inline. This is a portable construct and serves as a comparable | ||
10 | definition to 'extern inline' from the gnu90 standard. | ||
11 | |||
12 | Additionally remove the function prototypes as they are not required due | ||
13 | to the functions being declared static and functions are correctly | ||
14 | ordered based on dependence. | ||
15 | |||
16 | Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> | ||
17 | Cc: Michal Simek <monstr@monstr.eu> | ||
18 | Cc: Tom Rini <trini@konsulko.com> | ||
19 | Acked-by: Mans Rullgard <mans@mansr.com> | ||
20 | Signed-off-by: Michal Simek <michal.simek@xilinx.com> | ||
21 | Upstream-Status: Backport | ||
22 | --- | ||
23 | arch/microblaze/include/asm/bitops.h | 63 ++++++++++++------------------------ | ||
24 | arch/microblaze/include/asm/system.h | 2 +- | ||
25 | 2 files changed, 22 insertions(+), 43 deletions(-) | ||
26 | |||
27 | diff --git a/arch/microblaze/include/asm/bitops.h b/arch/microblaze/include/asm/bitops.h | ||
28 | index 178c94f..2cab2ac 100644 | ||
29 | --- a/arch/microblaze/include/asm/bitops.h | ||
30 | +++ b/arch/microblaze/include/asm/bitops.h | ||
31 | @@ -14,38 +14,14 @@ | ||
32 | |||
33 | #ifdef __KERNEL__ | ||
34 | /* | ||
35 | - * Function prototypes to keep gcc -Wall happy | ||
36 | - */ | ||
37 | - | ||
38 | -/* | ||
39 | * The __ functions are not atomic | ||
40 | */ | ||
41 | |||
42 | -extern void set_bit(int nr, volatile void *addr); | ||
43 | -extern void __set_bit(int nr, volatile void *addr); | ||
44 | - | ||
45 | -extern void clear_bit(int nr, volatile void *addr); | ||
46 | -#define __clear_bit(nr, addr) clear_bit(nr, addr) | ||
47 | -#define PLATFORM__CLEAR_BIT | ||
48 | - | ||
49 | -extern void change_bit(int nr, volatile void *addr); | ||
50 | -extern void __change_bit(int nr, volatile void *addr); | ||
51 | -extern int test_and_set_bit(int nr, volatile void *addr); | ||
52 | -extern int __test_and_set_bit(int nr, volatile void *addr); | ||
53 | -extern int test_and_clear_bit(int nr, volatile void *addr); | ||
54 | -extern int __test_and_clear_bit(int nr, volatile void *addr); | ||
55 | -extern int test_and_change_bit(int nr, volatile void *addr); | ||
56 | -extern int __test_and_change_bit(int nr, volatile void *addr); | ||
57 | -extern int __constant_test_bit(int nr, const volatile void *addr); | ||
58 | -extern int __test_bit(int nr, volatile void *addr); | ||
59 | -extern int find_first_zero_bit(void *addr, unsigned size); | ||
60 | -extern int find_next_zero_bit(void *addr, int size, int offset); | ||
61 | - | ||
62 | /* | ||
63 | * ffz = Find First Zero in word. Undefined if no zero exists, | ||
64 | * so code should check against ~0UL first.. | ||
65 | */ | ||
66 | -extern inline unsigned long ffz(unsigned long word) | ||
67 | +static inline unsigned long ffz(unsigned long word) | ||
68 | { | ||
69 | unsigned long result = 0; | ||
70 | |||
71 | @@ -57,7 +33,7 @@ extern inline unsigned long ffz(unsigned long word) | ||
72 | } | ||
73 | |||
74 | |||
75 | -extern inline void set_bit(int nr, volatile void *addr) | ||
76 | +static inline void set_bit(int nr, volatile void *addr) | ||
77 | { | ||
78 | int * a = (int *) addr; | ||
79 | int mask; | ||
80 | @@ -70,7 +46,7 @@ extern inline void set_bit(int nr, volatile void *addr) | ||
81 | restore_flags(flags); | ||
82 | } | ||
83 | |||
84 | -extern inline void __set_bit(int nr, volatile void *addr) | ||
85 | +static inline void __set_bit(int nr, volatile void *addr) | ||
86 | { | ||
87 | int * a = (int *) addr; | ||
88 | int mask; | ||
89 | @@ -87,7 +63,7 @@ extern inline void __set_bit(int nr, volatile void *addr) | ||
90 | #define smp_mb__before_clear_bit() barrier() | ||
91 | #define smp_mb__after_clear_bit() barrier() | ||
92 | |||
93 | -extern inline void clear_bit(int nr, volatile void *addr) | ||
94 | +static inline void clear_bit(int nr, volatile void *addr) | ||
95 | { | ||
96 | int * a = (int *) addr; | ||
97 | int mask; | ||
98 | @@ -100,7 +76,10 @@ extern inline void clear_bit(int nr, volatile void *addr) | ||
99 | restore_flags(flags); | ||
100 | } | ||
101 | |||
102 | -extern inline void change_bit(int nr, volatile void *addr) | ||
103 | +#define __clear_bit(nr, addr) clear_bit(nr, addr) | ||
104 | +#define PLATFORM__CLEAR_BIT | ||
105 | + | ||
106 | +static inline void change_bit(int nr, volatile void *addr) | ||
107 | { | ||
108 | int mask; | ||
109 | unsigned long flags; | ||
110 | @@ -113,7 +92,7 @@ extern inline void change_bit(int nr, volatile void *addr) | ||
111 | restore_flags(flags); | ||
112 | } | ||
113 | |||
114 | -extern inline void __change_bit(int nr, volatile void *addr) | ||
115 | +static inline void __change_bit(int nr, volatile void *addr) | ||
116 | { | ||
117 | int mask; | ||
118 | unsigned long *ADDR = (unsigned long *) addr; | ||
119 | @@ -123,7 +102,7 @@ extern inline void __change_bit(int nr, volatile void *addr) | ||
120 | *ADDR ^= mask; | ||
121 | } | ||
122 | |||
123 | -extern inline int test_and_set_bit(int nr, volatile void *addr) | ||
124 | +static inline int test_and_set_bit(int nr, volatile void *addr) | ||
125 | { | ||
126 | int mask, retval; | ||
127 | volatile unsigned int *a = (volatile unsigned int *) addr; | ||
128 | @@ -139,7 +118,7 @@ extern inline int test_and_set_bit(int nr, volatile void *addr) | ||
129 | return retval; | ||
130 | } | ||
131 | |||
132 | -extern inline int __test_and_set_bit(int nr, volatile void *addr) | ||
133 | +static inline int __test_and_set_bit(int nr, volatile void *addr) | ||
134 | { | ||
135 | int mask, retval; | ||
136 | volatile unsigned int *a = (volatile unsigned int *) addr; | ||
137 | @@ -151,7 +130,7 @@ extern inline int __test_and_set_bit(int nr, volatile void *addr) | ||
138 | return retval; | ||
139 | } | ||
140 | |||
141 | -extern inline int test_and_clear_bit(int nr, volatile void *addr) | ||
142 | +static inline int test_and_clear_bit(int nr, volatile void *addr) | ||
143 | { | ||
144 | int mask, retval; | ||
145 | volatile unsigned int *a = (volatile unsigned int *) addr; | ||
146 | @@ -167,7 +146,7 @@ extern inline int test_and_clear_bit(int nr, volatile void *addr) | ||
147 | return retval; | ||
148 | } | ||
149 | |||
150 | -extern inline int __test_and_clear_bit(int nr, volatile void *addr) | ||
151 | +static inline int __test_and_clear_bit(int nr, volatile void *addr) | ||
152 | { | ||
153 | int mask, retval; | ||
154 | volatile unsigned int *a = (volatile unsigned int *) addr; | ||
155 | @@ -179,7 +158,7 @@ extern inline int __test_and_clear_bit(int nr, volatile void *addr) | ||
156 | return retval; | ||
157 | } | ||
158 | |||
159 | -extern inline int test_and_change_bit(int nr, volatile void *addr) | ||
160 | +static inline int test_and_change_bit(int nr, volatile void *addr) | ||
161 | { | ||
162 | int mask, retval; | ||
163 | volatile unsigned int *a = (volatile unsigned int *) addr; | ||
164 | @@ -195,7 +174,7 @@ extern inline int test_and_change_bit(int nr, volatile void *addr) | ||
165 | return retval; | ||
166 | } | ||
167 | |||
168 | -extern inline int __test_and_change_bit(int nr, volatile void *addr) | ||
169 | +static inline int __test_and_change_bit(int nr, volatile void *addr) | ||
170 | { | ||
171 | int mask, retval; | ||
172 | volatile unsigned int *a = (volatile unsigned int *) addr; | ||
173 | @@ -210,12 +189,12 @@ extern inline int __test_and_change_bit(int nr, volatile void *addr) | ||
174 | /* | ||
175 | * This routine doesn't need to be atomic. | ||
176 | */ | ||
177 | -extern inline int __constant_test_bit(int nr, const volatile void *addr) | ||
178 | +static inline int __constant_test_bit(int nr, const volatile void *addr) | ||
179 | { | ||
180 | return ((1UL << (nr & 31)) & (((const volatile unsigned int *) addr)[nr >> 5])) != 0; | ||
181 | } | ||
182 | |||
183 | -extern inline int __test_bit(int nr, volatile void *addr) | ||
184 | +static inline int __test_bit(int nr, volatile void *addr) | ||
185 | { | ||
186 | int * a = (int *) addr; | ||
187 | int mask; | ||
188 | @@ -233,7 +212,7 @@ extern inline int __test_bit(int nr, volatile void *addr) | ||
189 | #define find_first_zero_bit(addr, size) \ | ||
190 | find_next_zero_bit((addr), (size), 0) | ||
191 | |||
192 | -extern inline int find_next_zero_bit(void *addr, int size, int offset) | ||
193 | +static inline int find_next_zero_bit(void *addr, int size, int offset) | ||
194 | { | ||
195 | unsigned long *p = ((unsigned long *) addr) + (offset >> 5); | ||
196 | unsigned long result = offset & ~31UL; | ||
197 | @@ -279,7 +258,7 @@ found_middle: | ||
198 | #define hweight8(x) generic_hweight8(x) | ||
199 | |||
200 | |||
201 | -extern inline int ext2_set_bit(int nr, volatile void *addr) | ||
202 | +static inline int ext2_set_bit(int nr, volatile void *addr) | ||
203 | { | ||
204 | int mask, retval; | ||
205 | unsigned long flags; | ||
206 | @@ -294,7 +273,7 @@ extern inline int ext2_set_bit(int nr, volatile void *addr) | ||
207 | return retval; | ||
208 | } | ||
209 | |||
210 | -extern inline int ext2_clear_bit(int nr, volatile void *addr) | ||
211 | +static inline int ext2_clear_bit(int nr, volatile void *addr) | ||
212 | { | ||
213 | int mask, retval; | ||
214 | unsigned long flags; | ||
215 | @@ -309,7 +288,7 @@ extern inline int ext2_clear_bit(int nr, volatile void *addr) | ||
216 | return retval; | ||
217 | } | ||
218 | |||
219 | -extern inline int ext2_test_bit(int nr, const volatile void *addr) | ||
220 | +static inline int ext2_test_bit(int nr, const volatile void *addr) | ||
221 | { | ||
222 | int mask; | ||
223 | const volatile unsigned char *ADDR = (const unsigned char *) addr; | ||
224 | diff --git a/arch/microblaze/include/asm/system.h b/arch/microblaze/include/asm/system.h | ||
225 | index 3090835..3107748 100644 | ||
226 | --- a/arch/microblaze/include/asm/system.h | ||
227 | +++ b/arch/microblaze/include/asm/system.h | ||
228 | @@ -131,7 +131,7 @@ extern void *switch_thread (struct thread_struct *last, | ||
229 | ((__typeof__ (*(ptr)))__xchg ((unsigned long)(with), (ptr), sizeof (*(ptr)))) | ||
230 | #define tas(ptr) (xchg ((ptr), 1)) | ||
231 | |||
232 | -extern inline unsigned long __xchg(unsigned long with, | ||
233 | +static inline unsigned long __xchg(unsigned long with, | ||
234 | __volatile__ void *ptr, int size) | ||
235 | { | ||
236 | unsigned long tmp, flags; | ||
237 | -- | ||
238 | 2.6.2 | ||
239 | |||
diff --git a/recipes-bsp/u-boot/u-boot-xlnx/microblaze-kc705-trd-Convert-microblaze-generic-to-k.patch b/recipes-bsp/u-boot/u-boot-xlnx/microblaze-kc705-trd-Convert-microblaze-generic-to-k.patch index e9974f4f..47601e7d 100644 --- a/recipes-bsp/u-boot/u-boot-xlnx/microblaze-kc705-trd-Convert-microblaze-generic-to-k.patch +++ b/recipes-bsp/u-boot/u-boot-xlnx/microblaze-kc705-trd-Convert-microblaze-generic-to-k.patch | |||
@@ -1,6 +1,6 @@ | |||
1 | From 0a6818050dcc711f36bd96decc7a2abba5871928 Mon Sep 17 00:00:00 2001 | 1 | From 36651e266a840e0767e8f1b6d0ff4944f96cbdcf Mon Sep 17 00:00:00 2001 |
2 | From: Nathan Rossi <nathan@nathanrossi.com> | 2 | From: Nathan Rossi <nathan@nathanrossi.com> |
3 | Date: Wed, 6 Jan 2016 15:40:17 +1000 | 3 | Date: Thu, 31 Mar 2016 18:15:02 +1000 |
4 | Subject: [PATCH] microblaze: kc705-trd: Convert microblaze-generic to | 4 | Subject: [PATCH] microblaze: kc705-trd: Convert microblaze-generic to |
5 | kc705-trd | 5 | kc705-trd |
6 | 6 | ||
@@ -12,24 +12,543 @@ microblaze boards. | |||
12 | Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> | 12 | Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> |
13 | Upstream-Status: Not-Upstreamable [meta-xilinx/kc705 specific] | 13 | Upstream-Status: Not-Upstreamable [meta-xilinx/kc705 specific] |
14 | --- | 14 | --- |
15 | arch/microblaze/dts/microblaze-generic.dts | 4 ++ | 15 | arch/microblaze/dts/microblaze-generic.dts | 520 ++++++++++++++++++++++++++ |
16 | board/xilinx/microblaze-generic/config.mk | 23 +++---- | 16 | board/xilinx/microblaze-generic/config.mk | 23 +- |
17 | board/xilinx/microblaze-generic/xparameters.h | 86 ++++++++++----------------- | 17 | board/xilinx/microblaze-generic/xparameters.h | 16 +- |
18 | include/configs/microblaze-generic.h | 11 ++-- | 18 | configs/microblaze-generic_defconfig | 5 +- |
19 | 4 files changed, 52 insertions(+), 72 deletions(-) | 19 | include/configs/microblaze-generic.h | 4 +- |
20 | 5 files changed, 540 insertions(+), 28 deletions(-) | ||
20 | 21 | ||
21 | diff --git a/arch/microblaze/dts/microblaze-generic.dts b/arch/microblaze/dts/microblaze-generic.dts | 22 | diff --git a/arch/microblaze/dts/microblaze-generic.dts b/arch/microblaze/dts/microblaze-generic.dts |
22 | index 2033309..8c21cd3 100644 | 23 | index 2033309..7faf61d 100644 |
23 | --- a/arch/microblaze/dts/microblaze-generic.dts | 24 | --- a/arch/microblaze/dts/microblaze-generic.dts |
24 | +++ b/arch/microblaze/dts/microblaze-generic.dts | 25 | +++ b/arch/microblaze/dts/microblaze-generic.dts |
25 | @@ -4,4 +4,8 @@ | 26 | @@ -2,6 +2,526 @@ |
27 | / { | ||
28 | #address-cells = <1>; | ||
26 | #size-cells = <1>; | 29 | #size-cells = <1>; |
27 | aliases { | 30 | + compatible = "xlnx,microblaze"; |
28 | } ; | 31 | + model = "Xilinx-KC705-TRD"; |
29 | + memory: memory@80000000 { | 32 | + ddr3_sdram: memory@80000000 { |
30 | + device_type = "memory"; | 33 | + device_type = "memory"; |
31 | + reg = <0x80000000 0x40000000>; | 34 | + reg = < 0x80000000 0x40000000 >; |
35 | + } ; | ||
36 | aliases { | ||
37 | + ethernet0 = &soft_ethernet_mac; | ||
38 | + serial0 = &rs232_uart_1; | ||
39 | + } ; | ||
40 | + chosen { | ||
41 | + bootargs = ""; | ||
42 | + stdout-path = "serial0:115200"; | ||
32 | + } ; | 43 | + } ; |
44 | + cpus { | ||
45 | + #address-cells = <1>; | ||
46 | + #cpus = <0x1>; | ||
47 | + #size-cells = <0>; | ||
48 | + microblaze_0: cpu@0 { | ||
49 | + bus-handle = <&axi_mm_mb>, <&axi4_0>, <&axi4lite_0>; | ||
50 | + clock-frequency = <150000000>; | ||
51 | + clocks = <&clk_cpu>; | ||
52 | + compatible = "xlnx,microblaze-8.50.a"; | ||
53 | + d-cache-baseaddr = <0x80000000>; | ||
54 | + d-cache-highaddr = <0xffffffff>; | ||
55 | + d-cache-line-size = <0x20>; | ||
56 | + d-cache-size = <0x2000>; | ||
57 | + device_type = "cpu"; | ||
58 | + i-cache-baseaddr = <0x80000000>; | ||
59 | + i-cache-highaddr = <0xffffffff>; | ||
60 | + i-cache-line-size = <0x20>; | ||
61 | + i-cache-size = <0x2000>; | ||
62 | + model = "microblaze,8.50.a"; | ||
63 | + reg = <0>; | ||
64 | + timebase-frequency = <150000000>; | ||
65 | + xlnx,addr-tag-bits = <0x12>; | ||
66 | + xlnx,allow-dcache-wr = <0x1>; | ||
67 | + xlnx,allow-icache-wr = <0x1>; | ||
68 | + xlnx,area-optimized = <0x0>; | ||
69 | + xlnx,avoid-primitives = <0x0>; | ||
70 | + xlnx,base-vectors = <0x0>; | ||
71 | + xlnx,branch-target-cache-size = <0x0>; | ||
72 | + xlnx,cache-byte-size = <0x2000>; | ||
73 | + xlnx,d-axi = <0x1>; | ||
74 | + xlnx,d-lmb = <0x1>; | ||
75 | + xlnx,d-plb = <0x0>; | ||
76 | + xlnx,data-size = <0x20>; | ||
77 | + xlnx,dcache-addr-tag = <0x12>; | ||
78 | + xlnx,dcache-always-used = <0x1>; | ||
79 | + xlnx,dcache-byte-size = <0x2000>; | ||
80 | + xlnx,dcache-data-width = <0x0>; | ||
81 | + xlnx,dcache-force-tag-lutram = <0x1>; | ||
82 | + xlnx,dcache-interface = <0x0>; | ||
83 | + xlnx,dcache-line-len = <0x8>; | ||
84 | + xlnx,dcache-use-fsl = <0x0>; | ||
85 | + xlnx,dcache-use-writeback = <0x0>; | ||
86 | + xlnx,dcache-victims = <0x0>; | ||
87 | + xlnx,debug-enabled = <0x1>; | ||
88 | + xlnx,div-zero-exception = <0x0>; | ||
89 | + xlnx,dynamic-bus-sizing = <0x1>; | ||
90 | + xlnx,ecc-use-ce-exception = <0x0>; | ||
91 | + xlnx,edge-is-positive = <0x1>; | ||
92 | + xlnx,endianness = <0x1>; | ||
93 | + xlnx,family = "kintex7"; | ||
94 | + xlnx,fault-tolerant = <0x0>; | ||
95 | + xlnx,fpu-exception = <0x0>; | ||
96 | + xlnx,freq = <0x8f0d180>; | ||
97 | + xlnx,fsl-data-size = <0x20>; | ||
98 | + xlnx,fsl-exception = <0x0>; | ||
99 | + xlnx,fsl-links = <0x0>; | ||
100 | + xlnx,i-axi = <0x0>; | ||
101 | + xlnx,i-lmb = <0x1>; | ||
102 | + xlnx,i-plb = <0x0>; | ||
103 | + xlnx,icache-always-used = <0x1>; | ||
104 | + xlnx,icache-data-width = <0x0>; | ||
105 | + xlnx,icache-force-tag-lutram = <0x1>; | ||
106 | + xlnx,icache-interface = <0x0>; | ||
107 | + xlnx,icache-line-len = <0x8>; | ||
108 | + xlnx,icache-streams = <0x0>; | ||
109 | + xlnx,icache-use-fsl = <0x0>; | ||
110 | + xlnx,icache-victims = <0x0>; | ||
111 | + xlnx,ill-opcode-exception = <0x1>; | ||
112 | + xlnx,instance = "microblaze_0"; | ||
113 | + xlnx,interconnect = <0x2>; | ||
114 | + xlnx,interrupt-is-edge = <0x0>; | ||
115 | + xlnx,lockstep-slave = <0x0>; | ||
116 | + xlnx,mmu-dtlb-size = <0x2>; | ||
117 | + xlnx,mmu-itlb-size = <0x2>; | ||
118 | + xlnx,mmu-privileged-instr = <0x0>; | ||
119 | + xlnx,mmu-tlb-access = <0x3>; | ||
120 | + xlnx,mmu-zones = <0x2>; | ||
121 | + xlnx,number-of-pc-brk = <0x1>; | ||
122 | + xlnx,number-of-rd-addr-brk = <0x0>; | ||
123 | + xlnx,number-of-wr-addr-brk = <0x0>; | ||
124 | + xlnx,opcode-0x0-illegal = <0x1>; | ||
125 | + xlnx,optimization = <0x0>; | ||
126 | + xlnx,pc-width = <0x20>; | ||
127 | + xlnx,pvr = <0x2>; | ||
128 | + xlnx,pvr-user1 = <0x0>; | ||
129 | + xlnx,pvr-user2 = <0x0>; | ||
130 | + xlnx,reset-msr = <0x0>; | ||
131 | + xlnx,sco = <0x0>; | ||
132 | + xlnx,stream-interconnect = <0x0>; | ||
133 | + xlnx,unaligned-exceptions = <0x1>; | ||
134 | + xlnx,use-barrel = <0x1>; | ||
135 | + xlnx,use-branch-target-cache = <0x0>; | ||
136 | + xlnx,use-dcache = <0x1>; | ||
137 | + xlnx,use-div = <0x0>; | ||
138 | + xlnx,use-ext-brk = <0x1>; | ||
139 | + xlnx,use-ext-nm-brk = <0x1>; | ||
140 | + xlnx,use-extended-fsl-instr = <0x0>; | ||
141 | + xlnx,use-fpu = <0x0>; | ||
142 | + xlnx,use-hw-mul = <0x1>; | ||
143 | + xlnx,use-icache = <0x1>; | ||
144 | + xlnx,use-interrupt = <0x1>; | ||
145 | + xlnx,use-mmu = <0x3>; | ||
146 | + xlnx,use-msr-instr = <0x1>; | ||
147 | + xlnx,use-pcmp-instr = <0x1>; | ||
148 | + xlnx,use-reorder-instr = <0x1>; | ||
149 | + xlnx,use-stack-protection = <0x0>; | ||
150 | + } ; | ||
151 | + } ; | ||
152 | + clocks { | ||
153 | + #address-cells = <1>; | ||
154 | + #size-cells = <0>; | ||
155 | + clk_bus: bus { | ||
156 | + #clock-cells = <0>; | ||
157 | + clock-frequency = <100000000>; | ||
158 | + clock-output-names = "bus"; | ||
159 | + compatible = "fixed-clock"; | ||
160 | + reg = <1>; | ||
161 | + } ; | ||
162 | + clk_cpu: cpu { | ||
163 | + #clock-cells = <0>; | ||
164 | + clock-frequency = <150000000>; | ||
165 | + clock-output-names = "cpu"; | ||
166 | + compatible = "fixed-clock"; | ||
167 | + reg = <0>; | ||
168 | + } ; | ||
169 | + } ; | ||
170 | + axi4lite_0: axi@2 { | ||
171 | + #address-cells = <1>; | ||
172 | + #size-cells = <1>; | ||
173 | + compatible = "xlnx,axi-interconnect-1.06.a", "simple-bus"; | ||
174 | + ranges ; | ||
175 | + axi_dma_ethernet: axi-dma@50000000 { | ||
176 | + axistream-connected = <&soft_ethernet_mac>; | ||
177 | + axistream-control-connected = <&soft_ethernet_mac>; | ||
178 | + compatible = "xlnx,axi-dma-6.03.a", "xlnx,axi-dma-1.00.a"; | ||
179 | + interrupt-parent = <&interrupt_cntlr>; | ||
180 | + interrupts = < 0 2 1 2 >; | ||
181 | + reg = < 0x50000000 0x10000 >; | ||
182 | + xlnx,dlytmr-resolution = <0x4e2>; | ||
183 | + xlnx,enable-multi-channel = <0x0>; | ||
184 | + xlnx,family = "kintex7"; | ||
185 | + xlnx,generic = <0x0>; | ||
186 | + xlnx,include-mm2s = <0x1>; | ||
187 | + xlnx,include-mm2s-dre = <0x1>; | ||
188 | + xlnx,include-mm2s-sf = <0x1>; | ||
189 | + xlnx,include-s2mm = <0x1>; | ||
190 | + xlnx,include-s2mm-dre = <0x1>; | ||
191 | + xlnx,include-s2mm-sf = <0x1>; | ||
192 | + xlnx,include-sg = <0x1>; | ||
193 | + xlnx,instance = "AXI_DMA_Ethernet"; | ||
194 | + xlnx,mm2s-burst-size = <0x10>; | ||
195 | + xlnx,num-mm2s-channels = <0x1>; | ||
196 | + xlnx,num-s2mm-channels = <0x1>; | ||
197 | + xlnx,prmry-is-aclk-async = <0x1>; | ||
198 | + xlnx,s2mm-burst-size = <0x10>; | ||
199 | + xlnx,sg-include-desc-queue = <0x1>; | ||
200 | + xlnx,sg-include-stscntrl-strm = <0x1>; | ||
201 | + xlnx,sg-length-width = <0x10>; | ||
202 | + xlnx,sg-use-stsapp-length = <0x1>; | ||
203 | + } ; | ||
204 | + axi_xadc_0: axi-xadc@40d00000 { | ||
205 | + clocks = <&clk_bus>; | ||
206 | + compatible = "xlnx,axi-xadc-1.00.a"; | ||
207 | + interrupt-parent = <&interrupt_cntlr>; | ||
208 | + interrupts = < 7 2 >; | ||
209 | + reg = < 0x40d00000 0x10000 >; | ||
210 | + xlnx,family = "kintex7"; | ||
211 | + xlnx,has-temp-bus = <0x1>; | ||
212 | + xlnx,include-intr = <0x1>; | ||
213 | + xlnx,instance = "axi_xadc_0"; | ||
214 | + xlnx,sim-monitor-file = "Sysmon_Design.txt"; | ||
215 | + } ; | ||
216 | + debug_module: serial@40200000 { | ||
217 | + compatible = "xlnx,mdm-2.10.a", "xlnx,xps-uartlite-1.00.a"; | ||
218 | + reg = < 0x40200000 0x10000 >; | ||
219 | + xlnx,family = "kintex7"; | ||
220 | + xlnx,interconnect = <0x2>; | ||
221 | + xlnx,jtag-chain = <0x2>; | ||
222 | + xlnx,mb-dbg-ports = <0x1>; | ||
223 | + xlnx,use-bscan = <0x0>; | ||
224 | + xlnx,use-uart = <0x1>; | ||
225 | + } ; | ||
226 | + dip_switches_4bits: gpio@40700000 { | ||
227 | + #gpio-cells = <2>; | ||
228 | + compatible = "xlnx,axi-gpio-1.01.b", "xlnx,xps-gpio-1.00.a"; | ||
229 | + gpio-controller ; | ||
230 | + reg = < 0x40700000 0x10000 >; | ||
231 | + xlnx,all-inputs = <0x1>; | ||
232 | + xlnx,all-inputs-2 = <0x0>; | ||
233 | + xlnx,dout-default = <0x0>; | ||
234 | + xlnx,dout-default-2 = <0x0>; | ||
235 | + xlnx,family = "kintex7"; | ||
236 | + xlnx,gpio-width = <0x4>; | ||
237 | + xlnx,gpio2-width = <0x20>; | ||
238 | + xlnx,instance = "DIP_Switches_4Bits"; | ||
239 | + xlnx,interrupt-present = <0x1>; | ||
240 | + xlnx,is-dual = <0x0>; | ||
241 | + xlnx,tri-default = <0xffffffff>; | ||
242 | + xlnx,tri-default-2 = <0xffffffff>; | ||
243 | + } ; | ||
244 | + dual_timer_counter: system-timer@40300000 { | ||
245 | + clock-frequency = <100000000>; | ||
246 | + clocks = <&clk_bus>; | ||
247 | + compatible = "xlnx,axi-timer-1.03.a", "xlnx,xps-timer-1.00.a"; | ||
248 | + interrupt-parent = <&interrupt_cntlr>; | ||
249 | + interrupts = < 3 2 >; | ||
250 | + reg = < 0x40300000 0x10000 >; | ||
251 | + xlnx,count-width = <0x20>; | ||
252 | + xlnx,family = "kintex7"; | ||
253 | + xlnx,gen0-assert = <0x1>; | ||
254 | + xlnx,gen1-assert = <0x1>; | ||
255 | + xlnx,instance = "Dual_Timer_Counter"; | ||
256 | + xlnx,one-timer-only = <0x0>; | ||
257 | + xlnx,trig0-assert = <0x1>; | ||
258 | + xlnx,trig1-assert = <0x1>; | ||
259 | + } ; | ||
260 | + iic_eeprom: i2c@40a00000 { | ||
261 | + compatible = "xlnx,axi-iic-1.02.a", "xlnx,xps-iic-2.00.a"; | ||
262 | + interrupt-parent = <&interrupt_cntlr>; | ||
263 | + interrupts = < 4 2 >; | ||
264 | + reg = < 0x40a00000 0x10000 >; | ||
265 | + xlnx,family = "kintex7"; | ||
266 | + xlnx,gpo-width = <0x1>; | ||
267 | + xlnx,iic-freq = <0x186a0>; | ||
268 | + xlnx,instance = "IIC_EEPROM"; | ||
269 | + xlnx,scl-inertial-delay = <0x0>; | ||
270 | + xlnx,sda-inertial-delay = <0x0>; | ||
271 | + xlnx,sda-level = <0x1>; | ||
272 | + xlnx,ten-bit-adr = <0x0>; | ||
273 | + } ; | ||
274 | + interrupt_cntlr: interrupt-controller@40100000 { | ||
275 | + #interrupt-cells = <0x2>; | ||
276 | + compatible = "xlnx,axi-intc-1.03.a", "xlnx,xps-intc-1.00.a"; | ||
277 | + interrupt-controller ; | ||
278 | + reg = < 0x40100000 0x10000 >; | ||
279 | + xlnx,kind-of-intr = <0x0>; | ||
280 | + xlnx,num-intr-inputs = <0x8>; | ||
281 | + } ; | ||
282 | + lcd_gpio: gpio@40800000 { | ||
283 | + #gpio-cells = <2>; | ||
284 | + compatible = "xlnx,axi-gpio-1.01.b", "xlnx,xps-gpio-1.00.a"; | ||
285 | + gpio-controller ; | ||
286 | + reg = < 0x40800000 0x10000 >; | ||
287 | + xlnx,all-inputs = <0x0>; | ||
288 | + xlnx,all-inputs-2 = <0x0>; | ||
289 | + xlnx,dout-default = <0x0>; | ||
290 | + xlnx,dout-default-2 = <0x0>; | ||
291 | + xlnx,family = "kintex7"; | ||
292 | + xlnx,gpio-width = <0x7>; | ||
293 | + xlnx,gpio2-width = <0x20>; | ||
294 | + xlnx,instance = "LCD_GPIO"; | ||
295 | + xlnx,interrupt-present = <0x0>; | ||
296 | + xlnx,is-dual = <0x0>; | ||
297 | + xlnx,tri-default = <0xffffffff>; | ||
298 | + xlnx,tri-default-2 = <0xffffffff>; | ||
299 | + } ; | ||
300 | + leds_8bits: gpio@40600000 { | ||
301 | + #gpio-cells = <2>; | ||
302 | + compatible = "xlnx,axi-gpio-1.01.b", "xlnx,xps-gpio-1.00.a"; | ||
303 | + gpio-controller ; | ||
304 | + reg = < 0x40600000 0x10000 >; | ||
305 | + xlnx,all-inputs = <0x0>; | ||
306 | + xlnx,all-inputs-2 = <0x0>; | ||
307 | + xlnx,dout-default = <0x0>; | ||
308 | + xlnx,dout-default-2 = <0x0>; | ||
309 | + xlnx,family = "kintex7"; | ||
310 | + xlnx,gpio-width = <0x8>; | ||
311 | + xlnx,gpio2-width = <0x20>; | ||
312 | + xlnx,instance = "LEDs_8Bits"; | ||
313 | + xlnx,interrupt-present = <0x1>; | ||
314 | + xlnx,is-dual = <0x0>; | ||
315 | + xlnx,tri-default = <0xffffffff>; | ||
316 | + xlnx,tri-default-2 = <0xffffffff>; | ||
317 | + } ; | ||
318 | + logisdhc_0: logisdhc@40b00000 { | ||
319 | + compatible = "xlnx,logisdhc-1.06.c"; | ||
320 | + interrupt-parent = <&interrupt_cntlr>; | ||
321 | + interrupts = < 6 2 >; | ||
322 | + reg = < 0x40b00000 0x10000 >; | ||
323 | + xlnx,byte-per-pixel = <0x4>; | ||
324 | + xlnx,convert-endianess = <0x0>; | ||
325 | + xlnx,dma-type = <0x1>; | ||
326 | + xlnx,family = "kintex7"; | ||
327 | + xlnx,ip-license-type = <0x1>; | ||
328 | + xlnx,ip-major-revision = <0x1>; | ||
329 | + xlnx,ip-minor-revision = <0x6>; | ||
330 | + xlnx,ip-patch-level = <0x2>; | ||
331 | + xlnx,mem-burst = <0x4>; | ||
332 | + xlnx,mem-data-bus-width = <0x20>; | ||
333 | + xlnx,mem-interface = <0x1>; | ||
334 | + xlnx,regs-interface = <0x2>; | ||
335 | + xlnx,row-stride = <0x400>; | ||
336 | + xlnx,sd-base-clock-freq = <0x64>; | ||
337 | + xlnx,use-dma = <0x0>; | ||
338 | + } ; | ||
339 | + primary_flash: flash@48000000 { | ||
340 | + #address-cells = <1>; | ||
341 | + #size-cells = <1>; | ||
342 | + bank-width = <2>; | ||
343 | + compatible = "xlnx,axi-emc-1.03.b", "cfi-flash"; | ||
344 | + reg = < 0x48000000 0x8000000 >; | ||
345 | + xlnx,axi-clk-period-ps = <0x2710>; | ||
346 | + xlnx,family = "kintex7"; | ||
347 | + xlnx,include-datawidth-matching-0 = <0x1>; | ||
348 | + xlnx,include-datawidth-matching-1 = <0x0>; | ||
349 | + xlnx,include-datawidth-matching-2 = <0x0>; | ||
350 | + xlnx,include-datawidth-matching-3 = <0x0>; | ||
351 | + xlnx,include-negedge-ioregs = <0x0>; | ||
352 | + xlnx,instance = "Linear_Flash"; | ||
353 | + xlnx,lflash-period-ps = <0x4e20>; | ||
354 | + xlnx,linear-flash-sync-burst = <0x0>; | ||
355 | + xlnx,max-mem-width = <0x10>; | ||
356 | + xlnx,mem0-type = <0x2>; | ||
357 | + xlnx,mem0-width = <0x10>; | ||
358 | + xlnx,mem1-type = <0x0>; | ||
359 | + xlnx,mem1-width = <0x20>; | ||
360 | + xlnx,mem2-type = <0x0>; | ||
361 | + xlnx,mem2-width = <0x20>; | ||
362 | + xlnx,mem3-type = <0x0>; | ||
363 | + xlnx,mem3-width = <0x20>; | ||
364 | + xlnx,num-banks-mem = <0x1>; | ||
365 | + xlnx,parity-type-mem-0 = <0x0>; | ||
366 | + xlnx,parity-type-mem-1 = <0x0>; | ||
367 | + xlnx,parity-type-mem-2 = <0x0>; | ||
368 | + xlnx,parity-type-mem-3 = <0x0>; | ||
369 | + xlnx,s-axi-en-reg = <0x0>; | ||
370 | + xlnx,s-axi-mem-addr-width = <0x20>; | ||
371 | + xlnx,s-axi-mem-data-width = <0x20>; | ||
372 | + xlnx,s-axi-mem-id-width = <0x1>; | ||
373 | + xlnx,s-axi-mem-protocol = "AXI4LITE"; | ||
374 | + xlnx,s-axi-reg-addr-width = <0x5>; | ||
375 | + xlnx,s-axi-reg-data-width = <0x20>; | ||
376 | + xlnx,s-axi-reg-protocol = "axi4"; | ||
377 | + xlnx,synch-pipedelay-0 = <0x2>; | ||
378 | + xlnx,synch-pipedelay-1 = <0x2>; | ||
379 | + xlnx,synch-pipedelay-2 = <0x2>; | ||
380 | + xlnx,synch-pipedelay-3 = <0x2>; | ||
381 | + xlnx,tavdv-ps-mem-0 = <0x1fbd0>; | ||
382 | + xlnx,tavdv-ps-mem-1 = <0x3a98>; | ||
383 | + xlnx,tavdv-ps-mem-2 = <0x3a98>; | ||
384 | + xlnx,tavdv-ps-mem-3 = <0x3a98>; | ||
385 | + xlnx,tcedv-ps-mem-0 = <0x1fbd0>; | ||
386 | + xlnx,tcedv-ps-mem-1 = <0x3a98>; | ||
387 | + xlnx,tcedv-ps-mem-2 = <0x3a98>; | ||
388 | + xlnx,tcedv-ps-mem-3 = <0x3a98>; | ||
389 | + xlnx,thzce-ps-mem-0 = <0x88b8>; | ||
390 | + xlnx,thzce-ps-mem-1 = <0x1b58>; | ||
391 | + xlnx,thzce-ps-mem-2 = <0x1b58>; | ||
392 | + xlnx,thzce-ps-mem-3 = <0x1b58>; | ||
393 | + xlnx,thzoe-ps-mem-0 = <0x1b58>; | ||
394 | + xlnx,thzoe-ps-mem-1 = <0x1b58>; | ||
395 | + xlnx,thzoe-ps-mem-2 = <0x1b58>; | ||
396 | + xlnx,thzoe-ps-mem-3 = <0x1b58>; | ||
397 | + xlnx,tlzwe-ps-mem-0 = <0x88b8>; | ||
398 | + xlnx,tlzwe-ps-mem-1 = <0x0>; | ||
399 | + xlnx,tlzwe-ps-mem-2 = <0x0>; | ||
400 | + xlnx,tlzwe-ps-mem-3 = <0x0>; | ||
401 | + xlnx,tpacc-ps-flash-0 = <0x61a8>; | ||
402 | + xlnx,tpacc-ps-flash-1 = <0x61a8>; | ||
403 | + xlnx,tpacc-ps-flash-2 = <0x61a8>; | ||
404 | + xlnx,tpacc-ps-flash-3 = <0x61a8>; | ||
405 | + xlnx,twc-ps-mem-0 = <0x11170>; | ||
406 | + xlnx,twc-ps-mem-1 = <0x3a98>; | ||
407 | + xlnx,twc-ps-mem-2 = <0x3a98>; | ||
408 | + xlnx,twc-ps-mem-3 = <0x3a98>; | ||
409 | + xlnx,twp-ps-mem-0 = <0x11170>; | ||
410 | + xlnx,twp-ps-mem-1 = <0x2ee0>; | ||
411 | + xlnx,twp-ps-mem-2 = <0x2ee0>; | ||
412 | + xlnx,twp-ps-mem-3 = <0x2ee0>; | ||
413 | + xlnx,twph-ps-mem-0 = <0x2ee0>; | ||
414 | + xlnx,twph-ps-mem-1 = <0x2ee0>; | ||
415 | + xlnx,twph-ps-mem-2 = <0x2ee0>; | ||
416 | + xlnx,twph-ps-mem-3 = <0x2ee0>; | ||
417 | + xlnx,wr-rec-time-mem-0 = <0x186a0>; | ||
418 | + xlnx,wr-rec-time-mem-1 = <0x186a0>; | ||
419 | + xlnx,wr-rec-time-mem-2 = <0x186a0>; | ||
420 | + xlnx,wr-rec-time-mem-3 = <0x186a0>; | ||
421 | + partition@0x00000000 { | ||
422 | + label = "fpga"; | ||
423 | + reg = <0x00000000 0x00200000>; | ||
424 | + }; | ||
425 | + partition@0x00200000 { | ||
426 | + label = "boot"; | ||
427 | + reg = <0x00200000 0x00040000>; | ||
428 | + }; | ||
429 | + partition@0x00240000 { | ||
430 | + label = "bootenv"; | ||
431 | + reg = <0x00240000 0x00020000>; | ||
432 | + }; | ||
433 | + partition@0x00260000 { | ||
434 | + label = "image"; | ||
435 | + reg = <0x00260000 0x00c00000>; | ||
436 | + }; | ||
437 | + partition@0x00e60000 { | ||
438 | + label = "spare"; | ||
439 | + reg = <0x00e60000 0x00000000>; | ||
440 | + }; | ||
441 | + } ; | ||
442 | + push_buttons_5bits: gpio@40500000 { | ||
443 | + #gpio-cells = <2>; | ||
444 | + compatible = "xlnx,axi-gpio-1.01.b", "xlnx,xps-gpio-1.00.a"; | ||
445 | + gpio-controller ; | ||
446 | + reg = < 0x40500000 0x10000 >; | ||
447 | + xlnx,all-inputs = <0x1>; | ||
448 | + xlnx,all-inputs-2 = <0x0>; | ||
449 | + xlnx,dout-default = <0x0>; | ||
450 | + xlnx,dout-default-2 = <0x0>; | ||
451 | + xlnx,family = "kintex7"; | ||
452 | + xlnx,gpio-width = <0x5>; | ||
453 | + xlnx,gpio2-width = <0x20>; | ||
454 | + xlnx,instance = "Push_Buttons_5Bits"; | ||
455 | + xlnx,interrupt-present = <0x1>; | ||
456 | + xlnx,is-dual = <0x0>; | ||
457 | + xlnx,tri-default = <0xffffffff>; | ||
458 | + xlnx,tri-default-2 = <0xffffffff>; | ||
459 | + } ; | ||
460 | + rotary_gpio: gpio@40900000 { | ||
461 | + #gpio-cells = <2>; | ||
462 | + compatible = "xlnx,axi-gpio-1.01.b", "xlnx,xps-gpio-1.00.a"; | ||
463 | + gpio-controller ; | ||
464 | + reg = < 0x40900000 0x10000 >; | ||
465 | + xlnx,all-inputs = <0x1>; | ||
466 | + xlnx,all-inputs-2 = <0x0>; | ||
467 | + xlnx,dout-default = <0x0>; | ||
468 | + xlnx,dout-default-2 = <0x0>; | ||
469 | + xlnx,family = "kintex7"; | ||
470 | + xlnx,gpio-width = <0x3>; | ||
471 | + xlnx,gpio2-width = <0x20>; | ||
472 | + xlnx,instance = "ROTARY_GPIO"; | ||
473 | + xlnx,interrupt-present = <0x0>; | ||
474 | + xlnx,is-dual = <0x0>; | ||
475 | + xlnx,tri-default = <0xffffffff>; | ||
476 | + xlnx,tri-default-2 = <0xffffffff>; | ||
477 | + } ; | ||
478 | + rs232_uart_1: serial@40400000 { | ||
479 | + clock-frequency = <100000000>; | ||
480 | + clocks = <&clk_bus>; | ||
481 | + compatible = "xlnx,axi-uart16550-1.01.a", "xlnx,xps-uart16550-2.00.a", "ns16550a"; | ||
482 | + current-speed = <115200>; | ||
483 | + device_type = "serial"; | ||
484 | + interrupt-parent = <&interrupt_cntlr>; | ||
485 | + interrupts = < 5 2 >; | ||
486 | + reg = < 0x40400000 0x10000 >; | ||
487 | + reg-offset = <0x1000>; | ||
488 | + reg-shift = <2>; | ||
489 | + xlnx,external-xin-clk-hz = <0x17d7840>; | ||
490 | + xlnx,family = "kintex7"; | ||
491 | + xlnx,has-external-rclk = <0x0>; | ||
492 | + xlnx,has-external-xin = <0x0>; | ||
493 | + xlnx,instance = "RS232_Uart_1"; | ||
494 | + xlnx,is-a-16550 = <0x1>; | ||
495 | + xlnx,use-modem-ports = <0x0>; | ||
496 | + xlnx,use-user-ports = <0x0>; | ||
497 | + } ; | ||
498 | + soft_ethernet_mac: axi-ethernet@50100000 { | ||
499 | + axistream-connected = <&axi_dma_ethernet>; | ||
500 | + axistream-control-connected = <&axi_dma_ethernet>; | ||
501 | + clock-frequency = <100000000>; | ||
502 | + clocks = <&clk_bus>; | ||
503 | + compatible = "xlnx,axi-ethernet-3.01.a", "xlnx,axi-ethernet-1.00.a"; | ||
504 | + device_type = "network"; | ||
505 | + interrupt-parent = <&interrupt_cntlr>; | ||
506 | + interrupts = < 2 2 >; | ||
507 | + local-mac-address = [ 00 0a 35 00 d9 4e ]; | ||
508 | + phy-mode = "gmii"; | ||
509 | + phy-handle = <&phy0>; | ||
510 | + reg = < 0x50100000 0x40000 >; | ||
511 | + xlnx,avb = <0x0>; | ||
512 | + xlnx,halfdup = <0x0>; | ||
513 | + xlnx,include-io = <0x1>; | ||
514 | + xlnx,mcast-extend = <0x0>; | ||
515 | + xlnx,phy-type = <0x1>; | ||
516 | + xlnx,phyaddr = <0x1>; | ||
517 | + xlnx,rxcsum = <0x0>; | ||
518 | + xlnx,rxmem = <0x1000>; | ||
519 | + xlnx,rxvlan-strp = <0x0>; | ||
520 | + xlnx,rxvlan-tag = <0x0>; | ||
521 | + xlnx,rxvlan-tran = <0x0>; | ||
522 | + xlnx,stats = <0x0>; | ||
523 | + xlnx,txcsum = <0x0>; | ||
524 | + xlnx,txmem = <0x1000>; | ||
525 | + xlnx,txvlan-strp = <0x0>; | ||
526 | + xlnx,txvlan-tag = <0x0>; | ||
527 | + xlnx,txvlan-tran = <0x0>; | ||
528 | + xlnx,type = <0x1>; | ||
529 | + mdio { | ||
530 | + #address-cells = <1>; | ||
531 | + #size-cells = <0>; | ||
532 | + phy0: phy@7 { | ||
533 | + compatible = "marvell,88e1111"; | ||
534 | + device_type = "ethernet-phy"; | ||
535 | + reg = <7>; | ||
536 | + } ; | ||
537 | + } ; | ||
538 | + } ; | ||
539 | + } ; | ||
540 | + axi_mm_mb: axi@1 { | ||
541 | + #address-cells = <1>; | ||
542 | + #size-cells = <1>; | ||
543 | + compatible = "xlnx,axi-interconnect-1.06.a", "simple-bus"; | ||
544 | + ranges ; | ||
545 | + axi4_0: axi@0 { | ||
546 | + #address-cells = <1>; | ||
547 | + #size-cells = <1>; | ||
548 | + compatible = "xlnx,axi-interconnect-1.06.a", "simple-bus"; | ||
549 | + ranges = < 0x80000000 0x80000000 0x40000000 >; | ||
550 | + } ; | ||
551 | } ; | ||
33 | } ; | 552 | } ; |
34 | diff --git a/board/xilinx/microblaze-generic/config.mk b/board/xilinx/microblaze-generic/config.mk | 553 | diff --git a/board/xilinx/microblaze-generic/config.mk b/board/xilinx/microblaze-generic/config.mk |
35 | index 36bdd96..25e97de 100644 | 554 | index 36bdd96..25e97de 100644 |
@@ -63,115 +582,58 @@ index 36bdd96..25e97de 100644 | |||
63 | +PLATFORM_CCPFLAGS += -mxl-pattern-compare | 582 | +PLATFORM_CCPFLAGS += -mxl-pattern-compare |
64 | +PLATFORM_CCPFLAGS += -mxl-reorder | 583 | +PLATFORM_CCPFLAGS += -mxl-reorder |
65 | diff --git a/board/xilinx/microblaze-generic/xparameters.h b/board/xilinx/microblaze-generic/xparameters.h | 584 | diff --git a/board/xilinx/microblaze-generic/xparameters.h b/board/xilinx/microblaze-generic/xparameters.h |
66 | index d6d0d67..f539044 100644 | 585 | index dc5645b..80b1ce3 100644 |
67 | --- a/board/xilinx/microblaze-generic/xparameters.h | 586 | --- a/board/xilinx/microblaze-generic/xparameters.h |
68 | +++ b/board/xilinx/microblaze-generic/xparameters.h | 587 | +++ b/board/xilinx/microblaze-generic/xparameters.h |
69 | @@ -1,67 +1,47 @@ | 588 | @@ -15,15 +15,11 @@ |
70 | -/* | 589 | |
71 | - * (C) Copyright 2007 Michal Simek | ||
72 | - * | ||
73 | - * Michal SIMEK <monstr@monstr.eu> | ||
74 | - * | ||
75 | - * SPDX-License-Identifier: GPL-2.0+ | ||
76 | - * | ||
77 | - * CAUTION: This file is a faked configuration !!! | ||
78 | - * There is no real target for the microblaze-generic | ||
79 | - * configuration. You have to replace this file with | ||
80 | - * the generated file from your Xilinx design flow. | ||
81 | - */ | ||
82 | - | ||
83 | -#define XILINX_BOARD_NAME microblaze-generic | ||
84 | - | ||
85 | -/* System Clock Frequency */ | ||
86 | -#define XILINX_CLOCK_FREQ 100000000 | ||
87 | - | ||
88 | /* Microblaze is microblaze_0 */ | 590 | /* Microblaze is microblaze_0 */ |
89 | #define XILINX_USE_MSR_INSTR 1 | 591 | #define XILINX_USE_MSR_INSTR 1 |
90 | -#define XILINX_FSL_NUMBER 3 | 592 | -#define XILINX_FSL_NUMBER 3 |
91 | +#define XILINX_PVR 2 | 593 | - |
594 | -/* GPIO is LEDs_4Bit*/ | ||
595 | -#define XILINX_GPIO_BASEADDR 0x40000000 | ||
92 | +#define XILINX_FSL_NUMBER 0 | 596 | +#define XILINX_FSL_NUMBER 0 |
93 | +#define XILINX_USE_ICACHE 1 | 597 | +#define XILINX_USE_ICACHE 1 |
94 | +#define XILINX_USE_DCACHE 1 | 598 | +#define XILINX_USE_DCACHE 1 |
95 | +#define XILINX_DCACHE_BYTE_SIZE 8192 | 599 | +#define XILINX_DCACHE_BYTE_SIZE 8192 |
96 | 600 | ||
97 | -/* Interrupt controller is opb_intc_0 */ | 601 | /* Flash Memory is FLASH_2Mx32 */ |
98 | -#define XILINX_INTC_BASEADDR 0x41200000 | ||
99 | -#define XILINX_INTC_NUM_INTR_INPUTS 6 | ||
100 | +/* Interrupt controller is interrupt_cntlr */ | ||
101 | +#define XILINX_INTC_BASEADDR 0x40100000 | ||
102 | +#define XILINX_INTC_NUM_INTR_INPUTS 8 | ||
103 | |||
104 | -/* Timer pheriphery is opb_timer_1 */ | ||
105 | -#define XILINX_TIMER_BASEADDR 0x41c00000 | ||
106 | -#define XILINX_TIMER_IRQ 0 | ||
107 | +/* Timer pheriphery is dual_timer_counter */ | ||
108 | +#define XILINX_TIMER_BASEADDR 0x40300000 | ||
109 | +#define XILINX_TIMER_IRQ 3 | ||
110 | |||
111 | -/* Uart pheriphery is RS232_Uart */ | ||
112 | -#define XILINX_UARTLITE_BASEADDR 0x40600000 | ||
113 | -#define XILINX_UARTLITE_BAUDRATE 115200 | ||
114 | +/* System Timer Clock Frequency */ | ||
115 | +#define XILINX_CLOCK_FREQ 100000000 | ||
116 | + | ||
117 | +/* Uart console is rs232_uart_1 */ | ||
118 | +#define XILINX_UART16550 | ||
119 | +#define XILINX_UART16550_BASEADDR 0x40400000 | ||
120 | +#define XILINX_UART16550_CLOCK_HZ 100000000 | ||
121 | +#define CONFIG_CONS_INDEX 1 | ||
122 | |||
123 | -/* IIC pheriphery is IIC_EEPROM */ | ||
124 | -#define XILINX_IIC_0_BASEADDR 0x40800000 | ||
125 | +/* IIC pheriphery is iic_eeprom */ | ||
126 | +#define XILINX_IIC_0_BASEADDR 0x40a00000 | ||
127 | #define XILINX_IIC_0_FREQ 100000 | ||
128 | #define XILINX_IIC_0_BIT 0 | ||
129 | |||
130 | -/* GPIO is LEDs_4Bit*/ | ||
131 | -#define XILINX_GPIO_BASEADDR 0x40000000 | ||
132 | - | ||
133 | -/* Flash Memory is FLASH_2Mx32 */ | ||
134 | -#define XILINX_FLASH_START 0x2c000000 | 602 | -#define XILINX_FLASH_START 0x2c000000 |
135 | -#define XILINX_FLASH_SIZE 0x00800000 | 603 | -#define XILINX_FLASH_SIZE 0x00800000 |
136 | +/* GPIO doesn't exist */ | 604 | - |
137 | |||
138 | -/* Main Memory is DDR_SDRAM_64Mx32 */ | ||
139 | -#define XILINX_RAM_START 0x28000000 | ||
140 | -#define XILINX_RAM_SIZE 0x04000000 | ||
141 | +/* SDIO doesn't exist */ | ||
142 | |||
143 | -/* Sysace Controller is SysACE_CompactFlash */ | ||
144 | -#define XILINX_SYSACE_BASEADDR 0x41800000 | ||
145 | -#define XILINX_SYSACE_HIGHADDR 0x4180ffff | ||
146 | -#define XILINX_SYSACE_MEM_WIDTH 16 | ||
147 | +/* Main Memory is ddr3_sdram */ | ||
148 | +#define XILINX_RAM_START 0x80000000 | ||
149 | +#define XILINX_RAM_SIZE 0x40000000 | ||
150 | |||
151 | -/* Ethernet controller is Ethernet_MAC */ | ||
152 | -#define XILINX_EMACLITE_BASEADDR 0x40C00000 | ||
153 | +/* Flash Memory is linear_flash */ | ||
154 | +#define XILINX_FLASH_START 0x48000000 | ||
155 | +#define XILINX_FLASH_SIZE 0x08000000 | ||
156 | |||
157 | -/* LL_TEMAC Ethernet controller */ | ||
158 | -#define XILINX_LLTEMAC_BASEADDR 0x44000000 | ||
159 | -#define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR 0x42000180 | ||
160 | -#define XILINX_LLTEMAC_BASEADDR1 0x44200000 | ||
161 | -#define XILINX_LLTEMAC_FIFO_BASEADDR1 0x42100000 | ||
162 | +/* Sysace doesn't exist */ | ||
163 | |||
164 | -/* Watchdog IP is wxi_timebase_wdt_0 */ | 605 | -/* Watchdog IP is wxi_timebase_wdt_0 */ |
165 | -#define XILINX_WATCHDOG_BASEADDR 0x50000000 | 606 | -#define XILINX_WATCHDOG_BASEADDR 0x50000000 |
166 | -#define XILINX_WATCHDOG_IRQ 1 | 607 | -#define XILINX_WATCHDOG_IRQ 1 |
167 | +/* Ethernet controller is soft_ethernet_mac */ | 608 | +#define XILINX_FLASH_START 0x48000000 |
168 | +#define XILINX_AXIEMAC_BASEADDR 0x50100000 | 609 | +#define XILINX_FLASH_SIZE 0x08000000 |
169 | +#define XILINX_AXIDMA_BASEADDR 0x50000000 | 610 | diff --git a/configs/microblaze-generic_defconfig b/configs/microblaze-generic_defconfig |
611 | index 21a7261..5f17daf 100644 | ||
612 | --- a/configs/microblaze-generic_defconfig | ||
613 | +++ b/configs/microblaze-generic_defconfig | ||
614 | @@ -7,8 +7,8 @@ CONFIG_SPL=y | ||
615 | CONFIG_FIT=y | ||
616 | CONFIG_FIT_VERBOSE=y | ||
617 | CONFIG_HUSH_PARSER=y | ||
618 | -CONFIG_SYS_PROMPT="U-Boot-mONStR> " | ||
619 | -CONFIG_CMD_GPIO=y | ||
620 | +CONFIG_SYS_PROMPT="U-Boot> " | ||
621 | +# CONFIG_CMD_GPIO is not set | ||
622 | # CONFIG_CMD_SETEXPR is not set | ||
623 | CONFIG_CMD_TFTPPUT=y | ||
624 | CONFIG_CMD_DHCP=y | ||
625 | @@ -19,5 +19,6 @@ CONFIG_NETCONSOLE=y | ||
626 | CONFIG_DM_ETH=y | ||
627 | CONFIG_XILINX_AXIEMAC=y | ||
628 | CONFIG_XILINX_EMACLITE=y | ||
629 | +CONFIG_NET_RANDOM_ETHADDR=y | ||
630 | CONFIG_SYS_NS16550=y | ||
631 | CONFIG_XILINX_UARTLITE=y | ||
170 | diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h | 632 | diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h |
171 | index e16965c..f463b83 100644 | 633 | index b424782..eb56f12 100644 |
172 | --- a/include/configs/microblaze-generic.h | 634 | --- a/include/configs/microblaze-generic.h |
173 | +++ b/include/configs/microblaze-generic.h | 635 | +++ b/include/configs/microblaze-generic.h |
174 | @@ -151,7 +151,7 @@ | 636 | @@ -91,7 +91,7 @@ |
175 | /* max number of memory banks */ | 637 | /* max number of memory banks */ |
176 | # define CONFIG_SYS_MAX_FLASH_BANKS 1 | 638 | # define CONFIG_SYS_MAX_FLASH_BANKS 1 |
177 | /* max number of sectors on one chip */ | 639 | /* max number of sectors on one chip */ |
@@ -180,36 +642,15 @@ index e16965c..f463b83 100644 | |||
180 | /* hardware flash protection */ | 642 | /* hardware flash protection */ |
181 | # define CONFIG_SYS_FLASH_PROTECTION | 643 | # define CONFIG_SYS_FLASH_PROTECTION |
182 | /* use buffered writes (20x faster) */ | 644 | /* use buffered writes (20x faster) */ |
183 | @@ -247,7 +247,9 @@ | 645 | @@ -161,6 +161,8 @@ |
184 | #define CONFIG_CMD_ASKENV | 646 | #define XILINX_DCACHE_BYTE_SIZE 32768 |
185 | #define CONFIG_CMD_IRQ | ||
186 | #define CONFIG_CMD_MFSL | ||
187 | -#define CONFIG_CMD_GPIO | ||
188 | +#ifdef CONFIG_XILINX_GPIO | ||
189 | +# define CONFIG_CMD_GPIO | ||
190 | +#endif | ||
191 | |||
192 | #if defined(CONFIG_DCACHE) || defined(CONFIG_ICACHE) | ||
193 | # define CONFIG_CMD_CACHE | ||
194 | @@ -317,7 +319,7 @@ | ||
195 | #endif | 647 | #endif |
196 | 648 | ||
197 | /* Miscellaneous configurable options */ | 649 | +#define CONFIG_SYS_BOOTM_LEN (60 * 1024 * 1024) |
198 | -#define CONFIG_SYS_PROMPT "U-Boot-mONStR> " | 650 | + |
199 | +#define CONFIG_SYS_PROMPT "U-Boot> " | 651 | /* |
200 | /* size of console buffer */ | 652 | * BOOTP options |
201 | #define CONFIG_SYS_CBSIZE 512 | 653 | */ |
202 | /* print buffer size */ | ||
203 | @@ -350,7 +352,8 @@ | ||
204 | "nc=setenv stdout nc;"\ | ||
205 | "setenv stdin nc\0" \ | ||
206 | "serial=setenv stdout serial;"\ | ||
207 | - "setenv stdin serial\0" | ||
208 | + "setenv stdin serial\0" \ | ||
209 | + "ethaddr=00:0a:35:00:01:22\0" | ||
210 | |||
211 | #define CONFIG_CMDLINE_EDITING | ||
212 | |||
213 | -- | 654 | -- |
214 | 2.6.4 | 655 | 2.7.0 |
215 | 656 | ||
diff --git a/recipes-bsp/u-boot/u-boot-xlnx_2015.07.bb b/recipes-bsp/u-boot/u-boot-xlnx_2016.01.bb index 25d50eb2..67c73da5 100644 --- a/recipes-bsp/u-boot/u-boot-xlnx_2015.07.bb +++ b/recipes-bsp/u-boot/u-boot-xlnx_2016.01.bb | |||
@@ -1,15 +1,11 @@ | |||
1 | include u-boot-xlnx.inc | 1 | include u-boot-xlnx.inc |
2 | include u-boot-spl-zynq-init.inc | 2 | include u-boot-spl-zynq-init.inc |
3 | 3 | ||
4 | # this matches u-boot-xlnx 'xilinx-v2015.4' release tag | 4 | # this matches u-boot-xlnx 'xilinx-v2016.?' release tag |
5 | SRCREV = "4942ae4d03ee4ef4b2dd750d441f730150ee9288" | 5 | SRCREV = "68b454fbd9f7ce10e87e736888ea54c1655ce025" |
6 | PV = "v2015.07${XILINX_EXTENSION}+git${SRCPV}" | 6 | PV = "v2016.01${XILINX_EXTENSION}+git${SRCPV}" |
7 | 7 | ||
8 | FILESEXTRAPATHS_prepend := "${THISDIR}/u-boot-xlnx:" | 8 | FILESEXTRAPATHS_prepend := "${THISDIR}/u-boot-xlnx:" |
9 | SRC_URI += " \ | ||
10 | file://0001-microblaze-Fix-style-issues-in-header-files.patch \ | ||
11 | file://0002-microblaze-Fix-C99-gnu99-compatiblity-for-inline-fun.patch \ | ||
12 | " | ||
13 | 9 | ||
14 | SRC_URI_append_kc705-trd-microblazeel = " file://microblaze-kc705-trd-Convert-microblaze-generic-to-k.patch" | 10 | SRC_URI_append_kc705-trd-microblazeel = " file://microblaze-kc705-trd-Convert-microblaze-generic-to-k.patch" |
15 | 11 | ||
@@ -21,11 +17,12 @@ UBOOT_ENV_zedboard-zynq7 = "uEnv" | |||
21 | SRC_URI_append_zc702-zynq7 = " file://uEnv.txt" | 17 | SRC_URI_append_zc702-zynq7 = " file://uEnv.txt" |
22 | SRC_URI_append_zedboard-zynq7 = " file://uEnv.txt" | 18 | SRC_URI_append_zedboard-zynq7 = " file://uEnv.txt" |
23 | 19 | ||
24 | # u-boot 2015.07 has support for these | 20 | # u-boot 2016.01 has support for these |
25 | HAS_PS7INIT ?= " \ | 21 | HAS_PS7INIT ?= " \ |
26 | zynq_microzed_config \ | 22 | zynq_microzed_config \ |
27 | zynq_zed_config \ | 23 | zynq_zed_config \ |
28 | zynq_zc702_config \ | 24 | zynq_zc702_config \ |
29 | zynq_zc706_config \ | 25 | zynq_zc706_config \ |
26 | zynq_zybo_config \ | ||
30 | " | 27 | " |
31 | 28 | ||