diff options
author | Nathan Rossi <nathan@nathanrossi.com> | 2016-01-06 16:42:29 +1000 |
---|---|---|
committer | Nathan Rossi <nathan@nathanrossi.com> | 2016-01-06 16:42:29 +1000 |
commit | 7cc6c1ab7a12e733840f3324e85df5572055bb7d (patch) | |
tree | 9c015e82f480dfbfd8f6d7aea6f21575b3cb9e62 | |
parent | eb87e56bcabd68e702686f3b93d054fcc62ad953 (diff) | |
download | meta-xilinx-7cc6c1ab7a12e733840f3324e85df5572055bb7d.tar.gz |
u-boot-xlnx_2015.07: Add support for 'kc705-trd-microblazeel' directly
Patch u-boot-xlnx to support kc705-trd-microblazeel by overriding
microblaze-generic. Only apply this patch when using the
kc705-trd-microblazeel machine.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
-rw-r--r-- | recipes-bsp/u-boot/u-boot-xlnx/microblaze-kc705-trd-Convert-microblaze-generic-to-k.patch | 215 | ||||
-rw-r--r-- | recipes-bsp/u-boot/u-boot-xlnx_2015.07.bb | 3 |
2 files changed, 217 insertions, 1 deletions
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 new file mode 100644 index 00000000..e9974f4f --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-xlnx/microblaze-kc705-trd-Convert-microblaze-generic-to-k.patch | |||
@@ -0,0 +1,215 @@ | |||
1 | From 0a6818050dcc711f36bd96decc7a2abba5871928 Mon Sep 17 00:00:00 2001 | ||
2 | From: Nathan Rossi <nathan@nathanrossi.com> | ||
3 | Date: Wed, 6 Jan 2016 15:40:17 +1000 | ||
4 | Subject: [PATCH] microblaze: kc705-trd: Convert microblaze-generic to | ||
5 | kc705-trd | ||
6 | |||
7 | Change the microblaze-generic board to match the kc705-trd. This patch | ||
8 | is not intended for upstream and serves as an intermediate solution | ||
9 | until OF support in upstream u-boot allows for easy support for custom | ||
10 | microblaze boards. | ||
11 | |||
12 | Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> | ||
13 | Upstream-Status: Not-Upstreamable [meta-xilinx/kc705 specific] | ||
14 | --- | ||
15 | arch/microblaze/dts/microblaze-generic.dts | 4 ++ | ||
16 | board/xilinx/microblaze-generic/config.mk | 23 +++---- | ||
17 | board/xilinx/microblaze-generic/xparameters.h | 86 ++++++++++----------------- | ||
18 | include/configs/microblaze-generic.h | 11 ++-- | ||
19 | 4 files changed, 52 insertions(+), 72 deletions(-) | ||
20 | |||
21 | diff --git a/arch/microblaze/dts/microblaze-generic.dts b/arch/microblaze/dts/microblaze-generic.dts | ||
22 | index 2033309..8c21cd3 100644 | ||
23 | --- a/arch/microblaze/dts/microblaze-generic.dts | ||
24 | +++ b/arch/microblaze/dts/microblaze-generic.dts | ||
25 | @@ -4,4 +4,8 @@ | ||
26 | #size-cells = <1>; | ||
27 | aliases { | ||
28 | } ; | ||
29 | + memory: memory@80000000 { | ||
30 | + device_type = "memory"; | ||
31 | + reg = <0x80000000 0x40000000>; | ||
32 | + } ; | ||
33 | } ; | ||
34 | diff --git a/board/xilinx/microblaze-generic/config.mk b/board/xilinx/microblaze-generic/config.mk | ||
35 | index 36bdd96..25e97de 100644 | ||
36 | --- a/board/xilinx/microblaze-generic/config.mk | ||
37 | +++ b/board/xilinx/microblaze-generic/config.mk | ||
38 | @@ -1,18 +1,11 @@ | ||
39 | -# | ||
40 | -# (C) Copyright 2007 Michal Simek | ||
41 | -# | ||
42 | -# Michal SIMEK <monstr@monstr.eu> | ||
43 | -# | ||
44 | # SPDX-License-Identifier: GPL-2.0+ | ||
45 | -# | ||
46 | -# CAUTION: This file is a faked configuration !!! | ||
47 | -# There is no real target for the microblaze-generic | ||
48 | -# configuration. You have to replace this file with | ||
49 | -# the generated file from your Xilinx design flow. | ||
50 | -# | ||
51 | |||
52 | -CONFIG_SYS_TEXT_BASE = 0x29000000 | ||
53 | +CONFIG_SYS_TEXT_BASE = 0xbfc00000 | ||
54 | |||
55 | -PLATFORM_CPPFLAGS += -mno-xl-soft-mul | ||
56 | -PLATFORM_CPPFLAGS += -mno-xl-soft-div | ||
57 | -PLATFORM_CPPFLAGS += -mxl-barrel-shift | ||
58 | +PLATFORM_CCPFLAGS += -mlittle-endian | ||
59 | +PLATFORM_CCPFLAGS += -mcpu=v8.50.a | ||
60 | +PLATFORM_CCPFLAGS += -mxl-barrel-shift | ||
61 | +PLATFORM_CCPFLAGS += -mno-xl-soft-mul | ||
62 | +PLATFORM_CCPFLAGS += -mxl-soft-div | ||
63 | +PLATFORM_CCPFLAGS += -mxl-pattern-compare | ||
64 | +PLATFORM_CCPFLAGS += -mxl-reorder | ||
65 | diff --git a/board/xilinx/microblaze-generic/xparameters.h b/board/xilinx/microblaze-generic/xparameters.h | ||
66 | index d6d0d67..f539044 100644 | ||
67 | --- a/board/xilinx/microblaze-generic/xparameters.h | ||
68 | +++ b/board/xilinx/microblaze-generic/xparameters.h | ||
69 | @@ -1,67 +1,47 @@ | ||
70 | -/* | ||
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 */ | ||
89 | #define XILINX_USE_MSR_INSTR 1 | ||
90 | -#define XILINX_FSL_NUMBER 3 | ||
91 | +#define XILINX_PVR 2 | ||
92 | +#define XILINX_FSL_NUMBER 0 | ||
93 | +#define XILINX_USE_ICACHE 1 | ||
94 | +#define XILINX_USE_DCACHE 1 | ||
95 | +#define XILINX_DCACHE_BYTE_SIZE 8192 | ||
96 | |||
97 | -/* Interrupt controller is opb_intc_0 */ | ||
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 | ||
135 | -#define XILINX_FLASH_SIZE 0x00800000 | ||
136 | +/* GPIO doesn't exist */ | ||
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 */ | ||
165 | -#define XILINX_WATCHDOG_BASEADDR 0x50000000 | ||
166 | -#define XILINX_WATCHDOG_IRQ 1 | ||
167 | +/* Ethernet controller is soft_ethernet_mac */ | ||
168 | +#define XILINX_AXIEMAC_BASEADDR 0x50100000 | ||
169 | +#define XILINX_AXIDMA_BASEADDR 0x50000000 | ||
170 | diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h | ||
171 | index e16965c..f463b83 100644 | ||
172 | --- a/include/configs/microblaze-generic.h | ||
173 | +++ b/include/configs/microblaze-generic.h | ||
174 | @@ -151,7 +151,7 @@ | ||
175 | /* max number of memory banks */ | ||
176 | # define CONFIG_SYS_MAX_FLASH_BANKS 1 | ||
177 | /* max number of sectors on one chip */ | ||
178 | -# define CONFIG_SYS_MAX_FLASH_SECT 512 | ||
179 | +# define CONFIG_SYS_MAX_FLASH_SECT 2048 | ||
180 | /* hardware flash protection */ | ||
181 | # define CONFIG_SYS_FLASH_PROTECTION | ||
182 | /* use buffered writes (20x faster) */ | ||
183 | @@ -247,7 +247,9 @@ | ||
184 | #define CONFIG_CMD_ASKENV | ||
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 | ||
196 | |||
197 | /* Miscellaneous configurable options */ | ||
198 | -#define CONFIG_SYS_PROMPT "U-Boot-mONStR> " | ||
199 | +#define CONFIG_SYS_PROMPT "U-Boot> " | ||
200 | /* size of console buffer */ | ||
201 | #define CONFIG_SYS_CBSIZE 512 | ||
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 | -- | ||
214 | 2.6.4 | ||
215 | |||
diff --git a/recipes-bsp/u-boot/u-boot-xlnx_2015.07.bb b/recipes-bsp/u-boot/u-boot-xlnx_2015.07.bb index d22a806d..25d50eb2 100644 --- a/recipes-bsp/u-boot/u-boot-xlnx_2015.07.bb +++ b/recipes-bsp/u-boot/u-boot-xlnx_2015.07.bb | |||
@@ -1,5 +1,4 @@ | |||
1 | include u-boot-xlnx.inc | 1 | include u-boot-xlnx.inc |
2 | include u-boot-extra.inc | ||
3 | include u-boot-spl-zynq-init.inc | 2 | include u-boot-spl-zynq-init.inc |
4 | 3 | ||
5 | # this matches u-boot-xlnx 'xilinx-v2015.4' release tag | 4 | # this matches u-boot-xlnx 'xilinx-v2015.4' release tag |
@@ -12,6 +11,8 @@ SRC_URI += " \ | |||
12 | file://0002-microblaze-Fix-C99-gnu99-compatiblity-for-inline-fun.patch \ | 11 | file://0002-microblaze-Fix-C99-gnu99-compatiblity-for-inline-fun.patch \ |
13 | " | 12 | " |
14 | 13 | ||
14 | SRC_URI_append_kc705-trd-microblazeel = " file://microblaze-kc705-trd-Convert-microblaze-generic-to-k.patch" | ||
15 | |||
15 | LIC_FILES_CHKSUM = "file://README;beginline=1;endline=6;md5=157ab8408beab40cd8ce1dc69f702a6c" | 16 | LIC_FILES_CHKSUM = "file://README;beginline=1;endline=6;md5=157ab8408beab40cd8ce1dc69f702a6c" |
16 | 17 | ||
17 | UBOOT_ENV_zc702-zynq7 = "uEnv" | 18 | UBOOT_ENV_zc702-zynq7 = "uEnv" |