summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Rossi <nathan@nathanrossi.com>2016-01-06 16:42:29 +1000
committerNathan Rossi <nathan@nathanrossi.com>2016-01-06 16:42:29 +1000
commit7cc6c1ab7a12e733840f3324e85df5572055bb7d (patch)
tree9c015e82f480dfbfd8f6d7aea6f21575b3cb9e62
parenteb87e56bcabd68e702686f3b93d054fcc62ad953 (diff)
downloadmeta-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.patch215
-rw-r--r--recipes-bsp/u-boot/u-boot-xlnx_2015.07.bb3
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 @@
1From 0a6818050dcc711f36bd96decc7a2abba5871928 Mon Sep 17 00:00:00 2001
2From: Nathan Rossi <nathan@nathanrossi.com>
3Date: Wed, 6 Jan 2016 15:40:17 +1000
4Subject: [PATCH] microblaze: kc705-trd: Convert microblaze-generic to
5 kc705-trd
6
7Change the microblaze-generic board to match the kc705-trd. This patch
8is not intended for upstream and serves as an intermediate solution
9until OF support in upstream u-boot allows for easy support for custom
10microblaze boards.
11
12Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
13Upstream-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
21diff --git a/arch/microblaze/dts/microblaze-generic.dts b/arch/microblaze/dts/microblaze-generic.dts
22index 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 } ;
34diff --git a/board/xilinx/microblaze-generic/config.mk b/board/xilinx/microblaze-generic/config.mk
35index 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
65diff --git a/board/xilinx/microblaze-generic/xparameters.h b/board/xilinx/microblaze-generic/xparameters.h
66index 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
170diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h
171index 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--
2142.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 @@
1include u-boot-xlnx.inc 1include u-boot-xlnx.inc
2include u-boot-extra.inc
3include u-boot-spl-zynq-init.inc 2include 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
14SRC_URI_append_kc705-trd-microblazeel = " file://microblaze-kc705-trd-Convert-microblaze-generic-to-k.patch"
15
15LIC_FILES_CHKSUM = "file://README;beginline=1;endline=6;md5=157ab8408beab40cd8ce1dc69f702a6c" 16LIC_FILES_CHKSUM = "file://README;beginline=1;endline=6;md5=157ab8408beab40cd8ce1dc69f702a6c"
16 17
17UBOOT_ENV_zc702-zynq7 = "uEnv" 18UBOOT_ENV_zc702-zynq7 = "uEnv"