
Hi Marcel,
Just found an issue with this patch.
On 2016-11-07 05:36, Marcel Ziswiler wrote:
With our common code in place actually make use of it across all our modules.
Signed-off-by: Marcel Ziswiler marcel.ziswiler@toradex.com Acked-by: Max Krummenacher max.krummenacher@toradex.com
Changes in v4: None Changes in v3:
- use checkboard() rather than checkboard_fallback()
- drop CUSTOM_BOARDINFO
Changes in v2: None
board/toradex/apalis_t30/Kconfig | 18 ++++++++++++++++++ board/toradex/apalis_t30/apalis_t30.c | 12 +++++++++++- board/toradex/colibri_imx7/Kconfig | 16 ++++++++++++++++ board/toradex/colibri_pxa270/Kconfig | 11 +++++++++++ board/toradex/colibri_pxa270/colibri_pxa270.c | 8 ++++++++ board/toradex/colibri_t20/Kconfig | 11 +++++++++++ board/toradex/colibri_t20/colibri_t20.c | 13 +++++++++++++ board/toradex/colibri_t30/Kconfig | 18 ++++++++++++++++++ board/toradex/colibri_t30/colibri_t30.c | 9 ++++++++- board/toradex/colibri_vf/Kconfig | 14 ++++++++++++++ configs/colibri_vf_defconfig | 1 + include/configs/apalis_t30.h | 4 ++-- include/configs/colibri_imx7.h | 6 +++++- include/configs/colibri_pxa270.h | 6 +++++- include/configs/colibri_t20.h | 2 +- include/configs/colibri_t30.h | 4 ++-- include/configs/colibri_vf.h | 6 ++++-- 17 files changed, 148 insertions(+), 11 deletions(-)
diff --git a/board/toradex/apalis_t30/Kconfig b/board/toradex/apalis_t30/Kconfig index f1dcda5..16224da 100644 --- a/board/toradex/apalis_t30/Kconfig +++ b/board/toradex/apalis_t30/Kconfig @@ -9,4 +9,22 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "apalis_t30"
+config TDX_CFG_BLOCK
- default y
+config TDX_HAVE_MMC
- default y
+config TDX_CFG_BLOCK_DEV
- default "0"
+config TDX_CFG_BLOCK_PART
- default "1"
+# Toradex config block in eMMC, at the end of 1st "boot sector" +config TDX_CFG_BLOCK_OFFSET
- default "-512"
+source "board/toradex/common/Kconfig"
Sourcing the common Kconfig in every board file leads to multiple entries (e.g. make menuconfig looks rather crowded).
I just checked Documentation/kbuild/kconfig-language.txt, you can't conditionally include a Kconfig file. It will always include it, that seems to cause the issue.
I suggest to just add it to arch/arm/Kconfig once, there are some other "common" includes already.
-- Stefan
endif diff --git a/board/toradex/apalis_t30/apalis_t30.c b/board/toradex/apalis_t30/apalis_t30.c index 3f56971..3d83491 100644 --- a/board/toradex/apalis_t30/apalis_t30.c +++ b/board/toradex/apalis_t30/apalis_t30.c @@ -1,5 +1,5 @@ /*
- (C) Copyright 2014
- (C) Copyright 2014-2016
- Marcel Ziswiler marcel@ziswiler.com
- SPDX-License-Identifier: GPL-2.0+
@@ -17,6 +17,8 @@
#include "pinmux-config-apalis_t30.h"
+DECLARE_GLOBAL_DATA_PTR;
#define PMU_I2C_ADDRESS 0x2D #define MAX_I2C_RETRY 3
@@ -29,6 +31,14 @@ int arch_misc_init(void) return 0; }
+int checkboard(void) +{
- printf("Model: Toradex Apalis T30 %dGB\n",
(gd->ram_size == 0x40000000) ? 1 : 2);
- return 0;
+}
/*
- Routine: pinmux_init
- Description: Do individual peripheral pinmux configs
diff --git a/board/toradex/colibri_imx7/Kconfig b/board/toradex/colibri_imx7/Kconfig index 7bba26b..414a600 100644 --- a/board/toradex/colibri_imx7/Kconfig +++ b/board/toradex/colibri_imx7/Kconfig @@ -16,5 +16,21 @@ config COLIBRI_IMX7_EXT_PHYCLK clock source. default y
+config TDX_CFG_BLOCK
- default y
+config TDX_HAVE_NAND
- default y
+config TDX_CFG_BLOCK_OFFSET
- default "2048"
+config TDX_CFG_BLOCK_OFFSET2
- default "133120"
+config TDX_CFG_BLOCK_2ND_ETHADDR
- default y
+source "board/toradex/common/Kconfig"
endif diff --git a/board/toradex/colibri_pxa270/Kconfig b/board/toradex/colibri_pxa270/Kconfig index 949407a..f646baa 100644 --- a/board/toradex/colibri_pxa270/Kconfig +++ b/board/toradex/colibri_pxa270/Kconfig @@ -9,4 +9,15 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "colibri_pxa270"
+config TDX_CFG_BLOCK
- default y
+config TDX_HAVE_NOR
- default y
+config TDX_CFG_BLOCK_OFFSET
- default "262144"
+source "board/toradex/common/Kconfig"
endif diff --git a/board/toradex/colibri_pxa270/colibri_pxa270.c b/board/toradex/colibri_pxa270/colibri_pxa270.c index 3def0a6..de8cb28 100644 --- a/board/toradex/colibri_pxa270/colibri_pxa270.c +++ b/board/toradex/colibri_pxa270/colibri_pxa270.c @@ -2,6 +2,7 @@
- Toradex Colibri PXA270 Support
- Copyright (C) 2010 Marek Vasut marek.vasut@gmail.com
*/
- Copyright (C) 2016 Marcel Ziswiler marcel.ziswiler@toradex.com
- SPDX-License-Identifier: GPL-2.0+
@@ -32,6 +33,13 @@ int board_init(void) return 0; }
+int checkboard(void) +{
- puts("Model: Toradex Colibri PXA270\n");
- return 0;
+}
int dram_init(void) { pxa2xx_dram_init(); diff --git a/board/toradex/colibri_t20/Kconfig b/board/toradex/colibri_t20/Kconfig index 7f373b2..a43acdd 100644 --- a/board/toradex/colibri_t20/Kconfig +++ b/board/toradex/colibri_t20/Kconfig @@ -9,4 +9,15 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "colibri_t20"
+config TDX_CFG_BLOCK
- default y
+config TDX_HAVE_NAND
- default y
+config TDX_CFG_BLOCK_OFFSET
- default "3145728"
+source "board/toradex/common/Kconfig"
endif diff --git a/board/toradex/colibri_t20/colibri_t20.c b/board/toradex/colibri_t20/colibri_t20.c index 68fbf49..01b55be 100644 --- a/board/toradex/colibri_t20/colibri_t20.c +++ b/board/toradex/colibri_t20/colibri_t20.c @@ -14,6 +14,9 @@ #include <asm/gpio.h> #include <asm/io.h> #include <i2c.h> +#include <nand.h>
+DECLARE_GLOBAL_DATA_PTR;
#define PMU_I2C_ADDRESS 0x34 #define MAX_I2C_RETRY 3 @@ -61,6 +64,16 @@ int arch_misc_init(void) return 0; }
+int checkboard(void) +{
- printf("Model: Toradex Colibri T20 %dMB V%s\n",
(gd->ram_size == 0x10000000) ? 256 : 512,
(nand_info[0]->erasesize >> 10 == 512) ?
((gd->ram_size == 0x10000000) ? "1.1B" : "1.1C") : "1.2A");
- return 0;
+}
#ifdef CONFIG_TEGRA_MMC /*
- Routine: pin_mux_mmc
diff --git a/board/toradex/colibri_t30/Kconfig b/board/toradex/colibri_t30/Kconfig index 3e436a2..68ef82b 100644 --- a/board/toradex/colibri_t30/Kconfig +++ b/board/toradex/colibri_t30/Kconfig @@ -9,4 +9,22 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "colibri_t30"
+config TDX_CFG_BLOCK
- default y
+config TDX_HAVE_MMC
- default y
+config TDX_CFG_BLOCK_DEV
- default "0"
+config TDX_CFG_BLOCK_PART
- default "1"
+# Toradex config block in eMMC, at the end of 1st "boot sector" +config TDX_CFG_BLOCK_OFFSET
- default "-512"
+source "board/toradex/common/Kconfig"
endif diff --git a/board/toradex/colibri_t30/colibri_t30.c b/board/toradex/colibri_t30/colibri_t30.c index e32362a..707d07e 100644 --- a/board/toradex/colibri_t30/colibri_t30.c +++ b/board/toradex/colibri_t30/colibri_t30.c @@ -1,5 +1,5 @@ /*
- (C) Copyright 2014
- (C) Copyright 2014-2016
- Stefan Agner stefan@agner.ch
- SPDX-License-Identifier: GPL-2.0+
@@ -24,6 +24,13 @@ int arch_misc_init(void) return 0; }
+int checkboard(void) +{
- puts("Model: Toradex Colibri T30 1GB\n");
- return 0;
+}
/*
- Routine: pinmux_init
- Description: Do individual peripheral pinmux configs
diff --git a/board/toradex/colibri_vf/Kconfig b/board/toradex/colibri_vf/Kconfig index 2c3cb30..bf9bb01 100644 --- a/board/toradex/colibri_vf/Kconfig +++ b/board/toradex/colibri_vf/Kconfig @@ -15,4 +15,18 @@ config SYS_SOC config SYS_CONFIG_NAME default "colibri_vf"
+config TDX_CFG_BLOCK
- default y
+config TDX_HAVE_NAND
- default y
+config TDX_CFG_BLOCK_OFFSET
- default "2048"
+config TDX_CFG_BLOCK_2ND_ETHADDR
- default y
+source "board/toradex/common/Kconfig"
endif diff --git a/configs/colibri_vf_defconfig b/configs/colibri_vf_defconfig index 1020e44..54d3581 100644 --- a/configs/colibri_vf_defconfig +++ b/configs/colibri_vf_defconfig @@ -4,6 +4,7 @@ CONFIG_DEFAULT_DEVICE_TREE="vf610-colibri"
CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/toradex/colibri_vf/imximage.cfg,ENV_IS_IN_NAND,IMX_NAND" CONFIG_BOOTDELAY=1 CONFIG_VERSION_VARIABLE=y +# CONFIG_DISPLAY_BOARDINFO is not set CONFIG_HUSH_PARSER=y CONFIG_SYS_PROMPT="Colibri VFxx # " CONFIG_CMD_BOOTZ=y diff --git a/include/configs/apalis_t30.h b/include/configs/apalis_t30.h index d38302d..069ed20 100644 --- a/include/configs/apalis_t30.h +++ b/include/configs/apalis_t30.h @@ -1,5 +1,5 @@ /*
- Copyright (c) 2014-2015 Marcel Ziswiler
- Copyright (c) 2014-2016 Marcel Ziswiler
- Configuration settings for the Toradex Apalis T30 modules.
@@ -16,7 +16,7 @@ #define CONFIG_ARCH_MISC_INIT
/* High-level configuration options */ -#define CONFIG_TEGRA_BOARD_STRING "Toradex Apalis T30" +#define CONFIG_DISPLAY_BOARDINFO_LATE /* Calls show_board_info() */
/* Board-specific serial config */ #define CONFIG_TEGRA_ENABLE_UARTA diff --git a/include/configs/colibri_imx7.h b/include/configs/colibri_imx7.h index 309aef8..5ce0a34 100644 --- a/include/configs/colibri_imx7.h +++ b/include/configs/colibri_imx7.h @@ -21,10 +21,14 @@ /*#define CONFIG_DBG_MONITOR*/ #define PHYS_SDRAM_SIZE SZ_512M
+#define CONFIG_ARCH_MISC_INIT #define CONFIG_BOARD_EARLY_INIT_F #define CONFIG_BOARD_LATE_INIT
-#define CONFIG_DISPLAY_BOARDINFO_LATE +#define CONFIG_DISPLAY_BOARDINFO_LATE /* Calls show_board_info() */
+#define CONFIG_ENV_VARS_UBOOT_CONFIG +#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
/* Size of malloc() pool */ #define CONFIG_SYS_MALLOC_LEN (32 * SZ_1M) diff --git a/include/configs/colibri_pxa270.h b/include/configs/colibri_pxa270.h index e44a847..b15ed72 100644 --- a/include/configs/colibri_pxa270.h +++ b/include/configs/colibri_pxa270.h @@ -2,7 +2,7 @@
- Toradex Colibri PXA270 configuration file
- Copyright (C) 2010 Marek Vasut marek.vasut@gmail.com
- Copyright (C) 2015 Marcel Ziswiler marcel@ziswiler.com
*/
- Copyright (C) 2015-2016 Marcel Ziswiler marcel@ziswiler.com
- SPDX-License-Identifier: GPL-2.0+
@@ -21,10 +21,14 @@ /* We will never enable dcache because we have to setup MMU first */ #define CONFIG_SYS_DCACHE_OFF
+#define CONFIG_DISPLAY_BOARDINFO_LATE /* Calls show_board_info() */
/*
- Environment settings
*/ #define CONFIG_ENV_OVERWRITE +#define CONFIG_ENV_VARS_UBOOT_CONFIG +#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG #define CONFIG_SYS_MALLOC_LEN (128 * 1024) #define CONFIG_ARCH_CPU_INIT #define CONFIG_BOOTCOMMAND \ diff --git a/include/configs/colibri_t20.h b/include/configs/colibri_t20.h index 4634989..6a52869 100644 --- a/include/configs/colibri_t20.h +++ b/include/configs/colibri_t20.h @@ -14,7 +14,7 @@ #define CONFIG_ARCH_MISC_INIT
/* High-level configuration options */ -#define CONFIG_TEGRA_BOARD_STRING "Toradex Colibri T20" +#define CONFIG_DISPLAY_BOARDINFO_LATE /* Calls show_board_info() */
/* Board-specific serial config */ #define CONFIG_TEGRA_ENABLE_UARTA diff --git a/include/configs/colibri_t30.h b/include/configs/colibri_t30.h index e2a2549..1ab5c41 100644 --- a/include/configs/colibri_t30.h +++ b/include/configs/colibri_t30.h @@ -1,5 +1,5 @@ /*
- Copyright (c) 2013-2015 Stefan Agner
- Copyright (c) 2013-2016 Stefan Agner
- Configuration settings for the Toradex Colibri T30 modules.
@@ -16,7 +16,7 @@ #define CONFIG_ARCH_MISC_INIT
/* High-level configuration options */ -#define CONFIG_TEGRA_BOARD_STRING "Toradex Colibri T30" +#define CONFIG_DISPLAY_BOARDINFO_LATE /* Calls show_board_info() */
/* Board-specific serial config */ #define CONFIG_TEGRA_ENABLE_UARTA diff --git a/include/configs/colibri_vf.h b/include/configs/colibri_vf.h index be773a3..0e622fb 100644 --- a/include/configs/colibri_vf.h +++ b/include/configs/colibri_vf.h @@ -1,7 +1,7 @@ /*
- Copyright 2015 Toradex, Inc.
- Copyright 2015-2016 Toradex, Inc.
- Configuration settings for the Toradex VF50/VF61 module.
- Configuration settings for the Toradex VF50/VF61 modules.
- Based on vf610twr.h:
- Copyright 2013 Freescale Semiconductor, Inc.
@@ -21,6 +21,7 @@ #define CONFIG_SYS_FSL_CLK
#define CONFIG_ARCH_MISC_INIT +#define CONFIG_DISPLAY_BOARDINFO_LATE /* Calls show_board_info() */
#define CONFIG_SKIP_LOWLEVEL_INIT
@@ -36,6 +37,7 @@
/* Allow to overwrite serial and ethaddr */ #define CONFIG_ENV_OVERWRITE +#define CONFIG_ENV_VARS_UBOOT_CONFIG #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG #define CONFIG_BAUDRATE 115200