summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2018-10-01 12:22:27 -0600
committerSimon Glass <sjg@chromium.org>2018-10-09 04:40:27 -0600
commitc89d32a7b1acc6a16b1e749e93844f7364ceacbf (patch)
treeabffe71f73c667fd8cd5234aaaa262f9ddd6e24e
parentc6ebd011bb27750263e8dd62e33ed5cdd49dc88e (diff)
downloadu-boot-c89d32a7b1acc6a16b1e749e93844f7364ceacbf.tar.gz
tpm: Use livetree and allow children
Adjust the TPM drivers to use livetree (only one does not). Also, sometimes TPMs can have child devices if they provide a service to the system (such as storing secure data), so permit that. Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--drivers/tpm/tpm-uclass.c3
-rw-r--r--drivers/tpm/tpm_tis_lpc.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/drivers/tpm/tpm-uclass.c b/drivers/tpm/tpm-uclass.c
index 80fa0783d5..1b11c93194 100644
--- a/drivers/tpm/tpm-uclass.c
+++ b/drivers/tpm/tpm-uclass.c
@@ -129,5 +129,8 @@ UCLASS_DRIVER(tpm) = {
.id = UCLASS_TPM,
.name = "tpm",
.flags = DM_UC_FLAG_SEQ_ALIAS,
+#if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)
+ .post_bind = dm_scan_fdt_dev,
+#endif
.per_device_auto_alloc_size = sizeof(struct tpm_chip_priv),
};
diff --git a/drivers/tpm/tpm_tis_lpc.c b/drivers/tpm/tpm_tis_lpc.c
index 7664bb1a60..e993fd9f83 100644
--- a/drivers/tpm/tpm_tis_lpc.c
+++ b/drivers/tpm/tpm_tis_lpc.c
@@ -164,7 +164,7 @@ static int tpm_tis_lpc_probe(struct udevice *dev)
u32 didvid;
ulong chip_type = dev_get_driver_data(dev);
- addr = devfdt_get_addr(dev);
+ addr = dev_read_addr(dev);
if (addr == FDT_ADDR_T_NONE)
return -EINVAL;
priv->regs = map_sysmem(addr, 0);