
Hello Trent,
Am 03.05.2019 um 22:16 schrieb Trent Piepho:
On Thu, 2019-05-02 at 08:11 +0200, Anatolij Gustschin wrote:
Hi Heiko,
On Thu, 2 May 2019 07:39:06 +0200 Heiko Schocher hs@denx.de wrote: ...
@Anatolij: Is this code needed anymore, as board is moved to DM ?
...
dm_i2c_probe should initialize the i2c bus completly, also we need not longer the:
#ifdef CONFIG_DM_I2C
and remove the else part ... or ? Can you test this change?
The DM conversion is not complete yet and I still need the possibility to revert to non-DM code for various video tests to complete the DM_VIDEO/DM_I2C conversion, so that video related stuff works on i.MX boards similar as before the conversion. Unfortunately, I do not have time for this now, this must wait. Sorry.
Anatolij
Would something like this be ok? It will allow removing the MXC hardcoded speeds when using DM_I2C. It also makes it more clear in wandboard.c that the speed is not used when using DM_I2C.
--- a/board/wandboard/wandboard.c +++ b/board/wandboard/wandboard.c @@ -46,6 +46,15 @@ DECLARE_GLOBAL_DATA_PTR; #define ETH_PHY_AR8035_POWER IMX_GPIO_NR(7, 13) #define REV_DETECTION IMX_GPIO_NR(2, 28)
+/* Speed defined in Kconfig is only applicable when not using DM_I2C. */ +#ifdef CONFIG_DM_I2C +#define I2C1_SPEED_NON_DM 0 +#define I2C2_SPEED_NON_DM 0 +#else +#define I2C1_SPEED_NON_DM CONFIG_SYS_MXC_I2C1_SPEED +#define I2C2_SPEED_NON_DM CONFIG_SYS_MXC_I2C2_SPEED +#endif
static bool with_pmic;
int dram_init(void)
@@ -463,13 +472,13 @@ int board_init(void) gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
#if defined(CONFIG_VIDEO_IPUV3)
setup_i2c(1, CONFIG_SYS_MXC_I2C1_SPEED, 0x7f, &mx6dl_i2c2_pad_info);
setup_i2c(1, I2C1_SPEED_NON_DM, 0x7f, &mx6dl_i2c2_pad_info); if (is_mx6dq() || is_mx6dqp()) {
setup_i2c(1, CONFIG_SYS_MXC_I2C1_SPEED, 0x7f, &mx6q_i2c2_pad_info);
setup_i2c(2, CONFIG_SYS_MXC_I2C2_SPEED, 0x7f, &mx6q_i2c3_pad_info);
setup_i2c(1, I2C1_SPEED_NON_DM, 0x7f, &mx6q_i2c2_pad_info);
setup_i2c(2, I2C2_SPEED_NON_DM, 0x7f, &mx6q_i2c3_pad_info); } else {
setup_i2c(1, CONFIG_SYS_MXC_I2C1_SPEED, 0x7f, &mx6dl_i2c2_pad_info);
setup_i2c(2, CONFIG_SYS_MXC_I2C2_SPEED, 0x7f, &mx6dl_i2c3_pad_info);
setup_i2c(1, I2C1_SPEED_NON_DM, 0x7f, &mx6dl_i2c2_pad_info);
setup_i2c(2, I2C2_SPEED_NON_DM, 0x7f, &mx6dl_i2c3_pad_info); } setup_display();
For this special case and for me, this is ok.
If nobody objects here, I would pick this change in conjunction with your original patch ... or you sent a formal v2 ?
Thanks!
bye, Heiko