board: ti: j721e: initialize ESM support
authorTero Kristo <t-kristo@ti.com>
Fri, 14 Feb 2020 09:18:19 +0000 (11:18 +0200)
committerLokesh Vutla <lokeshvutla@ti.com>
Tue, 3 Mar 2020 07:38:14 +0000 (13:08 +0530)
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-kristo@ti.com>
board/ti/j721e/evm.c

index aa2240b8523b9c8498ff74a07dfe39ff287e40f5..c068bb86b594577d2c2dee4160c6857d2061638a 100644 (file)
@@ -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
 }