summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-05-31bsh: imx6ulz_smm_m2: Add imx6ulz BSH SMM M2B boardMichael Trimarchi
Introduce the BSH SystemMaster (SMM) M2B board. Notably, the M2B is designed to leverage the existing device tree of its predecessor, the M2. The primary distinction arises from memory incompatibilities with the M2. To address this, we've implemented a configuration system that allows for selective inclusion of the desired memory components. Signed-off-by: Michael Trimarchi <[email protected]>
2025-05-31configs/imx6ulz_smm_m2_defconfig: Enable clock frameworkMichael Trimarchi
Enable the clock framework on the m2 platform. This helps to increase the NAND controller performance. Signed-off-by: Michael Trimarchi <[email protected]>
2025-05-31mtd: nand: Add support for EDO mode 1-5 to IMX6ULL platformMichael Trimarchi
The clock driver allows to boost the NAND performance controller. Make changes to let it use the new clock driver => time nand read ${loadaddr} kernel NAND read: device 0 offset 0x500000, size 0x800000 8388608 bytes read: OK time: 0.488 seconds Signed-off-by: Michael Trimarchi <[email protected]>
2025-05-31mtd: mxs_nand_dt: Move from clk_get/clk_enable to clk_bulk apiMichael Trimarchi
Make simple the clock registration and enable and allow later to add support for other platforms Signed-off-by: Michael Trimarchi <[email protected]>
2025-05-31clk: imx: add i.MX6UL clk driverMichael Trimarchi
Add i.MX6UL clk driver for i.MX6UL CLK driver model usage Reviewed-by: Peng Fan <[email protected]> Reviewed-by: Christoph Niedermaier <[email protected]> Tested-by: Christoph Niedermaier <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-05-30imx8mp-venice-gw74xx: add w_disable2 gpio configurationTim Harvey
The GW74xx D revision has added a M2SKT_WDIS2# GPIO which routes to the W_DISABLE2# pin of the M.2 socket. Add the iomux and a line name for this and rename the existing m2_wdis# signal to m2_wdis1#. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-05-30board: venice: append configuration string to modelTim Harvey
Append the optional board configuration string to the model info. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-05-30board: venice: update model representation for venice-flexTim Harvey
Update the model string representation for the Venice-Flex product family (GW8xxx). Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-05-30board: venice: add FSA supportTim Harvey
The Gateworks Flexible Socket Adapters adapt common busses such as SDIO/UART/USB/PCI to various connectors such as M.2 B-Key, M.2 E-Key, M.2 M-Key, and MiniPCIe. Each FSA has an EEPROM onboard describing its details as well as an optional port-expander for configurable GPIO's. Add support for identifying the FSA's and configuring their details such as user description and GPIO's: - enable pca953x, pca954x and eeprom support for communicating with the I2C eeprom and gpio port expander on the FSA - add FSA detection support - add FSA gpio configuration support Each FSA is identified in the device-tree by an alias to it's I2C bus where an eeprom@54 node must exist as well as an gpio@20 node for an io-expander. These nodes must be enabled so that they can be probed to determine if they are actually present in the system. If not present or not enabled the gpio expander can not be used. This also requires livetree as the gpio expander node if not present must be disabled. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-05-30board: venice: add imx8mp-gw82xx supportTim Harvey
The Gateworks GW82XX-2X is an ARM based single board computer (SBC) comprised of the i.MX8M Plus based gw702x SoM and the gw82xx baseboard featuring: - i.MX8M Plus SoC - LPDDR4 DRAM - eMMC FLASH - Gateworks System Controller (GSC) - microSD (1.8V/3.3V Capable) - panel status bi-color LED - pushbutton switch - fan controller with tachometer - USB Type-C connector - PCIe switch - 2x GbE RJ45 connectors - multi-protocol RS232/RS485/RS422 Serial ports - 2x Flexible Socket Adapters with SDIO/UART/USB/PCIe (for M.2 and miniPCIe expansion) - 2x isolated CAN - GPS - accelerometer - magnetometer - off-board connectors for: SPI, GPIO, I2C, ADC - Wide range DC power input - support for 802.3at PoE (via adapter) Add support for it by providing its device-tree. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-05-30board: venice: flip logic for GSC supervisor enableTim Harvey
Flip the logic used to determine if a board has the proper hardware to support enabling the GSC voltage supervisor so that we do not need to keep adding new models to the list. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-05-30board: venice: use SOM model for PMIC adjustment on SOMTim Harvey
Use the SOM model to adjust PMIC settings on SOM's. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-05-30board: venice: use baseboard model for familyTim Harvey
The venice family of baseboards which is normally GW7xxx is being expanded to GW8xxx so we need to use the baseboard number instead of the som. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-05-30board: venice: fix dram size for GW7901-SP486Tim Harvey
The GW7901-SP486 with the exception of the -C revision has 2GB DRAM loaded but incorrectly specifies 1GB in the EEPROM. Adjust the DRAM size to account for this. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-05-30board: venice: fix dram bus config for GW7902/GW7903/GW7904Tim Harvey
The GW7902/GW7903/GW7904 have an alternate databus layout affecting a few of the DDRC and DDR PHY registers. The 512MB configuration used this alternate bus layout. Change the 512MB config to the standard bus configuration and add a generic function to patch the DDRC/PHY configs for the alternate bus layout. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-05-30board: venice: move soc-specific dram config into soc-specific filesTim Harvey
Move the determination of the dram timings into the soc-specific files. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-05-30configs: imx8m*_venice: enable GPT supportTim Harvey
Enable support for working with General Partition Tables via the 'gpt' command. Also enable support for generating random UUID's for GPT. See: doc/README.gpt for examples Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-05-30configs: imx8m*_venice: enable several commands useful for scriptingTim Harvey
enable cat, xxd, and the ability for setexpr to return values in variables which are all useful for scripting. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-05-30Merge tag 'dm-pull-30may25' of git://git.denx.de/u-boot-dm into nextTom Rini
Bring in recent expo enhancements: - multi-line text - highlighting of menu items - rationalisation of menu and expo code - support for object alignment - editable strings - various bug fixes and tweaks This also includes some required abuf improvements.
2025-05-30image: android: fix ramdisk default addressEddie Kovsky
Commit 21e7fa0e3ac5 ("image: android: handle ramdisk default address") changed the default behavior for header versions less than or equal to 2. The ramdisk address (img_data.ramdisk_ptr) is only assigned to *rd_data if the physical load address (img_data.ramdisk_addr) is equal to 0 or the Android default ramdisk address. /* Ramdisk can be used in-place, use current ptr */ if (img_data.ramdisk_addr == 0 || img_data.ramdisk_addr == ANDROID_IMAGE_DEFAULT_RAMDISK_ADDR) { *rd_data = img_data.ramdisk_ptr; } else { ramdisk_ptr = img_data.ramdisk_addr; *rd_data = ramdisk_ptr; memcpy((void *)(ramdisk_ptr), (void *)img_data.ramdisk_ptr, img_data.ramdisk_size); } When the img_data.ramdisk_addr and the img_data.kernel_addr are the same *rd_data needs to be assigned to the ramdisk address (ramdisk_ptr), not the physical address (ramdisk_addr). As a result of the current behavior, we can no longer boot a kernel on the Renesas R-Car S4 board. Add an additional check to the if clause so that the ramdisk address is assigned when the kernel address and the ramdisk address are the same, restoring the previous default behavior. Fixes: 21e7fa0e3ac5 ("image: android: handle ramdisk default address") Signed-off-by: Eddie Kovsky <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Tested-by: Mattijs Korpershoek <[email protected]> # khadas vim3
2025-05-30bootm: Fix bmi->images pointer not initialized in some casesBenjamin ROBIN
When building with only bootz command, without bootm, images pointer inside bootm_info structure is not initialized. And since this structure is stored in stack, the generated error is kind of random, but most of the time this will generate: "ramdisk - allocation error". Also, after analysis, this problem could occur with the command booti, if the command bootm is disabled. Currently bootm_init() is called by: do_bootz(), do_bootm(), do_booti() and by do_stm32prog(). And all of these commands execute bootm_run_states() which access the images pointer stored into bootm_info structure. So, to fix this issue, just do the assignment unconditionally. Fixes: c2211ff65136 ("bootm: Add more fields to bootm_info") Signed-off-by: Benjamin ROBIN <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-05-30env: Fix network support when CONFIG_NET_LWIP is setBenjamin ROBIN
When lwIP (CONFIG_NET_LWIP) is used instead of legacy stack (CONFIG_NET), environment flags support associated with network was not built: restore support of "i" and "m" environment flags. Signed-off-by: Benjamin ROBIN <[email protected]> Acked-by: Jerome Forissier <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-05-30Merge patch series "test/py: enable HTTP testing"Tom Rini
Adriano Cordova <[email protected]> says: Enable HTTP server in CI to support HTTP tests in pytest QEMU does not emulate an HTTP server, unlike other services like DHCP or TFTP. To enable HTTP tests during CI runs, start a simple Python HTTP server on port 80. This allows tests that require HTTP access to run. The HTTP server is launched on the host. For QEMU environments launched with '-netdev,user' this means that the HTTP server runs together with DHCP at 10.0.2.2. HTTP testing needs to be explicitly enabled with env__efi_helloworld_net_http_test_skip = False. We also default `WGET=y` in `ARCH_QEMU` configurations so that these HTTP tests are included automatically when using QEMU in CI. Link: https://lore.kernel.org/r/[email protected]
2025-05-30cmd/Kconfig: select CMD_WGET if ARCH_QEMUAdriano Cordova
select CMD_WGET for ARCH_QEMU. This way HTTP can be tested on the qemu platforms in CI. Signed-off-by: Adriano Cordova <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-05-30CI testing: add http server to CI testsAdriano Cordova
Add an http server to CI tests so that HTTP booting and loading can be tested. Signed-off-by: Adriano Cordova <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-05-30image: Fix FIT image loadable section custom processingMarek Vasut
The original commit always generated linker list entries with the same entry variable name, because _function passed to ll_entry_declare() is not a variable and therefore was interpreted as fixed string. Change it to _type which is a variable and which does allow generation of multiple unique linker list entries, one for each U_BOOT_FIT_LOADABLE_HANDLER(). Fixes: d7be50921ed3 ("image: Add FIT image loadable section custom processing") Signed-off-by: Marek Vasut <[email protected]>
2025-05-30Gitlab: Rework sjg-lab calling test.py to be closer to test.py stageTom Rini
There are a few differences between how the test.py stage invokes test.py and how the sjg-lab stage invokes test.py. As a start of making both the code and the output and artifacts similar, this updates the sjg-lab stage with the following: - Pass "-ra" so that we get the summary information in the job - Make use of TEST_PY_EXTRA for passing "--capture=tee-sys" - Re-order some of the arguments to be the same order when possible. And most importantly: - Create and save as an artifact the junitxml output. The last part here is the kind of test result information that in the future we should determine how to archive for future reference. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2025-05-30Merge patch series "Almost complete DM_SERIAL migration"Tom Rini
Tom Rini <[email protected]> says: In a private thread, Simon asked about what's needed to get PowerPC migrated to DM_SERIAL. I went and took a look, and to complete the entire DM_SERIAL migration (excluding SPL/TPL) we're actually nearly there. This series first migrates PowerPC (and some NXP Layerscape boards that share history more clearly with PowerPC parts), with the biggest change being to make sure we still use the correct legacy drivers in SPL/TPL (where SPL is extremely constrained). With that out of the way, I looked at what was left. With two exceptions, it's platforms which can be trivially enabled for conversion, and so we do that. Link: https://lore.kernel.org/r/[email protected]
2025-05-30global: Convert almost all remaining non-DM_SERIAL usersTom Rini
This converts almost all of the remaining non-DM_SERIAL users to enable DM_SERIAL. These are platforms where there have long been other SoC boards that have switched and so it's been a matter of inertia keeping these from being converted. Do so now. Signed-off-by: Tom Rini <[email protected]>
2025-05-30PowerPC / Layerscape: Finish migration to DM_SERIALTom Rini
Migrate the few ARM Layerscape platforms that had not been switched along with all remaining PowerPC platforms to DM_SERIAL. For PowerPC, this means that platforms which use SPL/TPL, keeping the non-DM serial driver enabled there as they do not use DM. We also rework the guards on how to define CFG_SYS_NS16550_CLK so that this is mostly in one place now. Signed-off-by: Tom Rini <[email protected]>
2025-05-30expo: Drop the special theme code for bootflow_menuSimon Glass
The expo now has all that is needed to apply a suitable theme, so drop this unnecessary code. Any further tweaks can be added to the generic expo code. Signed-off-by: Simon Glass <[email protected]>
2025-05-30expo: Set up menu fully in bootflow_menu_start()Simon Glass
Apply the theme, calculate dimensions, highlight the menu and arrange the scene correctly, so that everything is ready to go when the expo is rendered. Signed-off-by: Simon Glass <[email protected]>
2025-05-30expo: Split setting up the menu from adding itemsSimon Glass
Some callers may wish to add items later as they are discovered. Split the setup code into its own function, to permit this. Signed-off-by: Simon Glass <[email protected]>
2025-05-30expo: Update bootflow_menu_poll() to return a sequence IDSimon Glass
Rather than returning a bootflow, return the index of the bootflow. This will allow callers to do their own translation to bootflows or some other data structure. Also return a special code when the user tries to move the pointer, so that the caller can cancel the boot-menu timeout, if this is in use. Signed-off-by: Simon Glass <[email protected]>
2025-05-30expo: Improve the visual appearance of the menuSimon Glass
The menu is currently quite basic. Make use of some recently added features in expo, to: - Show proper prompts - Highlight the current item - Centre text - Use multi-line text instead of two independent lines - Put a box around the items Signed-off-by: Simon Glass <[email protected]>
2025-05-30expo: Provide a way to position things relative to displaySimon Glass
It is often necessary to centre objects within the display area. Add a special position value to indicate this. Signed-off-by: Simon Glass <[email protected]>
2025-05-30expo: Drop the render from expo_poll()Simon Glass
Within tests it is useful to be able to control rendering of the expo. Drop the automatic call to expo_render() within expo_poll() and adjust its callers to handle this instead. Signed-off-by: Simon Glass <[email protected]>
2025-05-30expo: Adjust expo_poll() to avoid looping foreverSimon Glass
If the user does not quickly provide some input, exit so that other things can be done, such as searching for the next OS. Signed-off-by: Simon Glass <[email protected]>
2025-05-30expo: Support highlighting menu itemsSimon Glass
Expo normally uses a pointer to show the current item. Add support for highlighting as well, since this makes it easier for the user to see the current item. Signed-off-by: Simon Glass <[email protected]>
2025-05-30expo: Add forward declarations to scene_internal.hSimon Glass
Provide some forward declarations for types used in this file, to keep the LSP happy and avoid errors if the caller happens not to include the required header. Signed-off-by: Simon Glass <[email protected]>
2025-05-30expo: Drop the gap between groups of menu itemsSimon Glass
The gap is intended to separate options which are on different bootdevs, but most of the time there is only one. So drop this gap. Keep the code around in case it becomes useful to have it in the style, or based on some other mechanism. Signed-off-by: Simon Glass <[email protected]>
2025-05-30expo: Use a simpler name for USB mediaSimon Glass
For USB devices we use the string 'usb_mass_storage' which is a bit verbose. Use 'USB' instead. Signed-off-by: Simon Glass <[email protected]>
2025-05-30expo: Begin implementation of a text editorSimon Glass
It is useful to be able to edit text, e.g. to allow the user to edit the environment or the command-line arguments for the OS. Add the beginnings of an implementation. Future work is needed to finish this: keypress handling and scrolling. For now it just displays the text. Signed-off-by: Simon Glass <[email protected]>
2025-05-30expo: Support object alignmentSimon Glass
Add support for left, right and centred alignment for text, in the horizontal dimension. Also support top, bottom and centred in the vertical dimension, for the text object as a whole. Alignment is not yet implemented for images. It has no meaning for menus. A textline object uses a text object internally, so alignment is supported there. Provide some documentation to explain how objects are positioned. Signed-off-by: Simon Glass <[email protected]>
2025-05-30expo: Implement a boxSimon Glass
It is useful to be able to draw a box around elements in the menu. Add support for an unfilled box with a selectable thickness. Note that there is no support for selecting the colour for any expo objects yet. Signed-off-by: Simon Glass <[email protected]>
2025-05-30expo: Support white-on-black in the themeSimon Glass
Allow this setting to be controlled from the theme. Signed-off-by: Simon Glass <[email protected]>
2025-05-30expo: Support rendering multiple lines of textSimon Glass
Use the measurement info to write each line of text separately, thus respecting word-wrapping and newlines. Fix up the comment for scene_obj_render() while we are here. Since a lineedit does not support alignment, add a special case to just display the text if there is no measurement. This happens assuming the lineedit is initially empty. Signed-off-by: Simon Glass <[email protected]>
2025-05-30expo: Check the screen contents after renderingSimon Glass
Make sure that the screen contents are as expected when a scene has been rendered. Signed-off-by: Simon Glass <[email protected]>
2025-05-30expo: Allow strings to be editableSimon Glass
In some cases dynamic text is needed, e.g. for a menu countdown. Add a function which handles this, allowing the caller to take control of the text that is shown on each render. Signed-off-by: Simon Glass <[email protected]>
2025-05-30expo: Tidy up scene_txt_render()Simon Glass
Add an early return if there is no string. Move all declarations to the top of the function. Signed-off-by: Simon Glass <[email protected]>