diff options
Diffstat (limited to 'meta-raspberrypi/recipes-bsp/u-boot')
3 files changed, 66 insertions, 0 deletions
diff --git a/meta-raspberrypi/recipes-bsp/u-boot/files/0001-dm-core-Move-ofdata_to_platdata-call-earlier.patch b/meta-raspberrypi/recipes-bsp/u-boot/files/0001-dm-core-Move-ofdata_to_platdata-call-earlier.patch new file mode 100644 index 000000000..996ad1074 --- /dev/null +++ b/meta-raspberrypi/recipes-bsp/u-boot/files/0001-dm-core-Move-ofdata_to_platdata-call-earlier.patch @@ -0,0 +1,51 @@ +From 336d86ebd146905cf4384912f4f27699b6e37c72 Mon Sep 17 00:00:00 2001 +From: Simon Glass <sjg@chromium.org> +Date: Sun, 29 Dec 2019 21:19:17 -0700 +Subject: [PATCH] dm: core: Move ofdata_to_platdata() call earlier + +This method is supposed to extract platform data from the device tree. It +should be done before the device itself is probed. Move it earlier in the +device_probe() function. + +Upstream-Status: Backport + +Signed-off-by: Simon Glass <sjg@chromium.org> +--- + drivers/core/device.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/drivers/core/device.c b/drivers/core/device.c +index 4e03708..291ff4c 100644 +--- a/drivers/core/device.c ++++ b/drivers/core/device.c +@@ -375,6 +375,13 @@ int device_probe(struct udevice *dev) + return 0; + } + ++ if (drv->ofdata_to_platdata && ++ (CONFIG_IS_ENABLED(OF_PLATDATA) || dev_has_of_node(dev))) { ++ ret = drv->ofdata_to_platdata(dev); ++ if (ret) ++ goto fail; ++ } ++ + seq = uclass_resolve_seq(dev); + if (seq < 0) { + ret = seq; +@@ -411,13 +418,6 @@ int device_probe(struct udevice *dev) + goto fail; + } + +- if (drv->ofdata_to_platdata && +- (CONFIG_IS_ENABLED(OF_PLATDATA) || dev_has_of_node(dev))) { +- ret = drv->ofdata_to_platdata(dev); +- if (ret) +- goto fail; +- } +- + /* Only handle devices that have a valid ofnode */ + if (dev_of_valid(dev)) { + /* +-- +2.7.4 + diff --git a/meta-raspberrypi/recipes-bsp/u-boot/files/fw_env.config b/meta-raspberrypi/recipes-bsp/u-boot/files/fw_env.config new file mode 100644 index 000000000..d00df0cb3 --- /dev/null +++ b/meta-raspberrypi/recipes-bsp/u-boot/files/fw_env.config @@ -0,0 +1 @@ +/boot/uboot.env 0x0000 0x4000 diff --git a/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend b/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend index 9ce642563..cdfe5bb8b 100644 --- a/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend +++ b/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend @@ -1 +1,15 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +SRC_URI_append_rpi = " \ + file://fw_env.config \ +" + +# special fix for raspberrypi-cm3 +SRC_URI_append_raspberrypi-cm3 = " file://0001-dm-core-Move-ofdata_to_platdata-call-earlier.patch" + DEPENDS_append_rpi = " u-boot-default-script" + +do_install_append_rpi () { + install -d ${D}${sysconfdir} + install -m 0644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config +} |