arm: socfpga: Add I2C support to SoCFPGA
PATCH v2 1/1 arm: socfpga: Add I2C support to SoCFPGA
This patch adds I2C support for the SoCFPGA. Using the designware I2C controller driver. It supports all 4 I2C busses on the SoCFPGA.
The designware I2C driver has now been converted to the CONFIG_SYS_I2C framework. So lets enable it on SoCFPGA.
Tested on SoCrates.
---
v2:
- The designware I2C driver now has been converted to the CONFIG_SYS_I2C framework. Use the correct defines to enable it.
include/configs/socfpga_common.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)
include/configs/socfpga_common.h +27 -0
@@ -141,6 +141,33 @@#define CONFIG_SYS_MMC_MAX_BLK_COUNT 256/* FIXME -- SPL only? */ #endif +/* +* I2C support +*/ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_DW +#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 +#define CONFIG_SYS_I2C_SPEED1 100000 +#define CONFIG_SYS_I2C_SPEED2 100000 +#define CONFIG_SYS_I2C_SPEED3 100000 +/* Address of device when used as slave */ +#define CONFIG_SYS_I2C_SLAVE 0x02 +#define CONFIG_SYS_I2C_SLAVE1 0x02 +#define CONFIG_SYS_I2C_SLAVE2 0x02 +#define CONFIG_SYS_I2C_SLAVE3 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 +/* * Serial Driver */
Signature · 1 line
2.1.3
PATCH v2 1/1 arm: socfpga: Add I2C support to SoCFPGA
Hello Stefan,
Am 30.10.2014 09:33, schrieb Stefan Roese:
Quoted 15 lines
This patch adds I2C support for the SoCFPGA. Using the designware I2C controller driver. It supports all 4 I2C busses on the SoCFPGA.
The designware I2C driver has now been converted to the
CONFIG_SYS_I2Cframework. So lets enable it on SoCFPGA.Tested on SoCrates.
Signed-off-by Stefan Roese<[email protected]>Cc Marek Vasut<[email protected]>Cc Chin Liang See<[email protected]>Cc Dinh Nguyen<[email protected]>Cc Vince Bridgers<[email protected]>Cc Pavel Machek<[email protected]>Cc Heiko Schocher<[email protected]>
Quoted 7 lines
---
v2:
- The designware I2C driver now has been converted to theCONFIG_SYS_I2Cframework. Use the correct defines to enable it.include/configs/socfpga_common.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)
As the socfpga custodian should pick up this patch, I only Ack this patch:
bye,
Heiko
Quoted 39 lines
include/configs/socfpga_common.h +27
-0@@ -141,6 +141,33 @@#define CONFIG_SYS_MMC_MAX_BLK_COUNT 256/* FIXME -- SPL only? */ #endif +/* +* I2C support +*/ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_DW +#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 +#define CONFIG_SYS_I2C_SPEED1 100000 +#define CONFIG_SYS_I2C_SPEED2 100000 +#define CONFIG_SYS_I2C_SPEED3 100000 +/* Address of device when used as slave */ +#define CONFIG_SYS_I2C_SLAVE 0x02 +#define CONFIG_SYS_I2C_SLAVE1 0x02 +#define CONFIG_SYS_I2C_SLAVE2 0x02 +#define CONFIG_SYS_I2C_SLAVE3 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 +/* * Serial Driver */
Signature · 2 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Marek Vasut
AppliedPATCH v2 1/1 arm: socfpga: Add I2C support to SoCFPGA
In reply to Stefan RoeseQuoted 8 lines · Stefan Roese
This patch adds I2C support for the SoCFPGA. Using the designware I2C controller driver. It supports all 4 I2C busses on the SoCFPGA.
The designware I2C driver has now been converted to the
CONFIG_SYS_I2Cframework. So lets enable it on SoCFPGA.Tested on SoCrates.
Quoted 7 lines
Signed-off-by Stefan Roese <[email protected]>Cc Marek Vasut <[email protected]>Cc Chin Liang See <[email protected]>Cc Dinh Nguyen <[email protected]>Cc Vince Bridgers <[email protected]>Cc Pavel Machek <[email protected]>Cc Heiko Schocher <[email protected]>
Applied, thanks!
Best regards,
Marek Vasut