Initialize both ESM and ESM_PMIC support if available for the board.
If support is not available for either, a warning is printed out.

ESM signals are only properly routed on PM2 version of the J721E SOM,
so only probe the drivers on this device.

Signed-off-by: Tero Kristo <t-kri...@ti.com>
---
 board/ti/j721e/evm.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/board/ti/j721e/evm.c b/board/ti/j721e/evm.c
index aa2240b852..c068bb86b5 100644
--- a/board/ti/j721e/evm.c
+++ b/board/ti/j721e/evm.c
@@ -15,6 +15,8 @@
 #include <asm/io.h>
 #include <spl.h>
 #include <asm/arch/sys_proto.h>
+#include <dm.h>
+#include <dm/uclass-internal.h>
 
 #include "../common/board_detect.h"
 
@@ -343,5 +345,29 @@ int board_late_init(void)
 
 void spl_board_init(void)
 {
+#if defined(CONFIG_ESM_K3) || defined(CONFIG_ESM_PMIC)
+       struct udevice *dev;
+       int ret;
+#endif
+
        probe_daughtercards();
+
+#ifdef CONFIG_ESM_K3
+       if (board_ti_k3_is("J721EX-PM2-SOM")) {
+               ret = uclass_get_device_by_driver(UCLASS_MISC,
+                                                 DM_GET_DRIVER(k3_esm), &dev);
+               if (ret)
+                       printf("ESM init failed: %d\n", ret);
+       }
+#endif
+
+#ifdef CONFIG_ESM_PMIC
+       if (board_ti_k3_is("J721EX-PM2-SOM")) {
+               ret = uclass_get_device_by_driver(UCLASS_MISC,
+                                                 DM_GET_DRIVER(pmic_esm),
+                                                 &dev);
+               if (ret)
+                       printf("ESM PMIC init failed: %d\n", ret);
+       }
+#endif
 }
-- 
2.17.1

--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. 
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

Reply via email to