* [U-Boot] [PATCH] arm: socfpga: Add I2C support to SoCFPGA @ 2014-10-20 6:45 Stefan Roese 2014-10-20 14:46 ` Marek Vasut 0 siblings, 1 reply; 5+ messages in thread From: Stefan Roese @ 2014-10-20 6:45 UTC (permalink / raw) To: u-boot 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 <sr@denx.de> Cc: Marek Vasut <marex@denx.de> Cc: Vince Briders <vbridger@altera.com> Cc: Chin Liang See <clsee@altera.com> Cc: Dinh Nguyen <dinguyen@altera.com> --- 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 +#define CONFIG_DW_I2C +#define CONFIG_I2C_MULTI_BUS +#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); +#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 -- 2.1.2 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [U-Boot] [PATCH] arm: socfpga: Add I2C support to SoCFPGA 2014-10-20 6:45 [U-Boot] [PATCH] arm: socfpga: Add I2C support to SoCFPGA Stefan Roese @ 2014-10-20 14:46 ` Marek Vasut 2014-10-21 6:44 ` Heiko Schocher 0 siblings, 1 reply; 5+ messages in thread From: Marek Vasut @ 2014-10-20 14:46 UTC (permalink / raw) To: u-boot 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 <sr@denx.de> > Cc: Marek Vasut <marex@denx.de> > Cc: Vince Briders <vbridger@altera.com> > Cc: Chin Liang See <clsee@altera.com> > Cc: Dinh Nguyen <dinguyen@altera.com> +CC Heiko, the I2C custodian. > --- > 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 > +#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? > +#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 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot] [PATCH] arm: socfpga: Add I2C support to SoCFPGA 2014-10-20 14:46 ` Marek Vasut @ 2014-10-21 6:44 ` Heiko Schocher 2014-10-23 7:55 ` Stefan Roese 0 siblings, 1 reply; 5+ messages in thread From: Heiko Schocher @ 2014-10-21 6:44 UTC (permalink / raw) To: u-boot 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<sr@denx.de> >> Cc: Marek Vasut<marex@denx.de> >> Cc: Vince Briders<vbridger@altera.com> >> Cc: Chin Liang See<clsee@altera.com> >> Cc: Dinh Nguyen<dinguyen@altera.com> > > +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 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot] [PATCH] arm: socfpga: Add I2C support to SoCFPGA 2014-10-21 6:44 ` Heiko Schocher @ 2014-10-23 7:55 ` Stefan Roese 2014-10-23 8:47 ` Marek Vasut 0 siblings, 1 reply; 5+ messages in thread From: Stefan Roese @ 2014-10-23 7:55 UTC (permalink / raw) To: u-boot Hi Marek, Hi Heiko! On 21.10.2014 08:44, Heiko Schocher wrote: >>> /* >>> + * 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. Yes. Its the designware driver. I wanted to make this I2C support for SoCFPGA least intrusive. But I see your point. Moving this driver to the new I2C framework makes sense. > 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 This seems a bit too early for me. I'll try to find some time to move to the "CONFIG_SYS_I2C" framework... Thanks, Stefan ^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot] [PATCH] arm: socfpga: Add I2C support to SoCFPGA 2014-10-23 7:55 ` Stefan Roese @ 2014-10-23 8:47 ` Marek Vasut 0 siblings, 0 replies; 5+ messages in thread From: Marek Vasut @ 2014-10-23 8:47 UTC (permalink / raw) To: u-boot On Thursday, October 23, 2014 at 09:55:25 AM, Stefan Roese wrote: > Hi Marek, Hi Heiko! Hi all! > On 21.10.2014 08:44, Heiko Schocher wrote: > >>> /* > >>> > >>> + * 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. > > Yes. Its the designware driver. > > I wanted to make this I2C support for SoCFPGA least intrusive. But I see > your point. Moving this driver to the new I2C framework makes sense. > > > 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 > > This seems a bit too early for me. > > I'll try to find some time to move to the "CONFIG_SYS_I2C" framework... I think this makes sense indeed and helps a lot. Thank you very much! Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-10-23 8:47 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-10-20 6:45 [U-Boot] [PATCH] arm: socfpga: Add I2C support to SoCFPGA Stefan Roese 2014-10-20 14:46 ` Marek Vasut 2014-10-21 6:44 ` Heiko Schocher 2014-10-23 7:55 ` Stefan Roese 2014-10-23 8:47 ` Marek Vasut
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox