On Thu, 18 Apr 2024 22:40:59 -0700 (PDT) "'andrew g' via linux-sunxi" <[email protected]> wrote:
Hi Andrew, > background: > > currently Armbian linux use the 'mainline u-boot' > https://source.denx.de/u-boot/u-boot Thanks for using mainline! > however, it has a '1.5GB' problem in that boards with 1.5GB DRAM is > detected incorrectly. > It detects 2GB instead possibly due to address wraparound, so the boot > crashes mid stream. > I'm trying to build a custom u-boot for a 'hack' i.e. to return 1.5GB dram > from the memory initialization and setup functions. in part to explore > solutions So yes, as you figured, the 1.5GB setup is not supported yet, mostly because no one with a board fixed that and sent a proper patch. There is this patch here - but please note that this is hack: https://lore.kernel.org/u-boot/[email protected]/T/#u However in his reply Jernej gives some hints on what to do for a proper solution. So you might want to try this. Bonus points for trying to follow Jernej's hints and implementing that! Cheers, Andre P.S. Your build sequence below looks correct, and nice work on digging into the sequence. I sketched the U-Boot early code flow here: https://linux-sunxi.org/U-Boot/Boot_process > > what I tried and issues: > I'm building u-boot from > https://source.denx.de/u-boot/u-boot > basically following these instructions > https://docs.u-boot.org/en/latest/board/allwinner/sunxi.html > > my shell script ot build u-boot is like > #!/usr/bin/bash > export BL31=../arm-trusted-firmware/build/sun50i_h616/release/bl31.bin > make orangepi_zero3_defconfig > CROSS_COMPILE=aarch64-linux-gnu- make > > where the bl31 module from arm-trusted-firmware is in its own directory > build with > make CROSS_COMPILE=aarch64-linux-gnu- PLAT=sun50i_h616 > > I did succeed with building u-boot and flashed the u-boot SPL into the sd > card > sudo dd if=u-boot-sunxi-with-spl.bin of=/de > v/sde bs=1024 seek=8 > > and it actually boots, but : > U-Boot SPL 2024.04-00757-gbeac958153-dirty (Apr 19 2024 - 12:46:06 +0800) > DRAM: 0 MiB > Trying to boot from MMC1 > NOTICE: BL31: v2.10.0(release):v2.10.0-729-gc8be7c08c > NOTICE: BL31: Built : 23:11:18, Apr 18 2024 > NOTICE: BL31: Detected Allwinner H616 SoC (1823) > NOTICE: BL31: Found U-Boot DTB at 0x4a0be348, model: OrangePi Zero3 > ERROR: RSB: set run-time address: 0x10003 > U-Boot 2024.04-00757-gbeac958153-dirty (Apr 19 2024 - 12:46:06 +0800) > Allwinner Technology > > size=30, ptr=590, limit=2000: 26370 > CPU: Allwinner H616 (SUN50I) > Model: OrangePi Zero3 > DRAM: 0 Bytes > > So apparently the DRAM is not detected. I tried tracing flow execution by > placing > debug("tag"); or log_info("tag") in > board_init_f() > https://source.denx.de/u-boot/u-boot/-/blob/master/arch/arm/mach-sunxi/board.c?ref_type=heads#L457 > and > sunxi_dram_init() > https://source.denx.de/u-boot/u-boot/-/blob/master/arch/arm/mach-sunxi/dram_sun50i_h616.c?ref_type=heads#L1377 > > however, none of my tags are printed, which implies that the initialization > routines for both the board and sunxi_dram_init() are not called. > > I did configure logging to be pretty verbose in .config > # > # Logging > # > CONFIG_LOG=y > CONFIG_LOG_MAX_LEVEL=8 > CONFIG_LOG_DEFAULT_LEVEL=8 > CONFIG_LOG_CONSOLE=y > > I'm not sure what else could be wrong or how to go about it further. > > -- You received this message because you are subscribed to the Google Groups "linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web, visit https://groups.google.com/d/msgid/linux-sunxi/20240422151530.3f26073f%40donnerap.manchester.arm.com.
