* [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