From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Schocher Date: Mon, 13 May 2013 07:41:00 +0200 Subject: [U-Boot] [PATCH v3 2/9] i2c: common changes for multibus/multiadapter support In-Reply-To: References: <1367668903-29653-1-git-send-email-hs@denx.de> <1367668903-29653-3-git-send-email-hs@denx.de> Message-ID: <51907CEC.8000002@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello Simon, Am 11.05.2013 23:33, schrieb Simon Glass: > Hi Heiko, > > On Sat, May 4, 2013 at 6:01 AM, Heiko Schocher wrote: >> Signed-off-by: Heiko Schocher >> Signed-off-by: Simon Glass >> Cc: Henrik Nordstr?m >> >> --- >> - changes for v2: >> add comment from Henrik Nordstr?m >> remove wrong line in README >> - rebase against current mainline 178d0cc1a4c73c3341afbeb2a93b172de8c96bd1 >> - changes for v3: >> - adapt to the new introduced U_BOOT_I2C_ADAP_COMPLETE define >> - fix Codingstyle issues >> - adapt README >> --- >> README | 74 ++++++++++++++++++++++++- >> arch/arm/lib/board.c | 7 ++- >> arch/blackfin/lib/board.c | 7 +++ >> arch/m68k/lib/board.c | 17 +++++- >> arch/mips/lib/board.c | 7 +++ >> arch/nds32/lib/board.c | 10 +++- >> arch/powerpc/cpu/mpc8xx/video.c | 4 ++ >> arch/powerpc/lib/board.c | 12 +++- >> common/cmd_date.c | 9 +++ >> common/cmd_dtt.c | 9 +++ >> common/cmd_i2c.c | 120 ++++++++++++++++++++++++++-------------- >> common/env_eeprom.c | 14 +++++ >> common/stdio.c | 13 ++++- >> include/i2c.h | 9 --- >> 14 Dateien ge?ndert, 251 Zeilen hinzugef?gt(+), 61 Zeilen entfernt(-) >> > > ... >> diff --git a/common/cmd_i2c.c b/common/cmd_i2c.c >> index 4380794..d59f10d 100644 > >> @@ -1508,16 +1543,21 @@ static int do_i2c_nm(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) >> */ >> static int do_i2c_reset(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) >> { >> +#if defined(CONFIG_SYS_I2C) >> + i2c_init(I2C_ADAP->speed, I2C_ADAP->slaveaddr); >> +#else >> i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); >> +#endif >> return 0; >> } >> >> static cmd_tbl_t cmd_i2c_sub[] = { >> -#if defined(CONFIG_I2C_MUX) >> - U_BOOT_CMD_MKENT(bus, 1, 1, do_i2c_add_bus, "", ""), >> +#if defined(CONFIG_SYS_I2C) >> + U_BOOT_CMD_MKENT(bus, 1, 1, do_i2c_show_bus, "", ""), >> #endif /* CONFIG_I2C_MUX */ >> U_BOOT_CMD_MKENT(crc32, 3, 1, do_i2c_crc, "", ""), >> -#if defined(CONFIG_I2C_MULTI_BUS) >> +#if defined(CONFIG_SYS_I2C) || \ >> + defined(CONFIG_I2C_MULTI_BUS) >> U_BOOT_CMD_MKENT(dev, 1, 1, do_i2c_bus_num, "", ""), > > If you are changing the condition here you should change the condition > on the help also. Fixed. >> #endif /* CONFIG_I2C_MULTI_BUS */ >> #if defined(CONFIG_I2C_EDID) >> @@ -1576,11 +1616,11 @@ static int do_i2c(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) >> /***************************************************/ >> #ifdef CONFIG_SYS_LONGHELP >> static char i2c_help_text[] = >> -#if defined(CONFIG_I2C_MUX) >> - "bus [muxtype:muxaddr:muxchannel] - add a new bus reached over muxes\ni2c " >> +#if defined(CONFIG_SYS_I2C) >> + "bus [muxtype:muxaddr:muxchannel] - show I2C bus info\n" >> #endif /* CONFIG_I2C_MUX */ >> "crc32 chip address[.0, .1, .2] count - compute CRC32 checksum\n" >> -#if defined(CONFIG_I2C_MULTI_BUS) >> +#if defined(CONFIG_SYS_I2C) >> "i2c dev [dev] - show or set current I2C bus\n" >> #endif /* CONFIG_I2C_MULTI_BUS */ >> #if defined(CONFIG_I2C_EDID) >> diff --git a/common/env_eeprom.c b/common/env_eeprom.c >> index 45c935b..fbd459a 100644 > > I tested this on snow and it seems to disable every bus except bus 0. > I will see if I can take a look. Bad news ... did you tried it with debug traces enabled? > Hopefully one of the Nvidia guys can test on seaboard as I don't have > mind with me right now. > > SMDK5250 # i2c dev 4 > Invalid bus 4 bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany