]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
imx: Convert SERIAL_TAG support to ENV_VARS_UBOOT_RUNTIME_CONFIG
authorTom Rini <trini@konsulko.com>
Mon, 30 Aug 2021 13:16:29 +0000 (09:16 -0400)
committerTom Rini <trini@konsulko.com>
Tue, 7 Sep 2021 17:04:52 +0000 (13:04 -0400)
No iMX platforms have supported ATAG-based booting.  They have however
re-used the CONFIG_SERIAL_TAG option as a way to enable support of
reading the OTP fuses and setting the serial# environment variable in
some cases.  Change the warp7 support to use this symbol, use this for
updating the rest of the imx7 code, and update the imx8 conditionals.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: NXP i.MX U-Boot Team <uboot-imx@nxp.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
19 files changed:
arch/arm/include/asm/bootm.h
arch/arm/mach-imx/imx8/cpu.c
arch/arm/mach-imx/imx8ulp/soc.c
arch/arm/mach-imx/mx7/soc.c
board/warp7/warp7.c
configs/gwventana_emmc_defconfig
configs/gwventana_gw5904_defconfig
configs/gwventana_nand_defconfig
configs/imx8ulp_evk_defconfig
configs/puma-rk3399_defconfig
configs/warp7_bl33_defconfig
configs/warp7_defconfig
include/configs/apalis_imx6.h
include/configs/cm_fx6.h
include/configs/colibri_imx6.h
include/configs/gw_ventana.h
include/configs/imx8ulp_evk.h
include/configs/puma_rk3399.h
include/configs/warp7.h

index a2131ca07c52a62649689c7752d773f1f8adc130..27f183b93d6b13c9ca639804c711b6768becadfa 100644 (file)
@@ -41,9 +41,12 @@ extern void udc_disconnect(void);
 struct tag_serialnr;
 #ifdef CONFIG_SERIAL_TAG
  #define BOOTM_ENABLE_SERIAL_TAG       1
-void get_board_serial(struct tag_serialnr *serialnr);
 #else
  #define BOOTM_ENABLE_SERIAL_TAG       0
+#endif
+#if defined(CONFIG_SERIAL_TAG) || defined(CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG)
+void get_board_serial(struct tag_serialnr *serialnr);
+#else
 static inline void get_board_serial(struct tag_serialnr *serialnr)
 {
 }
index 02db322f51af4006922b330ffa6790999cb5c13e..ee5cc479039bc523bc292cb871c9bedd09d476cf 100644 (file)
@@ -172,7 +172,7 @@ enum boot_device get_boot_device(void)
        return boot_dev;
 }
 
-#ifdef CONFIG_SERIAL_TAG
+#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
 #define FUSE_UNIQUE_ID_WORD0 16
 #define FUSE_UNIQUE_ID_WORD1 17
 void get_board_serial(struct tag_serialnr *serialnr)
@@ -201,7 +201,7 @@ void get_board_serial(struct tag_serialnr *serialnr)
        serialnr->low = val1;
        serialnr->high = val2;
 }
-#endif /*CONFIG_SERIAL_TAG*/
+#endif /*CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG*/
 
 #ifdef CONFIG_ENV_IS_IN_MMC
 __weak int board_mmc_get_env_dev(int devno)
index 1c33acc7dd6e4a864095d169b478c6db795f0c59..bba6323f96fa163cdb8193f791edd4a1ccc92a54 100644 (file)
@@ -405,7 +405,7 @@ int dram_init(void)
        return 0;
 }
 
