[PATCH v5 1/7] treewide: move bi_dram[] from bd to gd
Marek Vasut
marek.vasut at mailbox.org
Fri Jun 5 00:31:10 CEST 2026
On 6/4/26 9:37 AM, Ilias Apalodimas wrote:
> Currently, the bi_dram[] information is stored in the board info
> structure (bd). Because bd is only valid after reserve_board(),
> dram_init_banksize() must be called late in the initialization process.
> This limitation is problematic, as it forces us to rely on a variety of
> bespoke functions to determine board RAM, bank memory sizes, and other
> early setup requirements.
>
> By moving bi_dram[] into the global data (gd), we can run it earlier.
> This is particularly convenient since boards define their own
> dram_init_banksize() routines, which do not always rely on parsing
> Device Tree (DT) memory nodes.
>
> Additionally, U-Boot defaults to relocating to the top of the first memory
> bank. While boards currently use custom functions to override this
> behavior, having the DRAM bank information available earlier in gd makes
> relocating to a different bank trivial and standardizes the process.
Regarding the BD, this is likely really old, but it seems BD might be
passed from U-Boot to Linux somehow ? See [1] and U-Boot
include/asm-generic/u-boot.h :
8 * NOTE: This header file defines an interface to U-Boot. Including
9 * this (unmodified) header file in another file is considered normal
10 * use of U-Boot, and does *not* fall under the heading of "derived
11 * work".
Are we certain we are not breaking ABI here ?
[1]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/powerpc/boot/ppcboot.h
More information about the U-Boot
mailing list