[U-Boot] [PATCH] TI DaVinci: Driver for the davinci SPI controller

Dirk Behme dirk.behme at googlemail.com
Fri Dec 25 18:11:13 CET 2009


On 23.12.2009 08:44, Sudhakar Rajashekhara wrote:
> From: Sekhar Nori<nsekhar at ti.com>
>
> This adds a driver for the SPI controller found on davinci
> based SoCs from Texas Instruments.
>
> Signed-off-by: Sekhar Nori<nsekhar at ti.com>
> Signed-off-by: Sudhakar Rajashekhara<sudhakar.raj at ti.com>
> ---
>   drivers/spi/Makefile      |    1 +
>   drivers/spi/davinci_spi.c |  205 +++++++++++++++++++++++++++++++++++++++++++++
>   drivers/spi/davinci_spi.h |   84 ++++++++++++++++++
>   3 files changed, 290 insertions(+), 0 deletions(-)
>   create mode 100644 drivers/spi/davinci_spi.c
>   create mode 100644 drivers/spi/davinci_spi.h
>
> diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
> index 824d8e7..07b9611 100644
> --- a/drivers/spi/Makefile
> +++ b/drivers/spi/Makefile
> @@ -34,6 +34,7 @@ COBJS-$(CONFIG_MPC52XX_SPI) += mpc52xx_spi.o
>   COBJS-$(CONFIG_MPC8XXX_SPI) += mpc8xxx_spi.o
>   COBJS-$(CONFIG_MXC_SPI) += mxc_spi.o
>   COBJS-$(CONFIG_SOFT_SPI) += soft_spi.o
> +COBJS-$(CONFIG_DAVINCI_SPI) += davinci_spi.o

Should this list be kept sorted alphabetically? I.e.

...
COBJS-$(CONFIG_BFIN_SPI) += bfin_spi.o
COBJS-$(CONFIG_CF_SPI) += cf_spi.o
  +COBJS-$(CONFIG_DAVINCI_SPI) += davinci_spi.o
COBJS-$(CONFIG_KIRKWOOD_SPI) += kirkwood_spi.o
...

?

>   COBJS	:= $(COBJS-y)
>   SRCS	:= $(COBJS:.o=.c)
> diff --git a/drivers/spi/davinci_spi.c b/drivers/spi/davinci_spi.c
> new file mode 100644
> index 0000000..1c988bb
> --- /dev/null
> +++ b/drivers/spi/davinci_spi.c
> @@ -0,0 +1,205 @@
...
> +void spi_init()
...
> +struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
> +			unsigned int max_hz, unsigned int mode)
...
> +void spi_free_slave(struct spi_slave *slave)
....
> +int spi_claim_bus(struct spi_slave *slave)
....
> +void spi_release_bus(struct spi_slave *slave)
....
> +int spi_xfer(struct spi_slave *slave, unsigned int bitlen,
> +		const void *dout, void *din, unsigned long flags)

I wonder if all (SPI API) functions from include/spi.h should be 
implemented? I.e. do we need (dummy) functions for spi_cs_is_valid(), 
spi_cs_activate() and spi_cs_deactivate(), too? Just in case a driver 
does use them.

> diff --git a/drivers/spi/davinci_spi.h b/drivers/spi/davinci_spi.h
> new file mode 100644
> index 0000000..b3bf916
> --- /dev/null
> +++ b/drivers/spi/davinci_spi.h
> @@ -0,0 +1,84 @@
> +/*
> + * Register definitions for the DaVinci SPI Controller
> + */

Do we want a complete GPL header, like in the .c file, here, too?

Do we want a protection against multiple inclusion

#ifndef _DAVINCI_SPI_H_
#define _DAVINCI_SPI_H_

in this header file?

Best regards

Dirk


More information about the U-Boot mailing list