diff options
author | Jean-Jacques Hiblot <jjhiblot@ti.com> | 2018-12-07 14:50:49 +0100 |
---|---|---|
committer | Heiko Schocher <hs@denx.de> | 2018-12-10 07:15:21 +0100 |
commit | 1514244cc137fe29c9321ea2990de2ec827a9549 (patch) | |
tree | 7bd338feaa0ea0e779e9bf9e7b668cc6d1b35dc9 /board/ti/am335x/mux.c | |
parent | ad95da1f3c2d67e36f2b334083bc487b05085c7e (diff) | |
download | u-boot-1514244cc137fe29c9321ea2990de2ec827a9549.tar.gz |
ti: remove usage of DM_I2C_COMPAT and don't disable DM_I2C in SPL
DM_I2C_COMPAT is a compatibility layer that allows using the non-DM I2C
API when DM_I2C is used. The goal is to eventually remove DM_I2C_COMPAT
when all I2C "clients" have been migrated to use the DM API.
This a step in that direction for the TI based platforms.
Build tested with buildman:
buildman -dle am33xx ti omap3 omap4 omap5 davinci keystone
boot tested with:
am335x_evm, am335x_boneblack, am335x_boneblack_vboot (DM version),
am57xx_evm, dra7xx_evm, k2g_evm, am437x_evm
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
Diffstat (limited to 'board/ti/am335x/mux.c')
-rw-r--r-- | board/ti/am335x/mux.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/board/ti/am335x/mux.c b/board/ti/am335x/mux.c index 41333f93f4..04f4b8e693 100644 --- a/board/ti/am335x/mux.c +++ b/board/ti/am335x/mux.c @@ -329,12 +329,23 @@ static unsigned short detect_daughter_board_profile(void) { unsigned short val; +#ifndef CONFIG_DM_I2C if (i2c_probe(I2C_CPLD_ADDR)) return PROFILE_NONE; if (i2c_read(I2C_CPLD_ADDR, CFG_REG, 1, (unsigned char *)(&val), 2)) return PROFILE_NONE; +#else + struct udevice *dev = NULL; + int rc; + rc = i2c_get_chip_for_busnum(0, I2C_CPLD_ADDR, 1, &dev); + if (rc) + return PROFILE_NONE; + rc = dm_i2c_read(dev, CFG_REG, (unsigned char *)(&val), 2); + if (rc) + return PROFILE_NONE; +#endif return (1 << (val & PROFILE_MASK)); } |