summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Karlman <[email protected]>2025-07-12 21:12:29 +0000
committerTom Rini <[email protected]>2025-11-02 12:15:23 -0600
commitc6bba31dbdd450081503dc0e20fcfb4328b347e4 (patch)
tree6d71481b00e1bae710fa21fb8f1dbf978b51b724
parenta1ab4578b279558b9462df7724c130b3cb40f30e (diff)
rockchip: spl-boot-order: Defer probe of boot device
Boot devices are being probed when SPL boot order is determined. This may delay boot slightly and can prevent booting from SPI Flash on boards that use same pins for SPI Flash and eMMC due to pinctrl being applied prior to booting. Instead defer probe of the boot device until SPL try to load image from the boot device by using uclass_find_device_by_of_offset() instead of the get variant. Signed-off-by: Jonas Karlman <[email protected]>
-rw-r--r--arch/arm/mach-rockchip/spl-boot-order.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/mach-rockchip/spl-boot-order.c b/arch/arm/mach-rockchip/spl-boot-order.c
index 561bddd12a6..1ea1033b5ea 100644
--- a/arch/arm/mach-rockchip/spl-boot-order.c
+++ b/arch/arm/mach-rockchip/spl-boot-order.c
@@ -40,7 +40,7 @@ static int spl_node_to_boot_device(int node)
* aware of the block-device layer. Until then (and to avoid unneeded
* delays in getting this feature out), it lives at the board-level.
*/
- if (!uclass_get_device_by_of_offset(UCLASS_MMC, node, &parent)) {
+ if (!uclass_find_device_by_of_offset(UCLASS_MMC, node, &parent)) {
struct udevice *dev;
struct blk_desc *desc = NULL;
@@ -72,7 +72,7 @@ static int spl_node_to_boot_device(int node)
* extended with awareness of the BLK layer (and matching OF_CONTROL)
* soon.
*/
- if (!uclass_get_device_by_of_offset(UCLASS_SPI_FLASH, node, &parent))
+ if (!uclass_find_device_by_of_offset(UCLASS_SPI_FLASH, node, &parent))
return BOOT_DEVICE_SPI;
return -1;