Applied. Thanks, Nobuhiro
2012/3/6 Shimoda, Yoshihiro <[email protected]>: > The module has 4 chip select signals. This patch supports it. > > Signed-off-by: Yoshihiro Shimoda <[email protected]> > --- > drivers/spi/sh_spi.c | 19 ++++++++++++++++--- > drivers/spi/sh_spi.h | 4 +++- > 2 files changed, 19 insertions(+), 4 deletions(-) > > diff --git a/drivers/spi/sh_spi.c b/drivers/spi/sh_spi.c > index 78c7f1a..e944b23 100644 > --- a/drivers/spi/sh_spi.c > +++ b/drivers/spi/sh_spi.c > @@ -1,7 +1,7 @@ > /* > * SH SPI driver > * > - * Copyright (C) 2011 Renesas Solutions Corp. > + * Copyright (C) 2011-2012 Renesas Solutions Corp. > * > * This program is free software; you can redistribute it and/or modify > * it under the terms of the GNU General Public License as published by > @@ -82,6 +82,19 @@ void spi_init(void) > { > } > > +static void sh_spi_set_cs(struct sh_spi *ss, unsigned int cs) > +{ > + unsigned long val = 0; > + > + if (cs & 0x01) > + val |= SH_SPI_SSS0; > + if (cs & 0x02) > + val |= SH_SPI_SSS1; > + > + sh_spi_clear_bit(SH_SPI_SSS0 | SH_SPI_SSS1, &ss->regs->cr4); > + sh_spi_set_bit(val, &ss->regs->cr4); > +} > + > struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs, > unsigned int max_hz, unsigned int mode) > { > @@ -104,6 +117,7 @@ struct spi_slave *spi_setup_slave(unsigned int bus, > unsigned int cs, > sh_spi_write(0x00, &ss->regs->cr1); > /* CR3 init */ > sh_spi_write(0x00, &ss->regs->cr3); > + sh_spi_set_cs(ss, cs); > > clear_fifo(ss); > > @@ -242,8 +256,7 @@ int spi_xfer(struct spi_slave *slave, unsigned int > bitlen, const void *dout, > > int spi_cs_is_valid(unsigned int bus, unsigned int cs) > { > - /* This driver supports "bus = 0" and "cs = 0" only. */ > - if (!bus && !cs) > + if (!bus && cs < SH_SPI_NUM_CS) > return 1; > else > return 0; > diff --git a/drivers/spi/sh_spi.h b/drivers/spi/sh_spi.h > index dd8f937..96b4b68 100644 > --- a/drivers/spi/sh_spi.h > +++ b/drivers/spi/sh_spi.h > @@ -60,10 +60,12 @@ struct sh_spi_regs { > #define SH_SPI_TBFI 0x40 > #define SH_SPI_RBEI 0x20 > #define SH_SPI_RBFI 0x10 > +#define SH_SPI_SSS1 0x08 > #define SH_SPI_WPABRT 0x04 > -#define SH_SPI_SSS 0x01 > +#define SH_SPI_SSS0 0x01 > > #define SH_SPI_FIFO_SIZE 32 > +#define SH_SPI_NUM_CS 4 > > struct sh_spi { > struct spi_slave slave; > -- > 1.7.1 > > _______________________________________________ > U-Boot mailing list > [email protected] > http://lists.denx.de/mailman/listinfo/u-boot -- Nobuhiro Iwamatsu iwamatsu at {nigauri.org / debian.org} GPG ID: 40AD1FA6 _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

