diff mbox series

xilinx: Show silicon version in SPL

Message ID b284b120b8206e6b2d073feb4d2f13175bf8ccc3.1612281076.git.michal.simek@xilinx.com
State Accepted
Commit 98757d87ee04cd8f57e9f2d6a8017a1d1a4ea646
Delegated to: Michal Simek
Headers show
Series xilinx: Show silicon version in SPL | expand

Commit Message

Michal Simek Feb. 2, 2021, 3:51 p.m. UTC
Both Zynq and ZynqMP can show silicon versions in SPL boot flow. It is
useful to be aware.
The patch is also fixing possition of these bits on ZynqMP.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---

 arch/arm/mach-zynqmp/include/mach/hardware.h | 4 ++--
 board/xilinx/zynq/board.c                    | 3 +++
 board/xilinx/zynqmp/zynqmp.c                 | 1 +
 3 files changed, 6 insertions(+), 2 deletions(-)

Comments

Michal Simek Feb. 10, 2021, 12:21 p.m. UTC | #1
Ășt 2. 2. 2021 v 16:51 odesĂ­latel Michal Simek <michal.simek@xilinx.com> napsal:
>
> Both Zynq and ZynqMP can show silicon versions in SPL boot flow. It is
> useful to be aware.
> The patch is also fixing possition of these bits on ZynqMP.
>
> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
> ---
>
>  arch/arm/mach-zynqmp/include/mach/hardware.h | 4 ++--
>  board/xilinx/zynq/board.c                    | 3 +++
>  board/xilinx/zynqmp/zynqmp.c                 | 1 +
>  3 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/mach-zynqmp/include/mach/hardware.h b/arch/arm/mach-zynqmp/include/mach/hardware.h
> index b328837c694f..3d3c48e24731 100644
> --- a/arch/arm/mach-zynqmp/include/mach/hardware.h
> +++ b/arch/arm/mach-zynqmp/include/mach/hardware.h
> @@ -128,8 +128,8 @@ struct apu_regs {
>
>  #define ZYNQMP_CSU_VERSION_EMPTY_SHIFT         20
>
> -#define ZYNQMP_SILICON_VER_MASK                0xF000
> -#define ZYNQMP_SILICON_VER_SHIFT       12
> +#define ZYNQMP_SILICON_VER_MASK                0xF
> +#define ZYNQMP_SILICON_VER_SHIFT       0
>
>  struct csu_regs {
>         u32 reserved0[4];
> diff --git a/board/xilinx/zynq/board.c b/board/xilinx/zynq/board.c
> index 7ac069aaafdf..0fc11a48f14c 100644
> --- a/board/xilinx/zynq/board.c
> +++ b/board/xilinx/zynq/board.c
> @@ -24,6 +24,9 @@ DECLARE_GLOBAL_DATA_PTR;
>
>  int board_init(void)
>  {
> +       if (IS_ENABLED(CONFIG_SPL_BUILD))
> +               printf("Silicon version:\t%d\n", zynq_get_silicon_version());
> +
>         return 0;
>  }
>
> diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c
> index d18c992e3f8f..8968cf90760f 100644
> --- a/board/xilinx/zynqmp/zynqmp.c
> +++ b/board/xilinx/zynqmp/zynqmp.c
> @@ -328,6 +328,7 @@ int board_init(void)
>         if (sizeof(CONFIG_ZYNQMP_SPL_PM_CFG_OBJ_FILE) > 1)
>                 zynqmp_pmufw_load_config_object(zynqmp_pm_cfg_obj,
>                                                 zynqmp_pm_cfg_obj_size);
> +       printf("Silicon version:\t%d\n", zynqmp_get_silicon_version());
>  #else
>         if (CONFIG_IS_ENABLED(DM_I2C) && CONFIG_IS_ENABLED(I2C_EEPROM))
>                 xilinx_read_eeprom();
> --
> 2.30.0
>

Applied.
M
diff mbox series

Patch

diff --git a/arch/arm/mach-zynqmp/include/mach/hardware.h b/arch/arm/mach-zynqmp/include/mach/hardware.h
index b328837c694f..3d3c48e24731 100644
--- a/arch/arm/mach-zynqmp/include/mach/hardware.h
+++ b/arch/arm/mach-zynqmp/include/mach/hardware.h
@@ -128,8 +128,8 @@  struct apu_regs {
 
 #define ZYNQMP_CSU_VERSION_EMPTY_SHIFT		20
 
-#define ZYNQMP_SILICON_VER_MASK		0xF000
-#define ZYNQMP_SILICON_VER_SHIFT	12
+#define ZYNQMP_SILICON_VER_MASK		0xF
+#define ZYNQMP_SILICON_VER_SHIFT	0
 
 struct csu_regs {
 	u32 reserved0[4];
diff --git a/board/xilinx/zynq/board.c b/board/xilinx/zynq/board.c
index 7ac069aaafdf..0fc11a48f14c 100644
--- a/board/xilinx/zynq/board.c
+++ b/board/xilinx/zynq/board.c
@@ -24,6 +24,9 @@  DECLARE_GLOBAL_DATA_PTR;
 
 int board_init(void)
 {
+	if (IS_ENABLED(CONFIG_SPL_BUILD))
+		printf("Silicon version:\t%d\n", zynq_get_silicon_version());
+
 	return 0;
 }
 
diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c
index d18c992e3f8f..8968cf90760f 100644
--- a/board/xilinx/zynqmp/zynqmp.c
+++ b/board/xilinx/zynqmp/zynqmp.c
@@ -328,6 +328,7 @@  int board_init(void)
 	if (sizeof(CONFIG_ZYNQMP_SPL_PM_CFG_OBJ_FILE) > 1)
 		zynqmp_pmufw_load_config_object(zynqmp_pm_cfg_obj,
 						zynqmp_pm_cfg_obj_size);
+	printf("Silicon version:\t%d\n", zynqmp_get_silicon_version());
 #else
 	if (CONFIG_IS_ENABLED(DM_I2C) && CONFIG_IS_ENABLED(I2C_EEPROM))
 		xilinx_read_eeprom();