diff --git a/drivers/core/device.c b/drivers/core/device.c index 7b8f0e3e1c..dfce232b74 100644 --- a/drivers/core/device.c +++ b/drivers/core/device.c @@ -70,7 +70,8 @@ static int device_bind_common(struct udevice *parent, const struct driver *drv, list_for_each_entry_safe(dev, n, &uc->dev_head, uclass_node) { if (!strcmp(name, dev->name) && - dev_read_bool(dev, "u-boot,dm-pre-reloc")) { + (dev_read_bool(dev, "u-boot,dm-pre-reloc") || + dev_read_bool(dev, "u-boot,dm-spl"))) { if (drv->id == UCLASS_SERIAL || drv->id == UCLASS_CRYPTO) { /* Always use serial node from U-Boot dtb */ debug("%s do not delete uboot dev: %s\n", diff --git a/drivers/core/dump.c b/drivers/core/dump.c index 89162641f2..2264e5f6af 100644 --- a/drivers/core/dump.c +++ b/drivers/core/dump.c @@ -35,7 +35,8 @@ static void show_devices(struct udevice *dev, int depth, int last_flag) } printf("%s %s\n", dev->name, - dev_read_bool(dev, "u-boot,dm-pre-reloc") ? "*" : ""); + dev_read_bool(dev, "u-boot,dm-pre-reloc") || + dev_read_bool(dev, "u-boot,dm-spl") ? "*" : ""); list_for_each_entry(child, &dev->child_head, sibling_node) { is_last = list_is_last(&child->sibling_node, &dev->child_head); diff --git a/drivers/core/root.c b/drivers/core/root.c index d6dfeea263..07db4e396b 100644 --- a/drivers/core/root.c +++ b/drivers/core/root.c @@ -224,7 +224,12 @@ static int dm_scan_fdt_live(struct udevice *parent, for (np = node_parent->child; np; np = np->sibling) { if (pre_reloc_only && - !of_find_property(np, "u-boot,dm-pre-reloc", NULL)) +#ifdef CONFIG_USING_KERNEL_DTB + (!of_find_property(np, "u-boot,dm-pre-reloc", NULL) || + !of_find_property(np, "u-boot,dm-spl", NULL))) +#else + !of_find_property(np, "u-boot,dm-pre-reloc", NULL)) +#endif continue; if (!of_device_is_available(np)) { pr_debug(" - ignoring disabled device\n"); diff --git a/drivers/input/key-uclass.c b/drivers/input/key-uclass.c index 46bcb30a34..7a06559ab4 100644 --- a/drivers/input/key-uclass.c +++ b/drivers/input/key-uclass.c @@ -263,7 +263,8 @@ static int key_post_probe(struct udevice *dev) return -ENXIO; /* True from U-Boot key node */ - uc_key->pre_reloc = dev_read_bool(dev, "u-boot,dm-pre-reloc"); + uc_key->pre_reloc = dev_read_bool(dev, "u-boot,dm-pre-reloc") || + dev_read_bool(dev, "u-boot,dm-spl"); if (uc_key->type == ADC_KEY) { uc_key->max = uc_key->adcval + margin;