diff options
author | Simon Glass <sjg@chromium.org> | 2018-10-01 12:22:18 -0600 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2018-10-09 04:40:27 -0600 |
commit | 06f94461a9f4769473651a34d7625f895ebe4996 (patch) | |
tree | 5a56c0ee6ef198df774dbcb74febbc6e73d1e6af | |
parent | a15a7aa47be25580413a49f9e8f33ba02a46ede7 (diff) | |
download | u-boot-06f94461a9f4769473651a34d7625f895ebe4996.zip u-boot-06f94461a9f4769473651a34d7625f895ebe4996.tar.gz u-boot-06f94461a9f4769473651a34d7625f895ebe4996.tar.bz2 |
fdt: Allow indicating a node is for U-Boot proper only
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>
-rw-r--r-- | doc/driver-model/README.txt | 4 | ||||
-rw-r--r-- | drivers/core/ofnode.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/doc/driver-model/README.txt b/doc/driver-model/README.txt index 6085f92..3654163 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 fbc6751..b7b7ad3 100644 --- a/drivers/core/ofnode.c +++ b/drivers/core/ofnode.c @@ -699,6 +699,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")) |