arm: Disable ATAGs support
[platform/kernel/u-boot.git] / board / toradex / common / tdx-common.c
index 2d560cc..9db4553 100644 (file)
@@ -4,10 +4,18 @@
  */
 
 #include <common.h>
-#include <environment.h>
+#include <env.h>
 #include <g_dnl.h>
+#include <init.h>
 #include <linux/libfdt.h>
 
+#ifdef CONFIG_DM_VIDEO
+#include <bmp_logo.h>
+#include <dm.h>
+#include <splash.h>
+#include <video.h>
+#endif
+
 #include "tdx-cfg-block.h"
 #include <asm/setup.h>
 #include "tdx-common.h"
 static char tdx_serial_str[9];
 static char tdx_board_rev_str[6];
 
-#ifdef CONFIG_REVISION_TAG
-u32 get_board_rev(void)
+#ifdef CONFIG_TDX_CFG_BLOCK_EXTRA
+static char tdx_car_serial_str[9];
+static char tdx_car_rev_str[6];
+static char *tdx_carrier_board_name;
+#endif
+
+#if defined(CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG)
+u32 get_board_revision(void)
 {
        /* Check validity */
        if (!tdx_hw_tag.ver_major)
@@ -87,6 +101,28 @@ int show_board_info(void)
                       toradex_modules[tdx_hw_tag.prodid],
                       tdx_board_rev_str,
                       tdx_serial_str);
+#ifdef CONFIG_TDX_CFG_BLOCK_EXTRA
+               if (read_tdx_cfg_block_carrier()) {
+                       printf("MISSING TORADEX CARRIER CONFIG BLOCKS\n");
+                       try_migrate_tdx_cfg_block_carrier();
+               } else {
+                       tdx_carrier_board_name = (char *)
+                               toradex_carrier_boards[tdx_car_hw_tag.prodid];
+
+                       sprintf(tdx_car_serial_str, "%08u", tdx_car_serial);
+                       sprintf(tdx_car_rev_str, "V%1d.%1d%c",
+                               tdx_car_hw_tag.ver_major,
+                               tdx_car_hw_tag.ver_minor,
+                               (char)tdx_car_hw_tag.ver_assembly +
+                               'A');
+
+                       env_set("carrier_serial#", tdx_car_serial_str);
+                       printf("Carrier: Toradex %s %s, Serial# %s\n",
+                              tdx_carrier_board_name,
+                              tdx_car_rev_str,
+                              tdx_car_serial_str);
+               }
+#endif
        }
 
        /*
@@ -111,7 +147,7 @@ int show_board_info(void)
        return 0;
 }
 
-#ifdef CONFIG_USB_GADGET_DOWNLOAD
+#ifdef CONFIG_TDX_CFG_BLOCK_USB_GADGET_PID
 int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name)
 {
        unsigned short usb_pid;
@@ -124,7 +160,7 @@ int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name)
 #endif
 
 #if defined(CONFIG_OF_LIBFDT)
-int ft_common_board_setup(void *blob, bd_t *bd)
+int ft_common_board_setup(void *blob, struct bd_info *bd)
 {
        if (tdx_serial) {
                fdt_setprop(blob, 0, "serial-number", tdx_serial_str,
@@ -147,8 +183,8 @@ int ft_common_board_setup(void *blob, bd_t *bd)
 
 #else /* CONFIG_TDX_CFG_BLOCK */
 
-#ifdef CONFIG_REVISION_TAG
-u32 get_board_rev(void)
+#if defined(CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG)
+u32 get_board_revision(void)
 {
        return 0;
 }
@@ -161,7 +197,7 @@ u32 get_board_serial(void)
 }
 #endif /* CONFIG_SERIAL_TAG */
 
-int ft_common_board_setup(void *blob, bd_t *bd)
+int ft_common_board_setup(void *blob, struct bd_info *bd)
 {
        return 0;
 }