[U-Boot] [PATCH v2 2/2] arm nomadik: add i2c

Heiko Schocher hs at denx.de
Tue Jul 28 09:51:02 CEST 2009


Hello Jean-Christophe,

Jean-Christophe PLAGNIOL-VILLARD wrote:
>>  }
>>  
>> diff --git a/include/configs/nhk8815.h b/include/configs/nhk8815.h
>> index 3e2e09f..8a83d92 100644
>> --- a/include/configs/nhk8815.h
>> +++ b/include/configs/nhk8815.h
>> @@ -93,7 +93,7 @@
>>  #define CONFIG_SYS_GBL_DATA_SIZE	128	/* for initial data */
>>  #define CONFIG_SYS_64BIT_VSPRINTF	/* mtd desires this */
>>  
>> -#define CONFIG_MISC_INIT_R	/* call misc_init_r during start up */
>> +#define BOARD_LATE_INIT		/* call board_late_init during start up */
>>  
>>  /* timing informazion */
>>  #define CONFIG_SYS_HZ		1000 /* Mandatory... */
>> @@ -110,6 +110,22 @@
>>  #define CONFIG_PL01x_PORTS	{ (void *)CFG_SERIAL0, (void *)CFG_SERIAL1 }
>>  #define CONFIG_PL011_CLOCK	48000000
>>  
>> +/* i2c, for the port extenders (uses gpio.c in board directory) */
>> +#ifndef __ASSEMBLY__
>> +#include <asm/arch/gpio.h>
> I really do not like to include file from the config
> and it will be difficult to clean up when moving to Kconfig
>> +#define CONFIG_CMD_I2C
>> +#define CONFIG_SOFT_I2C
>> +#define CONFIG_SYS_I2C_SPEED	400000
>> +#define __SDA			63
>> +#define __SCL			62
>> +#define I2C_SDA(x)		nmk_gpio_set(__SDA, x)
>> +#define I2C_SCL(x)		nmk_gpio_set(__SCL, x)
>> +#define I2C_READ		(nmk_gpio_get(__SDA)!=0)
>> +#define I2C_ACTIVE		nmk_gpio_dir(__SDA, 1)
>> +#define I2C_TRISTATE		nmk_gpio_dir(__SDA, 0)
>> +#define I2C_DELAY     (udelay(2))
> it will better to define a couple of generic function where we implement it
> as this
> i2c_sda()
> i2c_scl()
> i2c_read()
> i2c_activate()
> i2c_tristate()
> i2c_delay()
> i2c_get_bus_num()
> i2c_set_bus_num()
> i2c_get_bus_speed()
> i2c_set_bus_speed()
> i2c_init()

I posted such a suggestion in this thread, see:
http://lists.denx.de/pipermail/u-boot/2009-July/056934.html

I got no responses for this suggestion, so I talked with Wolfgang,
and he convinced me, that this is not necessary.

bye
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list