-#ifdef CONFIG_SERIAL_TAG
+#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
 void get_board_serial(struct tag_serialnr *serialnr)
 {
        u32 uid[4];
index 6f9a30bb5f4dd6eb2a2938feec78122235037a27..9c7d5f18dad4692f79916106c571f6b707ab198f 100644 (file)
@@ -15,6 +15,7 @@
 #include <asm/arch/imx-rdc.h>
 #include <asm/mach-imx/boot_mode.h>
 #include <asm/arch/crm_regs.h>
+#include <asm/bootm.h>
 #include <dm.h>
 #include <env.h>
 #include <imx_thermal.h>
@@ -337,10 +338,19 @@ int arch_cpu_init(void)
 int arch_misc_init(void)
 {
 #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
+       struct tag_serialnr serialnr;
+       char serial_string[0x20];
+
        if (is_mx7d())
                env_set("soc", "imx7d");
        else
                env_set("soc", "imx7s");
+
+       /* Set serial# standard environment variable based on OTP settings */
+       get_board_serial(&serialnr);
+       snprintf(serial_string, sizeof(serial_string), "0x%08x%08x",
+                serialnr.low, serialnr.high);
+       env_set("serial#", serial_string);
 #endif
 
 #ifdef CONFIG_FSL_CAAM
@@ -351,7 +361,7 @@ int arch_misc_init(void)
 }
 #endif
 
-#ifdef CONFIG_SERIAL_TAG
+#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
 /*
  * OCOTP_TESTER
  * i.MX 7Solo Applications Processor Reference Manual, Rev. 0.1, 08/2016
index 0f202241dd78dc1e978822591a200fe37a9efcdb..c5c5433048dd708d6c9b9118dcb32465b6206df4 100644 (file)
@@ -134,7 +134,7 @@ int checkboard(void)
 int board_late_init(void)
 {
        struct wdog_regs *wdog = (struct wdog_regs *)WDOG1_BASE_ADDR;
-#ifdef CONFIG_SERIAL_TAG
+#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
        struct tag_serialnr serialnr;
        char serial_string[0x20];
 #endif
@@ -156,7 +156,7 @@ int board_late_init(void)
        env_set_ulong(HAB_ENABLED_ENVNAME, 0);
 #endif
 
-#ifdef CONFIG_SERIAL_TAG
+#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
        /* Set serial# standard environment variable based on OTP settings */
        get_board_serial(&serialnr);
        snprintf(serial_string, sizeof(serial_string), "WaRP7-0x%08x%08x",
index d1074323daf768eeb65e0439e16b86125e7c8c68..000bdb5949193b3fdafa77e995ec82ea99f6617b 100644 (file)
@@ -79,6 +79,7 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_PART=1
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_NETCONSOLE=y
 CONFIG_DM=y
 CONFIG_BOUNCE_BUFFER=y
index f579d0fd8d1bd0c4d3d93617c985cf6d3ecc5c5a..87851f352457db1ba1d96c6a4a90c5367cece047 100644 (file)
@@ -79,6 +79,7 @@ CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_PART=1
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_NETCONSOLE=y
 CONFIG_DM=y
 CONFIG_BOUNCE_BUFFER=y
index b587adefb52cd357cf94c24d1fcaecfbe26fea60..ff5001ef9611344df4caeb2d43c0aad6b48842e0 100644 (file)
@@ -81,6 +81,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_NETCONSOLE=y
 CONFIG_DM=y
 CONFIG_BOUNCE_BUFFER=y
index 1c6288d310102ee53d0f047c0d71002bf2c4a8a0..f156100888044442407fe1677d86566e28d61d26 100644 (file)
@@ -40,6 +40,7 @@ CONFIG_CMD_REGULATOR=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_SPL_OF_CONTROL=y
 CONFIG_ENV_IS_IN_MMC=y
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_DM=y
 CONFIG_IMX_RGPIO2P=y
index a0a3059a3620dc9610880eff469d8db0ed806ca9..afc54fe45cf83623740ca29f4301ab08fabec54b 100644 (file)
@@ -46,6 +46,7 @@ CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_ROCKCHIP_GPIO=y
 CONFIG_SYS_I2C_ROCKCHIP=y
index e260bbeef5e89ac6f1cdead56293b063bb511175..d127a4f8d32650d333d2fbbb462a8c15c519c798 100644 (file)
@@ -32,6 +32,7 @@ CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DFU_MMC=y
index 1b775282864f5f5c880c808177de1eea8233be6e..4b339b47caf4b1516bf122bc6ae151aa7ac845f6 100644 (file)
@@ -38,6 +38,7 @@ CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DFU_MMC=y
index 839af489dd82558ead25c5468ffa5cc86fab1dcd..de6e205e3972eb9e47acfe88b63baf1b6575038f 100644 (file)
@@ -27,7 +27,6 @@
 #define CONFIG_SETUP_MEMORY_TAGS
 #define CONFIG_INITRD_TAG
 #define CONFIG_REVISION_TAG
-#define CONFIG_SERIAL_TAG
 
 #define CONFIG_MXC_UART_BASE           UART1_BASE
 
index 2e7d343858c1c7fbc3c836a4732a77bb7f95b22e..7092def8f9a7dd49457a419566c5fdb51d3c33c8 100644 (file)
 
 /* Boot */
 #define CONFIG_SYS_BOOTMAPSZ           (8 << 20)
-#define CONFIG_SERIAL_TAG
 
 /* misc */
 
index be0ed457d602399d6ba8b9bb5330559f9c85afeb..8d628e7a60abe9acdd457a58737f9c307768e6b7 100644 (file)
@@ -25,7 +25,6 @@
 #define CONFIG_SETUP_MEMORY_TAGS
 #define CONFIG_INITRD_TAG
 #define CONFIG_REVISION_TAG
-#define CONFIG_SERIAL_TAG
 
 #define CONFIG_MXC_UART_BASE           UART1_BASE
 
index 012c9b6ffef5abe1ffdec93b13f041a76ed5babf..ed8e50832aaae354337913298703c66623409435 100644 (file)
@@ -26,9 +26,6 @@
 
 #define CONFIG_MACH_TYPE       4520   /* Gateworks Ventana Platform */
 
-/* Serial ATAG */
-#define CONFIG_SERIAL_TAG
-
 /* Serial */
 #define CONFIG_MXC_UART_BASE          UART2_BASE
 
index 1621b047d78327240c66aba2755d979a705585e0..8e9a159e9b3776167a18a6f25a2812e6f0332c73 100644 (file)
@@ -33,8 +33,6 @@
 
 #endif
 
-#define CONFIG_SERIAL_TAG
-
 #define CONFIG_REMAKE_ELF
 
 #define CONFIG_BOARD_EARLY_INIT_F
index f52ea014b5d6d760cc7340eac3815cd18b3218d6..23de326e7208dae13afdc9546a62ef4a9fb60ccf 100644 (file)
@@ -10,6 +10,4 @@
 
 #define SDRAM_BANK_SIZE                        (2UL << 30)
 
-#define CONFIG_SERIAL_TAG
-
 #endif
index bb9ba373eb4c171006377f6f66a4d7d6b4a95978..0822eaf5557be9ebc601bcbee020c14e5ba4fe6d 100644 (file)
@@ -18,9 +18,6 @@
 #define CONFIG_SYS_FSL_ESDHC_HAS_DDR_MODE
 #define CONFIG_SYS_MMC_IMG_LOAD_PART   1
 
-/* Switch on SERIAL_TAG */
-#define CONFIG_SERIAL_TAG
-
 #define CONFIG_DFU_ENV_SETTINGS \
        "dfu_alt_info=boot raw 0x2 0x1000 mmcpart 1\0" \