arm64: Add Xilinx ZynqMP support
Subsystems (2)
PATCH 1/1 arm64: Add Xilinx ZynqMP support
Add basic Xilinx ZynqMP arm64 support.
Serial and SD is supported.
It supports emulation platfrom ep108 and QEMU.
---
MAINTAINERS | 6 ++ arch/arm/Kconfig | 5 + arch/arm/cpu/armv8/Makefile | 1 + arch/arm/cpu/armv8/zynqmp/Makefile | 9 ++ arch/arm/cpu/armv8/zynqmp/clk.c | 49 ++++++++++ arch/arm/cpu/armv8/zynqmp/cpu.c | 28 ++++++ arch/arm/include/asm/arch-zynqmp/clk.h | 13 +++ arch/arm/include/asm/arch-zynqmp/hardware.h | 52 +++++++++++ arch/arm/include/asm/arch-zynqmp/sys_proto.h | 15 +++ board/xilinx/zynqmp/Kconfig | 15 +++ board/xilinx/zynqmp/MAINTAINERS | 6 ++ board/xilinx/zynqmp/Makefile | 8 ++ board/xilinx/zynqmp/zynqmp.c | 90 ++++++++++++++++++ configs/xilinx_zynqmp_defconfig | 14 +++ include/configs/xilinx_zynqmp.h | 134 +++++++++++++++++++++++++++ 15 files changed, 445 insertions(+) create mode 100644 arch/arm/cpu/armv8/zynqmp/Makefile create mode 100644 arch/arm/cpu/armv8/zynqmp/clk.c create mode 100644 arch/arm/cpu/armv8/zynqmp/cpu.c create mode 100644 arch/arm/include/asm/arch-zynqmp/clk.h create mode 100644 arch/arm/include/asm/arch-zynqmp/hardware.h create mode 100644 arch/arm/include/asm/arch-zynqmp/sys_proto.h create mode 100644 board/xilinx/zynqmp/Kconfig create mode 100644 board/xilinx/zynqmp/MAINTAINERS create mode 100644 board/xilinx/zynqmp/Makefile create mode 100644 board/xilinx/zynqmp/zynqmp.c create mode 100644 configs/xilinx_zynqmp_defconfig create mode 100644 include/configs/xilinx_zynqmp.h
MAINTAINERS +6 -0
@@ -173,6 +173,12 @@ S: Maintained F: arch/arm/cpu/armv7/zynq/ F: arch/arm/include/asm/arch-zynq/ +ARM ZYNQMP +M: Michal Simek <[email protected]> +S: Maintained +F: arch/arm/cpu/armv8/zynqmp/ +F: arch/arm/include/asm/arch-zynqmp/ + AVR32 M: Andreas Bie?mann <[email protected]> S: Maintained
arch/arm/Kconfig +5 -0
@@ -616,6 +616,10 @@ config ZYNQ select CPU_V7 select SUPPORT_SPL +config TARGET_XILINX_ZYNQMP + bool "Support Xilinx ZynqMP Platform" + select ARM64 + config TEGRA bool "NVIDIA Tegra" select SUPPORT_SPL
@@ -871,6 +875,7 @@ source "board/vpac270/Kconfig" source "board/wandboard/Kconfig" source "board/woodburn/Kconfig" source "board/xaeniax/Kconfig" +source "board/xilinx/zynqmp/Kconfig" source "board/zipitz2/Kconfig" source "arch/arm/Kconfig.debug"
arch/arm/cpu/armv8/Makefile +1 -0
@@ -16,3 +16,4 @@ obj-y += tlb.o obj-y += transition.o obj-$(CONFIG_FSL_LSCH3) += fsl-lsch3/ +obj-$(CONFIG_TARGET_XILINX_ZYNQMP) += zynqmp/
arch/arm/cpu/armv8/zynqmp/Makefile new file +9 -0
@@ -0,0 +1,9 @@ +# +# (C) Copyright 2014 - 2015 Xilinx, Inc. +# Michal Simek <[email protected]> +# +# SPDX-License-Identifier: GPL-2.0+ +# + +obj-y += clk.o +obj-y += cpu.o
arch/arm/cpu/armv8/zynqmp/clk.c new file +49 -0
49 lines not on this page · raw message
arch/arm/cpu/armv8/zynqmp/cpu.c new file +28 -0
@@ -0,0 +1,28 @@ +/* +* (C) Copyright 2014 - 2015 Xilinx, Inc. +* Michal Simek <[email protected]> +* +* SPDX-License-Identifier: GPL-2.0+ +*/ + +#include <common.h> +#include <asm/arch/hardware.h> +#include <asm/arch/sys_proto.h> +#include <asm/io.h> + +#define ZYNQ_SILICON_VER_MASK 0xF000 +#define ZYNQ_SILICON_VER_SHIFT 12 + +DECLARE_GLOBAL_DATA_PTR ; + +unsigned int zynqmp_get_silicon_version (void ) +{ + gd->cpu_clk =get_tbclk (); + +switch (gd->cpu_clk) { +case 50000000 : +return ZYNQMP_CSU_VERSION_QEMU ; + } + +return ZYNQMP_CSU_VERSION_EP108 ; +}
arch/arm/include/asm/arch-zynqmp/clk.h new file +13 -0
@@ -0,0 +1,13 @@ +/* +* (C) Copyright 2014 - 2015 Xilinx, Inc. +* Michal Simek <[email protected]> +* +* SPDX-License-Identifier: GPL-2.0+ +*/ + +#ifndef _ASM_ARCH_CLK_H_ +#define _ASM_ARCH_CLK_H_ + +unsigned long get_uart_clk (int dev_id); + +#endif /* _ASM_ARCH_CLK_H_ */
arch/arm/include/asm/arch-zynqmp/hardware.h new file +52 -0
52 lines not on this page · raw message
arch/arm/include/asm/arch-zynqmp/sys_proto.h new file +15 -0
@@ -0,0 +1,15 @@ +/* +* (C) Copyright 2014 - 2015 Xilinx, Inc. +* Michal Simek <[email protected]> +* +* SPDX-License-Identifier: GPL-2.0+ +*/ + +#ifndef _ASM_ARCH_SYS_PROTO_H +#define _ASM_ARCH_SYS_PROTO_H + +int zynq_sdhci_init (unsigned long regbase); + +unsigned int zynqmp_get_silicon_version (void ); + +#endif /* _ASM_ARCH_SYS_PROTO_H */
board/xilinx/zynqmp/Kconfig new file +15 -0
@@ -0,0 +1,15 @@ +if TARGET_XILINX_ZYNQMP + +config SYS_BOARD + default "zynqmp" + +config SYS_VENDOR + default "xilinx" + +config SYS_SOC + default "zynqmp" + +config SYS_CONFIG_NAME + default "xilinx_zynqmp" + +endif
board/xilinx/zynqmp/MAINTAINERS new file +6 -0
@@ -0,0 +1,6 @@ +XILINX_ZYNQMP BOARD +M: Michal Simek <[email protected]> +S: Maintained +F: board/xilinx/zynqmp/ +F: include/configs/xilinx_zynqmp.h +F: configs/xilinx_zynqmp_defconfig
board/xilinx/zynqmp/Makefile new file +8 -0
@@ -0,0 +1,8 @@ +# +# (C) Copyright 2014 - 2015 Xilinx, Inc. +# Michal Simek <[email protected]> +# +# SPDX-License-Identifier: GPL-2.0+ +# + +obj-y := zynqmp.o
board/xilinx/zynqmp/zynqmp.c new file +90 -0
90 lines not on this page · raw message
configs/xilinx_zynqmp_defconfig new file +14 -0
@@ -0,0 +1,14 @@ +CONFIG_ARM=y +CONFIG_TARGET_XILINX_ZYNQMP=y +CONFIG_CMD_BDI=y +CONFIG_CMD_BOOTD=y +CONFIG_CMD_RUN=y +CONFIG_CMD_IMI=y +CONFIG_CMD_SAVEENV=y +CONFIG_CMD_FLASH=y +CONFIG_CMD_ECHO=y +CONFIG_CMD_SOURCE=y +CONFIG_CMD_TIME=y +CONFIG_CMD_MISC=y +CONFIG_CMD_TIMER=y +CONFIG_DEFAULT_DEVICE_TREE="zynqmp"
include/configs/xilinx_zynqmp.h new file +134 -0
134 lines not on this page · raw message
Signature · 1 line
1.8.2.3
PATCH 1/1 arm64: Add Xilinx ZynqMP support
Hi,
Quoted 27 lines · Michal Simek
Add basic Xilinx ZynqMP arm64 support.
Serial and SD is supported.
It supports emulation platfrom ep108 and QEMU.Signed-off-by Michal Simek <[email protected]>---
MAINTAINERS | 6 ++ arch/arm/Kconfig | 5 + arch/arm/cpu/armv8/Makefile | 1 + arch/arm/cpu/armv8/zynqmp/Makefile | 9 ++ arch/arm/cpu/armv8/zynqmp/clk.c | 49 ++++++++++ arch/arm/cpu/armv8/zynqmp/cpu.c | 28 ++++++ arch/arm/include/asm/arch-zynqmp/clk.h | 13 +++ arch/arm/include/asm/arch-zynqmp/hardware.h | 52 +++++++++++ arch/arm/include/asm/arch-zynqmp/sys_proto.h | 15 +++ board/xilinx/zynqmp/Kconfig | 15 +++ board/xilinx/zynqmp/MAINTAINERS | 6 ++ board/xilinx/zynqmp/Makefile | 8 ++ board/xilinx/zynqmp/zynqmp.c | 90 ++++++++++++++++++ configs/xilinx_zynqmp_defconfig | 14 +++ include/configs/xilinx_zynqmp.h | 134 +++++++++++++++++++++++++++ 15 files changed, 445 insertions(+) create mode 100644 arch/arm/cpu/armv8/zynqmp/Makefile create mode 100644 arch/arm/cpu/armv8/zynqmp/clk.c create mode 100644 arch/arm/cpu/armv8/zynqmp/cpu.c create mode 100644 arch/arm/include/asm/arch-zynqmp/clk.h
Quoted 8 lines
create mode 100644 arch/arm/include/asm/arch-zynqmp/hardware.h create mode 100644 arch/arm/include/asm/arch-zynqmp/sys_proto.h create mode 100644 board/xilinx/zynqmp/Kconfig create mode 100644 board/xilinx/zynqmp/MAINTAINERS create mode 100644 board/xilinx/zynqmp/Makefile create mode 100644 board/xilinx/zynqmp/zynqmp.c create mode 100644 configs/xilinx_zynqmp_defconfig create mode 100644 include/configs/xilinx_zynqmp.h
Any comment on this one?
Thanks,
Michal
Signature · 14 lines
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91 w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/ Maintainer of Linux kernel - Xilinx Zynq ARM architecture Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: OpenPGP digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150227/61a5a94d/attachment.sig>
PATCH 1/1 arm64: Add Xilinx ZynqMP support
In reply to Michal SimekQuoted 5 lines · Michal Simek
Add basic Xilinx ZynqMP arm64 support.
Serial and SD is supported.
It supports emulation platfrom ep108 and QEMU.Signed-off-by Michal Simek <[email protected]>
[snip]
include/configs/xilinx_zynqmp.h line 90
Quoted 6 lines
include/configs/xilinx_zynqmp.h new file +6
-0+/* Miscellaneous configurable options */ +#define CONFIG_SYS_LOAD_ADDR 0x8000000 + +/* Initial environment variables */ +#define CONFIG_EXTRA_ENV_SETTINGS \ + "ethaddr=00:0a:35:00:01:22\0" \
No, you can't hard-code an ethaddr in.
include/configs/xilinx_zynqmp.h line 93
Quoted 3 lines
include/configs/xilinx_zynqmp.h new file +3
-0+"kernel_addr=0x200000\0" \ +"initrd_addr=0xa00000\0" \ +"initrd_size=0x2000000\0" \
These are really close together. And I imagine mirror the usual values on 32bit platforms. Maybe it's time to move them around a bit for more space?
include/configs/xilinx_zynqmp.h line 95
Quoted 2 lines
include/configs/xilinx_zynqmp.h new file +2
-0+"fdt_addr=0x100000\0" \ +"fdt_high=0x10000000\0" \
We also shouldn't have to play "stop relocating the DT" games on aarch64, right? Since all memory is visible and that's why we have to do those games on aarch32.
include/configs/xilinx_zynqmp.h line 97
Quoted 2 lines
include/configs/xilinx_zynqmp.h new file +2
-0+"sdboot=mmcinfo && fatload mmc 0:0 f000000 system.dtb && " \ +"fatload mmc 0:0 f000000 Image && booti 80000 - f000000\0"
You aren't using $fdt_addr/$kernel_addr here and probably should?
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150227/928ffc58/attachment.sig>
PATCH 1/1 arm64: Add Xilinx ZynqMP support
Quoted 8 lines · Tom Rini
Quoted 5 lines · Michal Simek
Add basic Xilinx ZynqMP arm64 support.
Serial and SD is supported.
It supports emulation platfrom ep108 and QEMU.Signed-off-by Michal Simek <[email protected]>[snip]
Quoted 8 lines
include/configs/xilinx_zynqmp.h line 90
Quoted 6 lines
include/configs/xilinx_zynqmp.h new file +6
-0+/* Miscellaneous configurable options */ +#define CONFIG_SYS_LOAD_ADDR 0x8000000 + +/* Initial environment variables */ +#define CONFIG_EXTRA_ENV_SETTINGS \ + "ethaddr=00:0a:35:00:01:22\0" \No, you can't hard-code an ethaddr in.
ah yeah.
Quoted 8 lines
include/configs/xilinx_zynqmp.h line 93
Quoted 4 lines
include/configs/xilinx_zynqmp.h new file +3
-0+"kernel_addr=0x200000\0" \ +"initrd_addr=0xa00000\0" \ +"initrd_size=0x2000000\0" \These are really close together. And I imagine mirror the usual values on 32bit platforms. Maybe it's time to move them around a bit for more space?
Currently I haven't had any problem with these values but I just don't know what will happen in future.
Quoted 7 lines
include/configs/xilinx_zynqmp.h line 95
Quoted 3 lines
include/configs/xilinx_zynqmp.h new file +2
-0+"fdt_addr=0x100000\0" \ +"fdt_high=0x10000000\0" \We also shouldn't have to play "stop relocating the DT" games on aarch64, right? Since all memory is visible and that's why we have to do those games on aarch32.
Will play with it to confirm it.
Quoted 4 lines
include/configs/xilinx_zynqmp.h line 97
Quoted 2 lines
include/configs/xilinx_zynqmp.h new file +2
-0+"sdboot=mmcinfo && fatload mmc 0:0 f000000 system.dtb && " \ +"fatload mmc 0:0 f000000 Image && booti 80000 - f000000\0" You aren't using $fdt_addr/$kernel_addr here and probably should?
yes. I have this patch in my repo - will update and send v2.
Thanks,
Michal
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150302/794c6a1f/attachment.sig>
A message that is not in the archive (sent off-list or not yet received): [email protected]
PATCH 1/1 arm64: Add Xilinx ZynqMP support
Quoted 33 lines · Michal Simek
Quoted 8 lines · Tom Rini
Quoted 5 lines · Michal Simek
Add basic Xilinx ZynqMP arm64 support.
Serial and SD is supported.
It supports emulation platfrom ep108 and QEMU.Signed-off-by Michal Simek <[email protected]>[snip]
Quoted 8 lines
include/configs/xilinx_zynqmp.h line 90
Quoted 6 lines
include/configs/xilinx_zynqmp.h new file +6
-0+/* Miscellaneous configurable options */ +#define CONFIG_SYS_LOAD_ADDR 0x8000000 + +/* Initial environment variables */ +#define CONFIG_EXTRA_ENV_SETTINGS \ + "ethaddr=00:0a:35:00:01:22\0" \No, you can't hard-code an ethaddr in.
ah yeah.
Quoted 8 lines
include/configs/xilinx_zynqmp.h line 93
Quoted 4 lines
include/configs/xilinx_zynqmp.h new file +3
-0+"kernel_addr=0x200000\0" \ +"initrd_addr=0xa00000\0" \ +"initrd_size=0x2000000\0" \These are really close together. And I imagine mirror the usual values on 32bit platforms. Maybe it's time to move them around a bit for more space?
Currently I haven't had any problem with these values but I just don't know what will happen in future.
Quoted 1 line
Quoted 8 lines
Quoted 6 lines
include/configs/xilinx_zynqmp.h line 95
Quoted 2 lines
include/configs/xilinx_zynqmp.h new file +2
-0+"fdt_addr=0x100000\0" \ +"fdt_high=0x10000000\0" \We also shouldn't have to play "stop relocating the DT" games on aarch64, right? Since all memory is visible and that's why we have to do those games on aarch32.
Will play with it to confirm it.
I have tested it and there must be limit - without limit kernel is not booting. I am using your booti command.
Thanks,
Michal
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150302/ec1b3aa4/attachment.sig>
PATCH 1/1 arm64: Add Xilinx ZynqMP support
Quoted 30 lines · Michal Simek
Quoted 29 lines · Michal Simek
Quoted 8 lines · Tom Rini
Quoted 5 lines · Michal Simek
Add basic Xilinx ZynqMP arm64 support.
Serial and SD is supported.
It supports emulation platfrom ep108 and QEMU.Signed-off-by Michal Simek <[email protected]>[snip]
Quoted 8 lines
include/configs/xilinx_zynqmp.h line 90
Quoted 6 lines
include/configs/xilinx_zynqmp.h new file +6
-0+/* Miscellaneous configurable options */ +#define CONFIG_SYS_LOAD_ADDR 0x8000000 + +/* Initial environment variables */ +#define CONFIG_EXTRA_ENV_SETTINGS \ + "ethaddr=00:0a:35:00:01:22\0" \No, you can't hard-code an ethaddr in.
ah yeah.
Quoted 8 lines
include/configs/xilinx_zynqmp.h line 93
Quoted 4 lines
include/configs/xilinx_zynqmp.h new file +3
-0+"kernel_addr=0x200000\0" \ +"initrd_addr=0xa00000\0" \ +"initrd_size=0x2000000\0" \These are really close together. And I imagine mirror the usual values on 32bit platforms. Maybe it's time to move them around a bit for more space?
Quoted 2 lines
Quoted 2 lines
Currently I haven't had any problem with these values but I just don't know what will happen in future.
Right. That's partly why I moved as much of the TI ARMv7 parts to the Linux kernel defined limits a while back, people managed to bump into overruns doing valid things. I'd really like to see things default to something closer to the defined limits to start with and avoid those kind of problems a few years down the line. 8MB is fine for now but I can see people running over that and going "why does my initrd boot fail".
Quoted 11 lines
Quoted 8 lines
Quoted 6 lines
include/configs/xilinx_zynqmp.h line 95
Quoted 2 lines
include/configs/xilinx_zynqmp.h new file +2
-0+"fdt_addr=0x100000\0" \ +"fdt_high=0x10000000\0" \We also shouldn't have to play "stop relocating the DT" games on aarch64, right? Since all memory is visible and that's why we have to do those games on aarch32.
Will play with it to confirm it.
I have tested it and there must be limit - without limit kernel is not booting. I am using your booti command.
Oh that's right, there is, even on arm64.
This got me to open up Documentation/arm64/booting.txt again and yes, FDT must be at base+512MB. And looking over include/configs/ti_armv7_common.h again that's best enforced with bootm_size so that we can still shuffle things to fit and not overlap but still meet requirements.
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150302/a6530007/attachment.sig>
PATCH 1/1 arm64: Add Xilinx ZynqMP support
Quoted 34 lines · Tom Rini
Quoted 30 lines · Michal Simek
Quoted 29 lines · Michal Simek
Quoted 8 lines · Tom Rini
Quoted 5 lines · Michal Simek
Add basic Xilinx ZynqMP arm64 support.
Serial and SD is supported.
It supports emulation platfrom ep108 and QEMU.Signed-off-by Michal Simek <[email protected]>[snip]
Quoted 8 lines
include/configs/xilinx_zynqmp.h line 90
Quoted 6 lines
include/configs/xilinx_zynqmp.h new file +6
-0+/* Miscellaneous configurable options */ +#define CONFIG_SYS_LOAD_ADDR 0x8000000 + +/* Initial environment variables */ +#define CONFIG_EXTRA_ENV_SETTINGS \ + "ethaddr=00:0a:35:00:01:22\0" \No, you can't hard-code an ethaddr in.
ah yeah.
Quoted 8 lines
include/configs/xilinx_zynqmp.h line 93
Quoted 4 lines
include/configs/xilinx_zynqmp.h new file +3
-0+"kernel_addr=0x200000\0" \ +"initrd_addr=0xa00000\0" \ +"initrd_size=0x2000000\0" \These are really close together. And I imagine mirror the usual values on 32bit platforms. Maybe it's time to move them around a bit for more space?
Quoted 2 lines
Quoted 2 lines
Currently I haven't had any problem with these values but I just don't know what will happen in future.
Quoted 7 lines
Right. That's partly why I moved as much of the TI ARMv7 parts to the Linux kernel defined limits a while back, people managed to bump into overruns doing valid things. I'd really like to see things default to something closer to the defined limits to start with and avoid those kind of problems a few years down the line. 8MB is fine for now but I can see people running over that and going "why does my initrd boot fail".
We will use FIT image and all these values won't be needed but they are need to be here.
I have removed unused initrd_X in v2 because it is completely unused.
Quoted 12 lines
Quoted 11 lines
Quoted 8 lines
Quoted 6 lines
include/configs/xilinx_zynqmp.h line 95
Quoted 2 lines
include/configs/xilinx_zynqmp.h new file +2
-0+"fdt_addr=0x100000\0" \ +"fdt_high=0x10000000\0" \We also shouldn't have to play "stop relocating the DT" games on aarch64, right? Since all memory is visible and that's why we have to do those games on aarch32.
Will play with it to confirm it.
I have tested it and there must be limit - without limit kernel is not booting. I am using your booti command.
Quoted 7 lines
Oh that's right, there is, even on arm64.
This got me to open up
Documentation/arm64/booting.txtagain and yes, FDT must be at base+512MB. And looking overinclude/configs/ti_armv7_common.hagain that's best enforced withbootm_sizeso that we can still shuffle things to fit and not overlap but still meet requirements.
bootm_size could work for us too but not a problem to fix it in the next patch.
Do you see any other problem with ZynqMP support?
I have some patches depends on this that's why I would like to get this basic port accepted and then start to push other stuff.
Thanks,
Michal
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150302/df58df42/attachment.sig>
PATCH 1/1 arm64: Add Xilinx ZynqMP support
Quoted 43 lines · Michal Simek
Quoted 34 lines · Tom Rini
Quoted 30 lines · Michal Simek
Quoted 29 lines · Michal Simek
Quoted 8 lines · Tom Rini
Quoted 5 lines · Michal Simek
Add basic Xilinx ZynqMP arm64 support.
Serial and SD is supported.
It supports emulation platfrom ep108 and QEMU.Signed-off-by Michal Simek <[email protected]>[snip]
Quoted 8 lines
include/configs/xilinx_zynqmp.h line 90
Quoted 6 lines
include/configs/xilinx_zynqmp.h new file +6
-0+/* Miscellaneous configurable options */ +#define CONFIG_SYS_LOAD_ADDR 0x8000000 + +/* Initial environment variables */ +#define CONFIG_EXTRA_ENV_SETTINGS \ + "ethaddr=00:0a:35:00:01:22\0" \No, you can't hard-code an ethaddr in.
ah yeah.
Quoted 8 lines
include/configs/xilinx_zynqmp.h line 93
Quoted 4 lines
include/configs/xilinx_zynqmp.h new file +3
-0+"kernel_addr=0x200000\0" \ +"initrd_addr=0xa00000\0" \ +"initrd_size=0x2000000\0" \These are really close together. And I imagine mirror the usual values on 32bit platforms. Maybe it's time to move them around a bit for more space?
Quoted 2 lines
Quoted 2 lines
Currently I haven't had any problem with these values but I just don't know what will happen in future.
Quoted 7 lines
Right. That's partly why I moved as much of the TI ARMv7 parts to the Linux kernel defined limits a while back, people managed to bump into overruns doing valid things. I'd really like to see things default to something closer to the defined limits to start with and avoid those kind of problems a few years down the line. 8MB is fine for now but I can see people running over that and going "why does my initrd boot fail".
Quoted 3 lines
We will use FIT image and all these values won't be needed but they are need to be here.
I have removed unusedinitrd_Xin v2 because it is completely unused.
Well, I haven't used FIT images so far and don't see why I should. Can we please put the initrd at the highest address amongst kernel, DT and initrd? The initrd is most prone grow. My current one is beyond 100MB. Let's just spread things out, there should be enough memory for this.
S?ren
PATCH 1/1 arm64: Add Xilinx ZynqMP support
Quoted 44 lines · S?ren Brinkmann
Quoted 43 lines · Michal Simek
Quoted 41 lines · Tom Rini
Quoted 30 lines · Michal Simek
Quoted 29 lines · Michal Simek
Quoted 8 lines · Tom Rini
Quoted 5 lines · Michal Simek
Add basic Xilinx ZynqMP arm64 support.
Serial and SD is supported.
It supports emulation platfrom ep108 and QEMU.Signed-off-by Michal Simek <[email protected]>[snip]
Quoted 8 lines
Review
Quoted 6 lines
(quoted diff) +6
-0+/* Miscellaneous configurable options */ +#define CONFIG_SYS_LOAD_ADDR 0x8000000 + +/* Initial environment variables */ +#define CONFIG_EXTRA_ENV_SETTINGS \ + "ethaddr=00:0a:35:00:01:22\0" \No, you can't hard-code an ethaddr in.
ah yeah.
Quoted 8 lines
Review
Quoted 4 lines
(quoted diff) +3
-0+ "kernel_addr=0x200000\0" \ + "initrd_addr=0xa00000\0" \ + "initrd_size=0x2000000\0" \These are really close together. And I imagine mirror the usual values on 32bit platforms. Maybe it's time to move them around a bit for more space?
Quoted 2 lines
Quoted 2 lines
Currently I haven't had any problem with these values but I just don't know what will happen in future.
Right. That's partly why I moved as much of the TI ARMv7 parts to the Linux kernel defined limits a while back, people managed to bump into overruns doing valid things. I'd really like to see things default to something closer to the defined limits to start with and avoid those kind of problems a few years down the line. 8MB is fine for now but I can see people running over that and going "why does my initrd boot fail".
Quoted 8 lines
Quoted 3 lines
We will use FIT image and all these values won't be needed but they are need to be here.
I have removed unusedinitrd_Xin v2 because it is completely unused.Well, I haven't used FIT images so far and don't see why I should. Can we please put the initrd at the highest address amongst kernel, DT and initrd? The initrd is most prone grow. My current one is beyond 100MB. Let's just spread things out, there should be enough memory for this.
Only along with doing bootm_size so that however data is passed in, we make sure it ends up (a) not overlapping and (b) where the kernel will see it.
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150302/b2aa362f/attachment.sig>