summaryrefslogtreecommitdiff
path: root/cmd/bdinfo.c
AgeCommit message (Collapse)Author
2026-01-02cmd: bdinfo: fix incorrect Kconfig options check for print_eth()Quentin Schulz
CMD_NET_LWIP has never existed so it cannot be right. I'm guessing the intent was to allow print_eth() to be called when NET_LWIP is defined (NET means "legacy networking stack" as opposed to NET_LWIP which is the newest (and incompatible) stack). There probably was some mix-up between CMD_NET and NET options. The dependency on CMD_NET seems unnecessary as it seems perfectly fine to run bdinfo without CMD_NET (build and run tested). So let's instead make the dependency on NET || NET_LWIP. Let's sync the unit test as well. Fixes: 95744d2527cb ("cmd: bdinfo: enable -e when CONFIG_CMD_NET_LWIP=y") Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Jerome Forissier <[email protected]>
2025-12-24cmd: bdinfo: provide long help with all optionsQuentin Schulz
Document the bdinfo -a, -e and -m options in the long help, but only when they can be used. The string concatenation is a bit odd with two newlines, but it does render properly once in U-Boot CLI. Tested-by: Michal Simek <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2025-12-24cmd/bdinfo: LMB and device-tree are not relatedHeinrich Schuchardt
The usage of the LMB library and the device-tree source are not related. Remove the dependency in the bdinfo output and adjust the unit test. Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-08-04cmd: bdinfo: Fix showing correct IP address based on current deviceMichal Simek
Use the same logic as is used for MAC address where bdi shows mac address for current device where index (idx) is used to point to correct IP address which is read and show. Signed-off-by: Michal Simek <[email protected]>
2024-11-16global: Remove bi_sramstart/bi_sramsizeTom Rini
These fields are currently set on exactly two platforms today, and used by only one of them. Update pic32mzdask to use CFG_SYS_SRAM* in the one location it needs it and otherwise drop this field from the bd_info struct. Signed-off-by: Tom Rini <[email protected]>
2024-10-16cmd: bdinfo: enable -e when CONFIG_CMD_NET_LWIP=yJerome Forissier
Support "bdinfo -e" when lwIP is selected. Signed-off-by: Jerome Forissier <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2024-09-03Merge patch series "Make LMB memory map global and persistent"Tom Rini
Sughosh Ganu <[email protected]> says: This is a follow-up from an earlier RFC series [1] for making the LMB and EFI memory allocations work together. This is a non-rfc version with only the LMB part of the patches, for making the LMB memory map global and persistent. This is part one of a set of patches which aim to have the LMB and EFI memory allocations work together. This requires making the LMB memory map global and persistent, instead of having local, caller specific maps. This is being done keeping in mind the usage of LMB memory by platforms where the same memory region can be used to load multiple different images. What is not allowed is to overwrite memory that has been allocated by the other module, currently the EFI memory module. This is being achieved by introducing a new flag, LMB_NOOVERWRITE, which represents memory which cannot be re-requested once allocated. The data structures (alloced lists) required for maintaining the LMB map are initialised during board init. The LMB module is enabled by default for the main U-Boot image, while it needs to be enabled for SPL. This version also uses a stack implementation, as suggested by Simon Glass to temporarily store the lmb structure instance which is used during normal operation when running lmb tests. This does away with the need to run the lmb tests separately. The tests have been tweaked where needed because of these changes. The second part of the patches, to be sent subsequently, would work on having the EFI allocations work with the LMB API's. [1] - https://lore.kernel.org/u-boot/[email protected]/T/#t Notes: 1) These patches are on next, as the alist patches have been applied to that branch. 2) I have tested the boot on the ST DK2 board, but it would be good to get a T-b/R-b from the ST maintainers. 3) It will be good to test these changes on a PowerPC platform (ideally an 85xx, as I do not have one).
2024-09-03lmb: remove the lmb_init_and_reserve() functionSughosh Ganu
With the changes to make the LMB reservations persistent, the common memory regions are being added during board init. Remove the now superfluous lmb_init_and_reserve() function. Signed-off-by: Sughosh Ganu <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-09-03lmb: make LMB memory map persistent and globalSughosh Ganu
The current LMB API's for allocating and reserving memory use a per-caller based memory view. Memory allocated by a caller can then be overwritten by another caller. Make these allocations and reservations persistent using the alloced list data structure. Two alloced lists are declared -- one for the available(free) memory, and one for the used memory. Once full, the list can then be extended at runtime. [sjg: Use a stack to store pointer of lmb struct when running lmb tests] Signed-off-by: Sughosh Ganu <[email protected]> Signed-off-by: Simon Glass <[email protected]> [sjg: Optimise the logic to add a region in lmb_add_region_flags()]
2024-08-26board_f: Move fdt_size to boardSimon Glass
This value is only really used before relocation. There is not much use to showing its value in bdinfo, so drop it. Move it to the new boardf struct. Signed-off-by: Simon Glass <[email protected]>
2024-08-26board_f: Add a new struct to hold pre-relocation infoSimon Glass
Quite a few of the members of struct global_data are only used before reloction, or have little meaning afterwards, yet they hang around in struct global_data for the lifetime of U-Boot. This uses up precious pre-relocation SRAM on many boards. To help with this, start a new struct which exists only before relocation. Move new_fdt into this new struct. Drop the display of it in the 'bdinfo' command as it is probably not very useful. Note that the field does not exist in SPL builds. Signed-off-by: Simon Glass <[email protected]>
2024-05-20Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet"Tom Rini
As part of bringing the master branch back in to next, we need to allow for all of these changes to exist here. Reported-by: Jonas Karlman <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-05-19Revert "Merge patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet""Tom Rini
When bringing in the series 'arm: dts: am62-beagleplay: Fix Beagleplay Ethernet"' I failed to notice that b4 noticed it was based on next and so took that as the base commit and merged that part of next to master. This reverts commit c8ffd1356d42223cbb8c86280a083cc3c93e6426, reversing changes made to 2ee6f3a5f7550de3599faef9704e166e5dcace35. Reported-by: Jonas Karlman <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-05-06cmd: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from all "cmd/" files and when needed add missing include files directly. Signed-off-by: Tom Rini <[email protected]>
2023-12-09cmd: bdinfo: Implement support for printing ethernet settings via bdinfo -eMarek Vasut
Add support for printing ethernet settings only via 'bdinfo -e' . Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2023-12-09cmd: bdinfo: Implement support for printing memory layout via bdinfo -mMarek Vasut
Add support for printing memory layout only via 'bdinfo -m' . Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2023-12-09cmd: bdinfo: Optionally use getopt and implement bdinfo -aMarek Vasut
Add optional support for getopt() and in case this is enabled via GETOPT configuration option, implement support for 'bdinfo -a'. The 'bdinfo -a' behaves exactly like bdinfo and prints 'all' the bdinfo information. This is implemented in preparation for other more fine-grained options. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2023-07-17bdinfo: Show the malloc base with the bdinfo commandSimon Glass
It is useful to see the base of the malloc region. This is visible when debugging but not in normal usage. Add it to the global data so that it can be shown. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Nikhil M Jain <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Nikhil M Jain <[email protected]>
2023-07-17bdinfo: Show the RAM top and approximate stack pointerSimon Glass
These are useful pieces of information when debugging. The RAM top shows where U-Boot started allocating memory from, before it relocated. The stack pointer can be checked to ensure it is in the correct region. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Nikhil M Jain <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Nikhil M Jain <[email protected]>
2023-07-17bdinfo: Show information about the serial portSimon Glass
It is useful to see the detailed setting of the serial port, e.g. to allow setting up earlycon or console for Linux. Add this output to the 'bdinfo' command. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> [bmeng: squashed in [email protected]] Signed-off-by: Bin Meng <[email protected]>
2023-05-03cmd: bdinfo: Print ethaddr of current MACMarek Vasut
Instead of always printing ethaddr of MAC 0, print eth%daddr of the current MAC. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-05-03cmd: bdinfo: Wrap network information printing into print_eth()Marek Vasut
Move all the network information printing into print_eth(), no functional change. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-05-03cmd: bdinfo: Map fdt_blob and new_fdt to sysmemMarek Vasut
Map fdt_blob and new_fdt to sysmem, otherwise $fdtcontroladdr and bdinfo output do not match and the bdinfo output address is not a valid address accessible via sandbox memory accessors. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-03-13bbinfo: Show the size of the copy framebufferSimon Glass
If the copy framebuffer is enabled, show its size. Signed-off-by: Simon Glass <[email protected]>
2023-03-13x86: Add a few more items to bdinfoSimon Glass
Add the timer and vendor/model information. Signed-off-by: Simon Glass <[email protected]>
2022-10-30video: Rename CONFIG_DM_VIDEO to CONFIG_VIDEOSimon Glass
Now that all the old code is gone, rename this option. Driver model migration is now complete. Signed-off-by: Simon Glass <[email protected]>
2022-10-30video: Drop remaining references to CONFIG_LCDSimon Glass
These rely on the old LCD implementation which is to be removed. Drop it all. Signed-off-by: Simon Glass <[email protected]>
2022-09-13cmd: bdinfo: introduce bdinfo_print_size() helperOvidiu Panait
Add bdinfo_print_size() helper to display size variables (such as cache sizes) in bdinfo format. The size is printed as "xxx Bytes", "xxx KiB", "xxx MiB", "xxx GiB", etc as needed; Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Ovidiu Panait <[email protected]> Reviewed-by: Jason Liu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2022-09-12cmd: bdinfo: Enable dumping lmb data when LMB is enabledMichal Simek
The commit 9996cea75f5a ("lmb/bdinfo: dump lmb info via bdinfo") added support for dumping LMB information as the part of bdinfo. But code itself should be called only when LMB is enabled. Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Simon Glass <[email protected]> Link: https://lore.kernel.org/r/3e40c8bb77550dfca9f7eb48fe644a018d971411.1662537127.git.michal.simek@amd.com
2022-03-28video: Drop references to CONFIG_VIDEO et alSimon Glass
Drop the Kconfigs which are not used and all references to them. In particular, this drops CONFIG_VIDEO to avoid confusion and allow us to eventually rename CONFIG_DM_VIDEO to CONFIG_VIDEO. Also drop the prototype for video_get_info_str() which is no-longer used. Signed-off-by: Simon Glass <[email protected]> Acked-by: Jason Liu <[email protected]>
2021-12-23fdt: Report the devicetree sourceSimon Glass
It can be confusing to figure out where the devicetree came from. It seems important enough to warrant a message during boot. Add information about the number of devices and uclasses too since it is helpful to have some idea what is going on with driver model. Report the devicetree source in bdinfo too. This looks something like this, with > marking the new line. U-Boot 2021.10-00190 (Oct 30 2021 - 09:01:29 -0600) DRAM: 128 MiB > Core: 42 devices, 11 uclasses, devicetree: passage Flash: 64 MiB Signed-off-by: Simon Glass <[email protected]>
2021-02-15Merge branch '2021-02-02-drop-asm_global_data-when-unused'Tom Rini
- Merge the patch to take <asm/global_data.h> out of <common.h>
2021-02-03bdinfo: Change to use bdinfo_print_num_ll() where the number could be 64-bitBin Meng
There are some calls to bdinfo_print_num_l() with parameters that could be a 64-bit value on a 32-bit system. Change those calls to use bdinfo_print_num_ll() instead. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-02-03bdinfo: Rename function names to be clearerBin Meng
At present we have bdinfo_print_num() to print unsigned long numbers. We also have print_phys_addr() which accept numbers that might be 64-bit on a 32-bit platform. Rename these 2 functions to be clearer: bdinfo_print_num() => bdinfo_print_num_l() print_phys_addr() => bdinfo_print_num_ll() While we are here, make bdinfo_print_num_ll() public so that it can be used outside cmd/bdinfo.c in the future. Signed-off-by: Bin Meng <[email protected]>
2021-02-02common: Drop asm/global_data.h from common headerSimon Glass
Move this out of the common header and include it only where needed. In a number of cases this requires adding "struct udevice;" to avoid adding another large header or in other cases replacing / adding missing header files that had been pulled in, very indirectly. Finally, we have a few cases where we did not need to include <asm/global_data.h> at all, so remove that include. Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2020-09-25x86: video: Show information about each video deviceSimon Glass
At present the 'bdinfo' command shows the framebuffer address, but not the address of the copy framebuffer, if present. Add support for this. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2020-08-26cmd: bdinfo: Remove print of superseeded bi_memstart / bi_memsize valuesStefan Roese
Remove printing of the superseeded (by bi_dram[]) memory values from the bdinfo command. Signed-off-by: Stefan Roese <[email protected]> Reviewed-by: Ovidiu Panait <[email protected]>
2020-08-26CONFIG_NR_DRAM_BANKS: Remove unreferenced code as its always definedStefan Roese
Since commit 86cf1c82850f ("configs: Migrate CONFIG_NR_DRAM_BANKS") & commit 999a772d9f24 ("Kconfig: Migrate CONFIG_NR_DRAM_BANKS"), CONFIG_NR_DRAM_BANKS is always defined with a value (4 is default). It makes no sense to still carry code that is guarded with "#ifndef CONFIG_NR_DRAM_BANKS" (and similar). This patch removes all these unreferenced code paths. Signed-off-by: Stefan Roese <[email protected]> Reviewed-by: Pali Rohár <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2020-08-06cmd: bdinfo: Move sram info prints to generic codeOvidiu Panait
bi_sramstart and bi_sramsize are generic members of the bd_info structure, so move the m68k/powerpc-specific prints to generic code. Also, print them only if SRAM support is enabled via CONFIG_SYS_HAS_SRAM. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Ovidiu Panait <[email protected]>
2020-08-05cmd: bdinfo: cleanup phys_addr_t outputHeinrich Schuchardt
We currently print the memory size with at least 8 hexadecimal digits. This creates a ragged output on 64 bit boards, e.g. on a Kendryte K210: DRAM bank = 0x0000000000000002 -> start = 0x0000000080600000 -> size = 0x0000000000200000 memstart = 0x0000000000000000 memsize = 0x00000000 flashstart = 0x0000000000000000 flashsize = 0x0000000000000000 flashoffset = 0x0000000000000000 All other numbers are printed with the number of digits needed for the type ulong. So use this value as minimum number of digits (precision) for printing physical addresses. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Reviewed-by: Stefan Roese <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-08-04lmb/bdinfo: dump lmb info via bdinfoTero Kristo
Dump lmb status from the bdinfo command. This is useful for seeing the reserved memory regions from the u-boot cmdline. Signed-off-by: Tero Kristo <[email protected]>
2020-07-17treewide: convert bd_t to struct bd_info by coccinelleMasahiro Yamada
The Linux coding style guide (Documentation/process/coding-style.rst) clearly says: It's a **mistake** to use typedef for structures and pointers. Besides, using typedef for structures is annoying when you try to make headers self-contained. Let's say you have the following function declaration in a header: void foo(bd_t *bd); This is not self-contained since bd_t is not defined. To tell the compiler what 'bd_t' is, you need to include <asm/u-boot.h> #include <asm/u-boot.h> void foo(bd_t *bd); Then, the include direcective pulls in more bloat needlessly. If you use 'struct bd_info' instead, it is enough to put a forward declaration as follows: struct bd_info; void foo(struct bd_info *bd); Right, typedef'ing bd_t is a mistake. I used coccinelle to generate this commit. The semantic patch that makes this change is as follows: <smpl> @@ typedef bd_t; @@ -bd_t +struct bd_info </smpl> Signed-off-by: Masahiro Yamada <[email protected]>
2020-06-25bdinfo: Update the file commentsSimon Glass
Update the comment at the top of the file to indicate what this file does. Also drop the line at the bottom and an unnecessary header include. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2020-06-25bdinfo: m68k: ppc: Move arch-specific code from bdinfoSimon Glass
We don't have an easy way to share these three lines of code with two architectures. We also want to make it clear that this code is actually arch-specific. So just duplicate it in each arch-specific file. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2020-06-25bdinfo: m68k: Move m68k-specific info into its own fileSimon Glass
We don't really want to have m68k-specific code in a generic file. Create a new arch-specific function to hold it, and move it into that. Make the function weak so that any arch can implement it. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Angelo Dureghello <[email protected]> Tested-by: Angelo Dureghello <[email protected]>
2020-06-25bdinfo: ppc: Move PPC-specific info into its own fileSimon Glass
We don't really want to have PPC-specific code in a generic file. Create a new arch-specific function to hold it, and move it into that. Make the function weak so that any arch can implement it. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2020-06-25bdinfo: arm: Move ARM-specific info into its own fileSimon Glass
We don't really want to have ARM-specific code in a generic file. Create a new arch-specific function to hold it, and move it into that. Make the function weak so that any arch can implement it. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2020-06-25bdinfo: Export some basic printing functionsSimon Glass
At present the functions to print a number and a frequency are static. We want to move some of the code in here to an arch-specific file. For consistency that code should use these same functions. So export them with an appropriate name. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2020-06-25bdinfo: net: Inline print_eth_ip_addr()Simon Glass
This function only has two lines of code now, so inline it. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2020-06-25bdinfo: net: Drop legacy ethernet bdinfoSimon Glass
This code pre-dates driver model and the migration date is nearly upon us. Pare the print_eths() function down and enable it for driver model, since it works correctly. The IP address is already printed in print_eth_ip_addr() so we can remove that. Since this results in a one-line print_eths() function, inline it. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>