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<s...@denx.de>
Cc: Marek Vasut<ma...@denx.de>
Cc: Vince Briders<vbrid...@altera.com>
Cc: Chin Liang See<cl...@altera.com>
Cc: Dinh Nguyen<dingu...@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
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to