[U-Boot] [PATCH 08/18] exynos5: config: prepare for dm i2c support

Przemyslaw Marczak p.marczak at samsung.com
Mon Jan 12 10:19:13 CET 2015


Hello Akshay,

On 01/09/2015 10:21 AM, Akshay Saraswat wrote:
> Hi Przemyslaw,
>
>> This commit allows for test i2c drivers with new i2c api
>> on Exynos5xxx based boards.
>>
>> The S3C24X0 I2C driver supports driver model I2C api,
>> but i2c peripherials drivers on exynos5 boards doesn't.
>> So this commit allows for test ported driver before switch
>> the Exynos5 boards to DM I2C at all.
>>
>> Signed-off-by: Przemyslaw Marczak <p.marczak at samsung.com>
>> Cc: Akshay Saraswat <akshay.s at samsung.com>
>> Cc: Simon Glass <sjg at chromium.org>
>> Cc: Minkyu Kang <mk7.kang at samsung.com>
>> ---
>> include/configs/exynos5-common.h | 29 ++++++++++++++++++-----------
>> 1 file changed, 18 insertions(+), 11 deletions(-)
>>
>> diff --git a/include/configs/exynos5-common.h b/include/configs/exynos5-common.h
>> index ad63f3c..b7af8a5 100644
>> --- a/include/configs/exynos5-common.h
>> +++ b/include/configs/exynos5-common.h
>> @@ -54,13 +54,6 @@
>> #define CONFIG_CMD_DTT
>> #define CONFIG_TMU_CMD_DTT
>>
>> -/* TPM */
>> -#define CONFIG_TPM
>> -#define CONFIG_CMD_TPM
>> -#define CONFIG_TPM_TIS_I2C
>> -#define CONFIG_TPM_TIS_I2C_BUS_NUMBER	3
>> -#define CONFIG_TPM_TIS_I2C_SLAVE_ADDR	0x20
>> -
>> /* MMC SPL */
>> #define COPY_BL2_FNPTR_ADDR	0x02020030
>> #define CONFIG_SUPPORT_EMMC_BOOT
>> @@ -126,15 +119,29 @@
>> #define SPI_FLASH_UBOOT_POS	(CONFIG_SEC_FW_SIZE + CONFIG_BL1_SIZE)
>>
>> /* I2C */
>> -#define CONFIG_SYS_I2C_INIT_BOARD
>> -#define CONFIG_SYS_I2C
>> +#if 0 /* For test */
>
> Quick test over SMDK 5250 after replacing #if 0 -> 1.
> Looks like there is some problem in changing bus beyond 7.
> Please check.
>
> Console prints are as follows -
>
> SMDK5250 # i2c dev 8
> Setting bus to 8
> Failure changing bus number (-19)
> exit not allowed from main input shell.
>
I think that this is right, because, the defined buses are:
- exynos5.dtsi - 0, 1, 2, 3 (periph_id: 56, 57, 58, 59),
- exynos5250.dtsi - 4, 5, 6, 7 (periph_id: 60, 61, 62, 63)
but there are no additional i2c nodes in exynos5250-smdk5250.dts file.
So, you can use only i2c bus <0:7>.

The additional i2c bus nodes are defined in:
- exynos54xx.dtsi - 8, 9, 10 (periph_id: 87, 88, 203),
So for exynos54xx boards we can switch between i2c <0:10>.

>> +#define CONFIG_DM_I2C
>> +#endif
>> #define CONFIG_CMD_I2C
>> -#define CONFIG_SYS_I2C_S3C24X0_SPEED	100000		/* 100 Kbps */
>> #define CONFIG_SYS_I2C_S3C24X0
>> -#define CONFIG_I2C_MULTI_BUS
>> +#define CONFIG_SYS_I2C_S3C24X0_SPEED	100000		/* 100 Kbps */
>> #define CONFIG_SYS_I2C_S3C24X0_SLAVE    0x0
>> +#ifndef CONFIG_DM_I2C
>> +#define CONFIG_SYS_I2C_INIT_BOARD
>> +#define CONFIG_SYS_I2C
>> +#define CONFIG_I2C_MULTI_BUS
>> +#endif /* ifndef CONFIG_DM_I2C */
>> #define CONFIG_I2C_EDID
>>
>> +/* TPM */
>> +#ifndef CONFIG_DM_I2C
>> +#define CONFIG_TPM
>> +#define CONFIG_CMD_TPM
>> +#define CONFIG_TPM_TIS_I2C
>> +#define CONFIG_TPM_TIS_I2C_BUS_NUMBER	3
>> +#define CONFIG_TPM_TIS_I2C_SLAVE_ADDR	0x20
>> +#endif
>> +
>> /* SPI */
>> #ifdef CONFIG_SPI_FLASH
>> #define CONFIG_EXYNOS_SPI
>> --
>> 1.9.1
>
> Regards,
> Akshay Saraswat
>
So if you would like to use i2c 8, then please add proper nodes to dts - 
but please notice that the "reg" addresses are different for 5250/54xx.

Best regards,
-- 
Przemyslaw Marczak
Samsung R&D Institute Poland
Samsung Electronics
p.marczak at samsung.com


More information about the U-Boot mailing list