[PATCH v2 09/14] board: freescale: lx2160a: Update I2C mux config

Stephen Carlson stcarlso at linux.microsoft.com
Thu Jun 24 21:36:06 CEST 2021


Updates the board configuration to enable use of the PCA9547 I2C mux.

Signed-off-by: Stephen Carlson <stcarlso at linux.microsoft.com>
---
  board/freescale/lx2160a/lx2160a.c            | 31 ++++----------------
  configs/lx2160aqds_tfa_SECURE_BOOT_defconfig |  1 +
  configs/lx2160aqds_tfa_defconfig             |  1 +
  configs/lx2160ardb_tfa_SECURE_BOOT_defconfig |  1 +
  configs/lx2160ardb_tfa_defconfig             |  1 +
  configs/lx2160ardb_tfa_stmm_defconfig        |  1 +
  6 files changed, 11 insertions(+), 25 deletions(-)

diff --git a/board/freescale/lx2160a/lx2160a.c b/board/freescale/lx2160a/lx2160a.c
index 47a7024f33..04a6296a36 100644
--- a/board/freescale/lx2160a/lx2160a.c
+++ b/board/freescale/lx2160a/lx2160a.c
@@ -29,6 +29,8 @@
  #include <asm/arch/config.h>
  #include <asm/arch/fsl_serdes.h>
  #include <asm/arch/soc.h>
+#include "../common/i2c_mux.h"
+
  #include "../common/qixis.h"
  #include "../common/vid.h"
  #include <fsl_immap.h>
@@ -79,27 +81,6 @@ U_BOOT_DRVINFO(nxp_serial1) = {
  	.plat = &serial1,
  };

-int select_i2c_ch_pca9547(u8 ch)
-{
-	int ret;
-
-#if !CONFIG_IS_ENABLED(DM_I2C)
-	ret = i2c_write(I2C_MUX_PCA_ADDR_PRI, 0, 1, &ch, 1);
-#else
-	struct udevice *dev;
-
-	ret = i2c_get_chip_for_busnum(0, I2C_MUX_PCA_ADDR_PRI, 1, &dev);
-	if (!ret)
-		ret = dm_i2c_write(dev, 0, &ch, 1);
-#endif
-	if (ret) {
-		puts("PCA: failed to select proper channel\n");
-		return ret;
-	}
-
-	return 0;
-}
-
  static void uart_get_clock(void)
  {
  	serial0.clock = get_serial_clock();
@@ -115,10 +96,10 @@ int board_early_init_f(void)
  	uart_get_clock();

  #ifdef CONFIG_EMC2305
-	select_i2c_ch_pca9547(I2C_MUX_CH_EMC2305);
+	select_i2c_ch_pca9547(I2C_MUX_CH_EMC2305, 0);
  	emc2305_init(I2C_EMC2305_ADDR);
  	set_fan_speed(I2C_EMC2305_PWM, I2C_EMC2305_ADDR);
-	select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT);
+	select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT, 0);
  #endif

  	fsl_lsch3_early_init_f();
@@ -275,7 +256,7 @@ int esdhc_status_fixup(void *blob, const char *compat)
  #if defined(CONFIG_VID)
  int i2c_multiplexer_select_vid_channel(u8 channel)
  {
-	return select_i2c_ch_pca9547(channel);
+	return select_i2c_ch_pca9547(channel, 0);
  }

  int init_func_vid(void)
@@ -611,7 +592,7 @@ int board_init(void)
  	gd->env_addr = (ulong)&default_environment[0];
  #endif

-	select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT);
+	select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT, 0);

  #if defined(CONFIG_FSL_MC_ENET) && defined(CONFIG_TARGET_LX2160ARDB)
  	/* invert AQR107 IRQ pins polarity */
diff --git a/configs/lx2160aqds_tfa_SECURE_BOOT_defconfig b/configs/lx2160aqds_tfa_SECURE_BOOT_defconfig
index 54d88c88d5..75a6bdd19a 100644
--- a/configs/lx2160aqds_tfa_SECURE_BOOT_defconfig
+++ b/configs/lx2160aqds_tfa_SECURE_BOOT_defconfig
@@ -86,3 +86,4 @@ CONFIG_RSA=y
  CONFIG_SPL_RSA=y
  CONFIG_RSA_SOFTWARE_EXP=y
  CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_FSL_USE_PCA9547_MUX=y
diff --git a/configs/lx2160aqds_tfa_defconfig b/configs/lx2160aqds_tfa_defconfig
index d25d3e8b98..fafe42c559 100644
--- a/configs/lx2160aqds_tfa_defconfig
+++ b/configs/lx2160aqds_tfa_defconfig
@@ -92,3 +92,4 @@ CONFIG_USB_XHCI_DWC3=y
  CONFIG_WDT=y
  CONFIG_WDT_SBSA=y
  CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_FSL_USE_PCA9547_MUX=y
diff --git a/configs/lx2160ardb_tfa_SECURE_BOOT_defconfig b/configs/lx2160ardb_tfa_SECURE_BOOT_defconfig
index 1d61807c11..501e9ae44a 100644
--- a/configs/lx2160ardb_tfa_SECURE_BOOT_defconfig
+++ b/configs/lx2160ardb_tfa_SECURE_BOOT_defconfig
@@ -77,3 +77,4 @@ CONFIG_RSA=y
  CONFIG_SPL_RSA=y
  CONFIG_RSA_SOFTWARE_EXP=y
  CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_FSL_USE_PCA9547_MUX=y
diff --git a/configs/lx2160ardb_tfa_defconfig b/configs/lx2160ardb_tfa_defconfig
index a160cfe21e..4b8e7edf94 100644
--- a/configs/lx2160ardb_tfa_defconfig
+++ b/configs/lx2160ardb_tfa_defconfig
@@ -87,3 +87,4 @@ CONFIG_USB_XHCI_DWC3=y
  CONFIG_WDT=y
  CONFIG_WDT_SBSA=y
  CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_FSL_USE_PCA9547_MUX=y
diff --git a/configs/lx2160ardb_tfa_stmm_defconfig b/configs/lx2160ardb_tfa_stmm_defconfig
index 8b69a36dd9..06cfacab6d 100644
--- a/configs/lx2160ardb_tfa_stmm_defconfig
+++ b/configs/lx2160ardb_tfa_stmm_defconfig
@@ -86,3 +86,4 @@ CONFIG_USB_XHCI_HCD=y
  CONFIG_USB_XHCI_DWC3=y
  CONFIG_EFI_MM_COMM_TEE=y
  CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
+CONFIG_FSL_USE_PCA9547_MUX=y
-- 
2.17.1


More information about the U-Boot mailing list