Message ID | 20181001182249.129565-15-sjg@chromium.org |
---|---|
State | Accepted |
Commit | 06f94461a9f4769473651a34d7625f895ebe4996 |
Delegated to: | Simon Glass |
Headers | show |
Series | Various fixes and improvements | expand |
At present it is not possible to specify that a node should be used before
relocation (in U-Boot proper) without it also ending up in SPL and TPL
device trees. Add a new "u-boot,dm-pre-proper" boolean property for this.
Signed-off-by: Simon Glass <sjg@chromium.org>
---
doc/driver-model/README.txt | 4 +++-
drivers/core/ofnode.c | 2 ++
2 files changed, 5 insertions(+), 1 deletion(-)
Applied to u-boot-dm
diff --git a/doc/driver-model/README.txt b/doc/driver-model/README.txt index 6085f927dea..36541630a27 100644 --- a/doc/driver-model/README.txt +++ b/doc/driver-model/README.txt @@ -837,7 +837,9 @@ well, if device tree is enabled there. It is possible to limit this to specific relocation steps, by using the more specialized 'u-boot,dm-spl' and 'u-boot,dm-tpl' flags -in the devicetree. +in the device tree node. For U-Boot proper you can use 'u-boot,dm-pre-proper' +which means that it will be processed (and a driver bound) in U-Boot proper +prior to relocation, but will not be available in SPL or TPL. Then post relocation we throw that away and re-init driver model again. For drivers which require some sort of continuity between pre- and diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c index 1e354803b06..825ffc27496 100644 --- a/drivers/core/ofnode.c +++ b/drivers/core/ofnode.c @@ -695,6 +695,8 @@ bool ofnode_pre_reloc(ofnode node) { if (ofnode_read_bool(node, "u-boot,dm-pre-reloc")) return true; + if (ofnode_read_bool(node, "u-boot,dm-pre-proper")) + return true; #ifdef CONFIG_TPL_BUILD if (ofnode_read_bool(node, "u-boot,dm-tpl"))
At present it is not possible to specify that a node should be used before relocation (in U-Boot proper) without it also ending up in SPL and TPL device trees. Add a new "u-boot,dm-pre-proper" boolean property for this. Signed-off-by: Simon Glass <sjg@chromium.org> --- doc/driver-model/README.txt | 4 +++- drivers/core/ofnode.c | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-)