summaryrefslogtreecommitdiff
path: root/board/theobroma-systems/common
AgeCommit message (Collapse)Author
2025-04-23rockchip: theobroma-systems: use HAVE_VENDOR_COMMON_LIB to simplify MakefileQuentin Schulz
The build system uses HAVE_VENDOR_COMMON_LIB to automatically include board/$(VENDOR)/common/Makefile, therefore let's use that to implicitly include board/theobroma-systems/common/Makefile and compile the common.c file when building proper. Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-03-14rockchip: load env from boot MMC deviceBen Wolsieffer
Currently, if the environment is stored on an MMC device, the device number is hardcoded by CONFIG_SYS_MMC_ENV_DEV. This is problematic because many boards can choose between booting from an SD card or a removable eMMC. For example, the Rock64 defconfig sets CONFIG_SYS_MMC_ENV_DEV=1, which corresponds to the SD card. If an eMMC is used as the boot device and no SD card is installed, it is impossible to save the environment. To avoid this problem, we can choose the environment MMC device based on the boot device. The theobroma-systems boards already contain code to do this, so this commit simply moves it to the common Rockchip board file, with some refactoring. I also removed another implementation of mmc_get_env_dev() from tinker_rk3288 that performed MMC boot device detection by reading a bootrom register. This has been tested on a Rock64v2. Signed-off-by: Ben Wolsieffer <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2024-01-19rockchip: theobroma-systems: fix modified boot_targets detectionQuentin Schulz
U-Boot proper automatically modifies boot_targets to swap the order in which MMC storage media are used for standard boot based on which MMC storage medium was used to load U-Boot proper. This is however only done if the user has not changed it manually, therefore a check between the default and current value is done. This used to work fine until the migration to standard boot where boot_targets value size in the default environment went above the 32 characters that env_get_default function can return, thus resulting in a truncated variable. Therefore the check between default and current value would always fail. By using the newly added env_get_default_into function, a buffer of the appropriate size can be allocated on the stack to get the whole value of boot_targets in the default environment and thus fixing the check. Cc: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2024-01-19rockchip: ringneck-px30/puma-rk3399: factor out storage medium selectionQuentin Schulz
Ringneck PX30 and Puma RK3399 both have the same expectation with regard to bootstd device order and U-Boot environment storage device, except that Puma RK3399 also supports SPI Flash. Let's move all of this into a common file where common logic can be put. Cc: Quentin Schulz <[email protected]> Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>