From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michal Simek Date: Thu, 3 Sep 2015 13:13:33 +0200 Subject: [U-Boot] [PATCH v2 0/8] arm: Tidy up early init In-Reply-To: References: <1440795028-7303-1-git-send-email-sjg@chromium.org> <55E56B94.3020601@monstr.eu> Message-ID: <55E82B5D.8090903@monstr.eu> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Simon, On 09/02/2015 04:48 AM, Simon Glass wrote: > Hi Mchal, > > On 1 September 2015 at 03:10, Michal Simek wrote: >> Hi Simon, >> >> On 08/28/2015 10:50 PM, Simon Glass wrote: >>> This series collects the previous RFT patches I sent out. >>> >>> https://patchwork.ozlabs.org/patch/508167/ >>> https://patchwork.ozlabs.org/patch/508168/ >>> >>> It turns out that I originally sent a version of these in April: >>> >>> https://patchwork.ozlabs.org/patch/461687/ >>> https://patchwork.ozlabs.org/patch/461690/ >>> >>> so this series mirrors that one and includes the Zynq patches from that >>> series. >>> >>> I hope these can sneak in to this release so that I don't forget them >>> again! >>> >>> I have tested this on a few ARM platforms: Zynq Zybo, Beaglebone Black, >>> pcduino3 (sunxi), Jetson-TK1 (tegra). >>> >>> Changes in v2: >>> - Put this into common/init/ and just Makefiles accordingly >>> - Add comments as to why this is needed, deal with arch-specific memset() >>> >>> Simon Glass (8): >>> Move board_init_f_mem() into a common location >>> board_init_f_mem(): Don't require memset() >>> board_init_f_mem(): Don't create an unused early malloc() area >>> arm: Switch aarch64 to using generic global_data setup >>> arm: Switch 32-bit ARM to using generic global_data setup >>> microblaze: Add a TODO to call board_init_f_mem() >>> zynq: Move SPL console init out of board_init_f() >>> Revert "ARM: zynq: disable CONFIG_SYS_MALLOC_F to fix MMC boot" >>> >>> arch/arm/lib/crt0.S | 28 +++--------------- >>> arch/arm/lib/crt0_64.S | 15 ++-------- >>> arch/arm/mach-zynq/spl.c | 2 +- >>> arch/microblaze/cpu/start.S | 2 ++ >>> common/Makefile | 1 + >>> common/board_f.c | 29 ------------------ >>> common/init/Makefile | 7 +++++ >>> common/init/board_init.c | 60 ++++++++++++++++++++++++++++++++++++++ >>> configs/zynq_microzed_defconfig | 1 - >>> configs/zynq_zc702_defconfig | 1 - >>> configs/zynq_zc706_defconfig | 1 - >>> configs/zynq_zc70x_defconfig | 1 - >>> configs/zynq_zc770_xm010_defconfig | 1 - >>> configs/zynq_zc770_xm011_defconfig | 1 - >>> configs/zynq_zc770_xm012_defconfig | 1 - >>> configs/zynq_zc770_xm013_defconfig | 1 - >>> configs/zynq_zed_defconfig | 1 - >>> configs/zynq_zybo_defconfig | 1 - >>> scripts/Makefile.spl | 1 + >>> 19 files changed, 79 insertions(+), 76 deletions(-) >>> create mode 100644 common/init/Makefile >>> create mode 100644 common/init/board_init.c >>> >> >> I am getting compilation warning about USE_MEMCPY which should be >> resolved too. >> >> >> [u-boot]$ ./tools/buildman/buildman -b xnext/serial2 zynq_zc702 -sSed >> boards.cfg is up to date. Nothing to do. >> Summary of 9 commits for 1 boards (1 thread, 8 jobs per thread) >> 01: Merge branch 'master' of http://git.denx.de/u-boot-sunxi >> 02: Move board_init_f_mem() into a common location >> 03: board_init_f_mem(): Don't require memset() >> arm: + zynq_zc702 >> + #define USE_MEMCPY >> + ^ >> +In file included from ../include/common.h:1064:0, >> + from ../common/init/board_init.c:10: >> +../include/malloc.h:355:0: note: this is the location of the previous >> definition >> + #define USE_MEMCPY 1 >> w+../common/init/board_init.c:21:0: warning: "USE_MEMCPY" redefined >> [enabled by default] >> 04: board_init_f_mem(): Don't create an unused early malloc() area >> 05: arm: Switch aarch64 to using generic global_data setup >> 06: arm: Switch 32-bit ARM to using generic global_data setup >> arm: (for 1/1 boards) all +28.0 spl/u-boot-spl:all +28.0 >> spl/u-boot-spl:text +28.0 text +28.0 >> zynq_zc702 : all +28 spl/u-boot-spl:all +28 >> spl/u-boot-spl:text +28 text +28 >> 07: microblaze: Add a TODO to call board_init_f_mem() >> 08: zynq: Move SPL console init out of board_init_f() >> arm: (for 1/1 boards) spl/u-boot-spl:all +8.0 >> spl/u-boot-spl:text +8.0 >> zynq_zc702 : spl/u-boot-spl:all +8 spl/u-boot-spl:text +8 >> 09: Revert "ARM: zynq: disable CONFIG_SYS_MALLOC_F to fix MMC boot" >> arm: (for 1/1 boards) all +257.0 rodata +37.0 >> spl/u-boot-spl:all +180.0 spl/u-boot-spl:text +180.0 text +220.0 >> zynq_zc702 : all +257 rodata +37 spl/u-boot-spl:all >> +180 spl/u-boot-spl:text +180 text +220 > > Yes, unfortunately I found that later and also I found a conflict with > the malloc change also: > > http://patchwork.ozlabs.org/patch/512147/ > > Once we figure out zynqmp I can resend it. Here is the branch with ZynqMP changes for DM. http://git.denx.de/?p=u-boot/u-boot-microblaze.git;a=shortlog;h=refs/heads/serial-dm I have added comments to commits. The most problematic part for ZynqMP is that you have reverted "fdt: Fix fdtdec_get_addr_size() for 64-bit" (sha1: 5b34436035fc862b5e8d0d2c3eab74ba36f1a7f4) which is able to handle address-cells = 2, size-cells = 1 case which ZynqMP is using. Anyway you should be able to run u-boot on qemu. Here is the log I am getting. [qemu]$ ./aarch64-softmmu/qemu-system-aarch64 -M xlnx-ep108 -display none -kernel /mnt/disk/u-boot/u-boot.elf -m 8000000 -nographic -serial mon:stdio qemu-system-aarch64: WARNING: RAM size 7a120000000 above max supported, reduced to 80000000 U-Boot 2015.10-rc2-00326-g13bbf74f7d63 (Sep 03 2015 - 13:11:47 +0200) Xilinx ZynqMP I2C: ready DRAM: 1 GiB Enabling Caches... EL Level: EL1 MMC: zynq_sdhci: 0 Using default environment In: serial at ff000000 Out: serial at ff000000 Err: serial at ff000000 Invalid Boot Mode:0x0 SCSI: AHCI 0000.0000 1 slots 1 ports ? Gbps 0x0 impl SATA mode flags: scanning bus for devices... Found 0 device(s). Net: Gem.ff0b0000 Warning: Gem.ff0b0000 (eth0) using random MAC address - 8e:46:f3:b5:70:eb Hit any key to stop autoboot: 0 ZynqMP> QEMU: Terminated [qemu]$ Please let me know if you need any input on this. Thanks, Michal -- 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: