[meta-xilinx] [PATCH 1/5] u-boot-xlnx_2015.07: Add support for 'kc705-trd-microblazeel' directly

Nathan Rossi nathan at nathanrossi.com
Wed Jan 6 05:19:38 PST 2016


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 at nathanrossi.com>
---
 ...kc705-trd-Convert-microblaze-generic-to-k.patch | 215 +++++++++++++++++++++
 recipes-bsp/u-boot/u-boot-xlnx_2015.07.bb          |   3 +-
 2 files changed, 217 insertions(+), 1 deletion(-)
 create mode 100644 recipes-bsp/u-boot/u-boot-xlnx/microblaze-kc705-trd-Convert-microblaze-generic-to-k.patch

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 0000000..e9974f4
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-xlnx/microblaze-kc705-trd-Convert-microblaze-generic-to-k.patch
@@ -0,0 +1,215 @@
+From 0a6818050dcc711f36bd96decc7a2abba5871928 Mon Sep 17 00:00:00 2001
+From: Nathan Rossi <nathan at nathanrossi.com>
+Date: Wed, 6 Jan 2016 15:40:17 +1000
+Subject: [PATCH] microblaze: kc705-trd: Convert microblaze-generic to
+ kc705-trd
+
+Change the microblaze-generic board to match the kc705-trd. This patch
+is not intended for upstream and serves as an intermediate solution
+until OF support in upstream u-boot allows for easy support for custom
+microblaze boards.
+
+Signed-off-by: Nathan Rossi <nathan at nathanrossi.com>
+Upstream-Status: Not-Upstreamable [meta-xilinx/kc705 specific]
+---
+ arch/microblaze/dts/microblaze-generic.dts    |  4 ++
+ board/xilinx/microblaze-generic/config.mk     | 23 +++----
+ board/xilinx/microblaze-generic/xparameters.h | 86 ++++++++++-----------------
+ include/configs/microblaze-generic.h          | 11 ++--
+ 4 files changed, 52 insertions(+), 72 deletions(-)
+
+diff --git a/arch/microblaze/dts/microblaze-generic.dts b/arch/microblaze/dts/microblaze-generic.dts
+index 2033309..8c21cd3 100644
+--- a/arch/microblaze/dts/microblaze-generic.dts
++++ b/arch/microblaze/dts/microblaze-generic.dts
+@@ -4,4 +4,8 @@
+ 	#size-cells = <1>;
+ 	aliases {
+ 	} ;
++	memory: memory at 80000000 {
++		device_type = "memory";
++		reg = <0x80000000 0x40000000>;
++	} ;
+ } ;
+diff --git a/board/xilinx/microblaze-generic/config.mk b/board/xilinx/microblaze-generic/config.mk
+index 36bdd96..25e97de 100644
+--- a/board/xilinx/microblaze-generic/config.mk
++++ b/board/xilinx/microblaze-generic/config.mk
+@@ -1,18 +1,11 @@
+-#
+-# (C) Copyright 2007 Michal Simek
+-#
+-# Michal  SIMEK <monstr at monstr.eu>
+-#
+ # SPDX-License-Identifier:	GPL-2.0+
+-#
+-# CAUTION: This file is a faked configuration !!!
+-#          There is no real target for the microblaze-generic
+-#          configuration. You have to replace this file with
+-#          the generated file from your Xilinx design flow.
+-#
+ 
+-CONFIG_SYS_TEXT_BASE = 0x29000000
++CONFIG_SYS_TEXT_BASE = 0xbfc00000
+ 
+-PLATFORM_CPPFLAGS += -mno-xl-soft-mul
+-PLATFORM_CPPFLAGS += -mno-xl-soft-div
+-PLATFORM_CPPFLAGS += -mxl-barrel-shift
++PLATFORM_CCPFLAGS += -mlittle-endian
++PLATFORM_CCPFLAGS += -mcpu=v8.50.a
++PLATFORM_CCPFLAGS += -mxl-barrel-shift
++PLATFORM_CCPFLAGS += -mno-xl-soft-mul
++PLATFORM_CCPFLAGS += -mxl-soft-div
++PLATFORM_CCPFLAGS += -mxl-pattern-compare
++PLATFORM_CCPFLAGS += -mxl-reorder
+diff --git a/board/xilinx/microblaze-generic/xparameters.h b/board/xilinx/microblaze-generic/xparameters.h
+index d6d0d67..f539044 100644
+--- a/board/xilinx/microblaze-generic/xparameters.h
++++ b/board/xilinx/microblaze-generic/xparameters.h
+@@ -1,67 +1,47 @@
+-/*
+- * (C) Copyright 2007 Michal Simek
+- *
+- * Michal  SIMEK <monstr at monstr.eu>
+- *
+- * SPDX-License-Identifier:	GPL-2.0+
+- *
+- * CAUTION: This file is a faked configuration !!!
+- *          There is no real target for the microblaze-generic
+- *          configuration. You have to replace this file with
+- *          the generated file from your Xilinx design flow.
+- */
+-
+-#define XILINX_BOARD_NAME	microblaze-generic
+-
+-/* System Clock Frequency */
+-#define XILINX_CLOCK_FREQ	100000000
+-
+ /* Microblaze is microblaze_0 */
+ #define XILINX_USE_MSR_INSTR	1
+-#define XILINX_FSL_NUMBER	3
++#define XILINX_PVR		2
++#define XILINX_FSL_NUMBER	0
++#define XILINX_USE_ICACHE	1
++#define XILINX_USE_DCACHE	1
++#define XILINX_DCACHE_BYTE_SIZE	8192
+ 
+-/* Interrupt controller is opb_intc_0 */
+-#define XILINX_INTC_BASEADDR	0x41200000
+-#define XILINX_INTC_NUM_INTR_INPUTS	6
++/* Interrupt controller is interrupt_cntlr */
++#define XILINX_INTC_BASEADDR		0x40100000
++#define XILINX_INTC_NUM_INTR_INPUTS	8
+ 
+-/* Timer pheriphery is opb_timer_1 */
+-#define XILINX_TIMER_BASEADDR	0x41c00000
+-#define XILINX_TIMER_IRQ	0
++/* Timer pheriphery is dual_timer_counter */
++#define XILINX_TIMER_BASEADDR	0x40300000
++#define XILINX_TIMER_IRQ	3
+ 
+-/* Uart pheriphery is RS232_Uart */
+-#define XILINX_UARTLITE_BASEADDR	0x40600000
+-#define XILINX_UARTLITE_BAUDRATE	115200
++/* System Timer Clock Frequency */
++#define XILINX_CLOCK_FREQ	100000000
++
++/* Uart console is rs232_uart_1 */
++#define XILINX_UART16550
++#define XILINX_UART16550_BASEADDR	0x40400000
++#define XILINX_UART16550_CLOCK_HZ	100000000
++#define CONFIG_CONS_INDEX		1
+ 
+-/* IIC pheriphery is IIC_EEPROM */
+-#define XILINX_IIC_0_BASEADDR	0x40800000
++/* IIC pheriphery is iic_eeprom */
++#define XILINX_IIC_0_BASEADDR	0x40a00000
+ #define XILINX_IIC_0_FREQ	100000
+ #define XILINX_IIC_0_BIT	0
+ 
+-/* GPIO is LEDs_4Bit*/
+-#define XILINX_GPIO_BASEADDR	0x40000000
+-
+-/* Flash Memory is FLASH_2Mx32 */
+-#define XILINX_FLASH_START	0x2c000000
+-#define XILINX_FLASH_SIZE	0x00800000
++/* GPIO doesn't exist */
+ 
+-/* Main Memory is DDR_SDRAM_64Mx32 */
+-#define XILINX_RAM_START	0x28000000
+-#define XILINX_RAM_SIZE	0x04000000
++/* SDIO doesn't exist */
+ 
+-/* Sysace Controller is SysACE_CompactFlash */
+-#define XILINX_SYSACE_BASEADDR	0x41800000
+-#define XILINX_SYSACE_HIGHADDR	0x4180ffff
+-#define XILINX_SYSACE_MEM_WIDTH	16
++/* Main Memory is ddr3_sdram */
++#define XILINX_RAM_START	0x80000000
++#define XILINX_RAM_SIZE		0x40000000
+ 
+-/* Ethernet controller is Ethernet_MAC */
+-#define XILINX_EMACLITE_BASEADDR       0x40C00000
++/* Flash Memory is linear_flash */
++#define XILINX_FLASH_START	0x48000000
++#define XILINX_FLASH_SIZE	0x08000000
+ 
+-/* LL_TEMAC Ethernet controller */
+-#define XILINX_LLTEMAC_BASEADDR			0x44000000
+-#define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR	0x42000180
+-#define XILINX_LLTEMAC_BASEADDR1		0x44200000
+-#define XILINX_LLTEMAC_FIFO_BASEADDR1		0x42100000
++/* Sysace doesn't exist */
+ 
+-/* Watchdog IP is wxi_timebase_wdt_0 */
+-#define XILINX_WATCHDOG_BASEADDR	0x50000000
+-#define XILINX_WATCHDOG_IRQ		1
++/* Ethernet controller is soft_ethernet_mac */
++#define XILINX_AXIEMAC_BASEADDR			0x50100000
++#define XILINX_AXIDMA_BASEADDR			0x50000000
+diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h
+index e16965c..f463b83 100644
+--- a/include/configs/microblaze-generic.h
++++ b/include/configs/microblaze-generic.h
+@@ -151,7 +151,7 @@
+ /* max number of memory banks */
+ # define CONFIG_SYS_MAX_FLASH_BANKS	1
+ /* max number of sectors on one chip */
+-# define CONFIG_SYS_MAX_FLASH_SECT	512
++# define CONFIG_SYS_MAX_FLASH_SECT	2048
+ /* hardware flash protection */
+ # define CONFIG_SYS_FLASH_PROTECTION
+ /* use buffered writes (20x faster) */
+@@ -247,7 +247,9 @@
+ #define CONFIG_CMD_ASKENV
+ #define CONFIG_CMD_IRQ
+ #define CONFIG_CMD_MFSL
+-#define CONFIG_CMD_GPIO
++#ifdef CONFIG_XILINX_GPIO
++# define CONFIG_CMD_GPIO
++#endif
+ 
+ #if defined(CONFIG_DCACHE) || defined(CONFIG_ICACHE)
+ # define CONFIG_CMD_CACHE
+@@ -317,7 +319,7 @@
+ #endif
+ 
+ /* Miscellaneous configurable options */
+-#define	CONFIG_SYS_PROMPT	"U-Boot-mONStR> "
++#define	CONFIG_SYS_PROMPT	"U-Boot> "
+ /* size of console buffer */
+ #define	CONFIG_SYS_CBSIZE	512
+  /* print buffer size */
+@@ -350,7 +352,8 @@
+ 					"nc=setenv stdout nc;"\
+ 					"setenv stdin nc\0" \
+ 					"serial=setenv stdout serial;"\
+-					"setenv stdin serial\0"
++					"setenv stdin serial\0" \
++					"ethaddr=00:0a:35:00:01:22\0"
+ 
+ #define CONFIG_CMDLINE_EDITING
+ 
+-- 
+2.6.4
+
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 d22a806..25d50eb 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 @@
 include u-boot-xlnx.inc
-include u-boot-extra.inc
 include u-boot-spl-zynq-init.inc
 
 # this matches u-boot-xlnx 'xilinx-v2015.4' release tag
@@ -12,6 +11,8 @@ SRC_URI += " \
 		file://0002-microblaze-Fix-C99-gnu99-compatiblity-for-inline-fun.patch \
 		"
 
+SRC_URI_append_kc705-trd-microblazeel = " file://microblaze-kc705-trd-Convert-microblaze-generic-to-k.patch"
+
 LIC_FILES_CHKSUM = "file://README;beginline=1;endline=6;md5=157ab8408beab40cd8ce1dc69f702a6c"
 
 UBOOT_ENV_zc702-zynq7 = "uEnv"
-- 
2.6.4




More information about the meta-xilinx mailing list