From d676e7f90a6582dfc726a7f6ace2f26f404d4f2f Mon Sep 17 00:00:00 2001 From: Florin Chiculita Date: Mon, 22 Mar 2021 12:34:29 +0200 Subject: [PATCH] board: fsl: lx2160ardb: add api for obtaining board revision Add new API for obtaining board revision and trigger the i2c node fixup with this new API. Signed-off-by: Florin Chiculita Signed-off-by: Ioana Ciornei --- board/freescale/lx2160a/lx2160a.c | 13 ++++++++++--- board/freescale/lx2160a/lx2160a.h | 4 ++++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/board/freescale/lx2160a/lx2160a.c b/board/freescale/lx2160a/lx2160a.c index 29a2a32ede..af6d96eb16 100644 --- a/board/freescale/lx2160a/lx2160a.c +++ b/board/freescale/lx2160a/lx2160a.c @@ -586,6 +586,15 @@ int config_board_mux(void) } #endif +#if CONFIG_IS_ENABLED(TARGET_LX2160ARDB) +u8 get_board_rev(void) +{ + u8 board_rev = (QIXIS_READ(arch) & 0xf) - 1 + 'A'; + + return board_rev; +} +#endif + unsigned long get_board_sys_clk(void) { #if defined(CONFIG_TARGET_LX2160AQDS) || defined(CONFIG_TARGET_LX2162AQDS) @@ -899,7 +908,6 @@ int ft_board_setup(void *blob, struct bd_info *bd) u64 mc_memory_base = 0; u64 mc_memory_size = 0; u16 total_memory_banks; - u8 board_rev; ft_cpu_setup(blob, bd); @@ -955,8 +963,7 @@ int ft_board_setup(void *blob, struct bd_info *bd) fdt_fixup_icid(blob); if (IS_ENABLED(CONFIG_TARGET_LX2160ARDB)) { - board_rev = (QIXIS_READ(arch) & 0xf) - 1 + 'A'; - if (board_rev == 'C') + if (get_board_rev() >= 'C') fdt_fixup_i2c_thermal_node(blob); } diff --git a/board/freescale/lx2160a/lx2160a.h b/board/freescale/lx2160a/lx2160a.h index 5b0ab95e7a..f9bbc1c247 100644 --- a/board/freescale/lx2160a/lx2160a.h +++ b/board/freescale/lx2160a/lx2160a.h @@ -71,4 +71,8 @@ enum qsfp_compat_codes { }; #endif /* CONFIG_QSFP_EEPROM && CONFIG_PHY_CORTINA */ +#if CONFIG_IS_ENABLED(TARGET_LX2160ARDB) +u8 get_board_rev(void); +#endif + #endif /* __LX2160_H */ -- 2.17.1