[U-Boot] arm, i2c: added support for the TWSI I2C Interface

Prafulla Wadaskar prafulla at marvell.com
Thu Jul 16 10:52:26 CEST 2009


 

> -----Original Message-----
> From: Heiko Schocher [mailto:hs at denx.de] 
> Sent: Thursday, July 16, 2009 1:31 PM
> To: Jean-Christophe PLAGNIOL-VILLARD; Prafulla Wadaskar
> Cc: U-Boot user list
> Subject: arm, i2c: added support for the TWSI I2C Interface
> 
> added support for the Hardware I2C TWSI Interface on
> kirkwood SOCs, based on the Linux driver, without IRQ
> support.
> 
> Tested on a ARM926EJS (CPU Core Version FEROCEON_88FR131
> SOC Family: KIRKWOOD, KW88F6281) based suen3 board
> 
> Signed-off-by: Heiko Schocher <hs at denx.de>
> ---
>  drivers/i2c/Makefile      |    1 +
>  drivers/i2c/mv64xxx-i2c.c |  452 
Can you rename this? 
> +++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 453 insertions(+), 0 deletions(-)
>  create mode 100644 drivers/i2c/mv64xxx-i2c.c
> 
> diff --git a/drivers/i2c/Makefile b/drivers/i2c/Makefile
> index ef32f13..ce30111 100644
> --- a/drivers/i2c/Makefile
> +++ b/drivers/i2c/Makefile
> @@ -33,6 +33,7 @@ COBJS-$(CONFIG_DRIVER_OMAP1510_I2C) += 
> omap1510_i2c.o
>  COBJS-$(CONFIG_DRIVER_OMAP24XX_I2C) += omap24xx_i2c.o
>  COBJS-$(CONFIG_DRIVER_OMAP34XX_I2C) += omap24xx_i2c.o
>  COBJS-$(CONFIG_DRIVER_S3C24X0_I2C) += s3c24x0_i2c.o
> +COBJS-$(CONFIG_I2C_MV64xxx) += mv64xxx-i2c.o
Put this in order

>  COBJS-$(CONFIG_S3C44B0_I2C) += s3c44b0_i2c.o
>  COBJS-$(CONFIG_SOFT_I2C) += soft_i2c.o
>  COBJS-$(CONFIG_TSI108_I2C) += tsi108_i2c.o
> diff --git a/drivers/i2c/mv64xxx-i2c.c b/drivers/i2c/mv64xxx-i2c.c
> new file mode 100644
> index 0000000..6ba2782
> --- /dev/null
> +++ b/drivers/i2c/mv64xxx-i2c.c
> @@ -0,0 +1,452 @@
> +/*
> + * Driver for the i2c controller on the Marvell line of host bridges
> + * (e.g, gt642[46]0, mv643[46]0, mv644[46]0, and Orion SoC family).
Pls add kirkwood too..

> + *
> + * Based on:
> + * Author: Mark A. Greer <mgreer at mvista.com>
> + *
> + * 2005 (c) MontaVista, Software, Inc.  This file is licensed under
> + * the terms of the GNU General Public License version 2.  
> This program
> + * is licensed "as is" without any warranty of any kind, 
> whether express
> + * or implied.
> + *
> + * ported from Linux to u-boot
> + * (C) Copyright 2009
> + * Heiko Schocher, DENX Software Engineering, hs at denx.de.
> + *
> + */
> +#include <common.h>
> +#include <i2c.h>
> +#include <asm/arch/kirkwood.h>
> +#include <asm/errno.h>
> +#include <asm/io.h>
> +
> +DECLARE_GLOBAL_DATA_PTR;
> +
> +static unsigned int i2c_bus_num __attribute__ ((section 
> (".data"))) = 0;
> +#if defined(CONFIG_I2C_MUX)
> +static unsigned int i2c_bus_num_mux __attribute__ ((section 
> ("data"))) = 0;
> +#endif
> +
> +/* Register defines */
> +#define	MV64XXX_I2C_REG_SLAVE_ADDR			0x00
> +#define	MV64XXX_I2C_REG_DATA				0x04
MV64XX does not sound generic supported SoCs,
Can you choose better name? like TWSI.

I will go through in details latter on

Regards..
Prafulla . .



More information about the U-Boot mailing list