[U-Boot] [PATCH v2 2/3] mxc_i2c: add support for MX53 processor
Jason Liu
liu.h.jason at gmail.com
Thu Dec 23 03:30:07 CET 2010
Hi, Albert,
2010/12/23 Albert ARIBAUD <albert.aribaud at free.fr>:
> Le 22/12/2010 14:23, Jason Liu a écrit :
>> This patch add I2C support for Freescale MX53 processor
>>
>> Signed-off-by: Jason Liu<r64343 at freescale.com>
>>
>> ---
>> Changes for v2:
>> -address the comments of Heiko, add #if defined(CONFIG_MX31)
>> to avoid break MX31 build. Move CONFIG_HARD_I2C to the top
>> of the file and fix the error message from:
>> #error "define CONFIG_SYS_I2C_PORT to use the I2C driver"
>> to #error "define CONFIG_SYS_I2C_MXxx_PORTx to use the I2C driver"
>> ---
>> drivers/i2c/mxc_i2c.c | 19 +++++++++++++++++--
>> 1 files changed, 17 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/i2c/mxc_i2c.c b/drivers/i2c/mxc_i2c.c
>> old mode 100644
>> new mode 100755
>> index 8e10fbb..95d27ae
>> --- a/drivers/i2c/mxc_i2c.c
>> +++ b/drivers/i2c/mxc_i2c.c
>> @@ -26,8 +26,14 @@
>>
>> #if defined(CONFIG_HARD_I2C)
>>
>> +#ifdef CONFIG_MX31
>
> Can you make this an #if defined() like all others you are adding here?
OK, I will do it. Thanks,
>
>> #include<asm/arch/mx31.h>
>> #include<asm/arch/mx31-regs.h>
>> +#endif
>> +
>> +#if defined(CONFIG_MX53)
>> +#include<asm/arch/clock.h>
>> +#endif
>>
>> #define IADR 0x00
>> #define IFDR 0x04
>> @@ -56,8 +62,12 @@
>> #elif defined (CONFIG_SYS_I2C_MX31_PORT3)
>> #define I2C_BASE 0x43f84000
>> #define I2C_CLK_OFFSET 30
>> +#elif defined(CONFIG_SYS_I2C_MX53_PORT1)
>> +#define I2C_BASE I2C1_BASE_ADDR
>> +#elif defined(CONFIG_SYS_I2C_MX53_PORT2)
>> +#define I2C_BASE I2C2_BASE_ADDR
>> #else
>> -#error "define CONFIG_SYS_I2C_MX31_PORTx to use the mx31 I2C driver"
>> +#error "define CONFIG_SYS_I2C_MXxx_PORTx to use the I2C driver"
>> #endif
>>
>> #ifdef DEBUG
>> @@ -72,11 +82,16 @@ static u16 div[] = { 30, 32, 36, 42, 48, 52, 60, 72, 80, 88, 104, 128, 144,
>>
>> void i2c_init(int speed, int unused)
>> {
>> - int freq = mx31_get_ipg_clk();
>> + int freq;
>> int i;
>>
>> +#ifdef CONFIG_MX31
>
> Ditto, for the sake of homogeneity.
>
>> + freq = mx31_get_ipg_clk();
>> /* start the required I2C clock */
>> __REG(CCM_CGR0) = __REG(CCM_CGR0) | (3<< I2C_CLK_OFFSET);
>> +#else
>> + freq = mxc_get_clock(MXC_IPG_PERCLK);
>> +#endif
>>
>> for (i = 0; i< 0x1f; i++)
>> if (freq / div[i]<= speed)
>
>
> Amicalement,
> --
> Albert.
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>
More information about the U-Boot
mailing list