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" |
