From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Schocher Date: Tue, 21 Oct 2014 08:44:38 +0200 Subject: [U-Boot] [PATCH] arm: socfpga: Add I2C support to SoCFPGA In-Reply-To: <201410201646.52990.marex@denx.de> References: <1413787548-25438-1-git-send-email-sr@denx.de> <201410201646.52990.marex@denx.de> Message-ID: <544600D6.9060703@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 Marek, Am 20.10.2014 16:46, schrieb Marek Vasut: > On Monday, October 20, 2014 at 08:45:48 AM, Stefan Roese wrote: > > Hi all, > >> This patch adds I2C support for the SoCFPGA. Using the designware I2C >> controller driver. It supports all 4 I2C busses on the SoCFPGA. >> >> Signed-off-by: Stefan Roese >> Cc: Marek Vasut >> Cc: Vince Briders >> Cc: Chin Liang See >> Cc: Dinh Nguyen > > +CC Heiko, the I2C custodian. Thanks! As I am just not really find time to work, I do not look into the u-boot ML ... >> --- >> include/configs/socfpga_common.h | 22 ++++++++++++++++++++++ >> 1 file changed, 22 insertions(+) >> >> diff --git a/include/configs/socfpga_common.h >> b/include/configs/socfpga_common.h index 49504dc..ba1e072 100644 >> --- a/include/configs/socfpga_common.h >> +++ b/include/configs/socfpga_common.h >> @@ -157,6 +157,28 @@ >> #define CONFIG_BAUDRATE 115200 >> >> /* >> + * I2C support >> + */ >> +#define CONFIG_HARD_I2C No ... do not add this define please. >> +#define CONFIG_DW_I2C >> +#define CONFIG_I2C_MULTI_BUS > > I presume this should be converted to CONFIG_SYS_I2C framework instead of using > this I2C multibus horror, no? ... Yes, please! Which i2c driver does socfpga use? If it is the "drivers/i2c/designware_i2c.c" driver, please convert it to the "CONFIG_SYS_I2C" framework. You may also take a look into Simons RFC patches, which introduce DM model: http://lists.denx.de/pipermail/u-boot/2014-October/191497.html bye, Heiko >> +#define CONFIG_SYS_I2C_BUS_MAX 4 >> +#define CONFIG_SYS_I2C_BASE SOCFPGA_I2C0_ADDRESS >> +#define CONFIG_SYS_I2C_BASE1 SOCFPGA_I2C1_ADDRESS >> +#define CONFIG_SYS_I2C_BASE2 SOCFPGA_I2C2_ADDRESS >> +#define CONFIG_SYS_I2C_BASE3 SOCFPGA_I2C3_ADDRESS >> +/* using standard mode which the speed up to 100Kb/s */ >> +#define CONFIG_SYS_I2C_SPEED 100000 >> +/* address of device when used as slave */ >> +#define CONFIG_SYS_I2C_SLAVE 0x02 >> +#ifndef __ASSEMBLY__ >> +/* clock supplied to I2C controller in unit of MHz */ >> +unsigned int cm_get_l4_sp_clk_hz(void); > > Include clock_manager.h instead maybe ? > >> +#define IC_CLK (cm_get_l4_sp_clk_hz() / 1000000) >> +#endif >> +#define CONFIG_CMD_I2C >> + >> +/* >> * U-Boot environment >> */ >> #define CONFIG_SYS_CONSOLE_IS_IN_ENV > > Best regards, > Marek Vasut > -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany