board: fsl: lx2160ardb: add api for obtaining board revision
authorFlorin Chiculita <florinlaurentiu.chiculita@nxp.com>
Mon, 22 Mar 2021 10:34:29 +0000 (12:34 +0200)
committerPriyanka Jain <priyanka.jain@nxp.com>
Wed, 28 Apr 2021 04:14:05 +0000 (09:44 +0530)
Add new API for obtaining board revision and trigger the i2c node
fixup with this new API.

Signed-off-by: Florin Chiculita <florinlaurentiu.chiculita@nxp.com>
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
board/freescale/lx2160a/lx2160a.c
board/freescale/lx2160a/lx2160a.h

index 29a2a32..af6d96e 100644 (file)
@@ -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);
        }
 
index 5b0ab95..f9bbc1c 100644 (file)
@@ -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 */