Browse Source

orion_spi: handle 88F6183 erratum

Add support to orion_spi for the 88F6183 ARM SoC by adding code to work
around a 6183-specific erratum.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Lennert Buytenhek 16 years ago
parent
commit
2bec19feab
2 changed files with 6 additions and 0 deletions
  1. 5 0
      drivers/spi/orion_spi.c
  2. 1 0
      include/linux/spi/orion_spi.h

+ 5 - 0
drivers/spi/orion_spi.c

@@ -364,6 +364,11 @@ static int orion_spi_setup(struct spi_device *spi)
 		return -EINVAL;
 		return -EINVAL;
 	}
 	}
 
 
+	/* Fix ac timing if required.   */
+	if (orion_spi->spi_info->enable_clock_fix)
+		orion_spi_setbits(orion_spi, ORION_SPI_IF_CONFIG_REG,
+				  (1 << 14));
+
 	if (spi->bits_per_word == 0)
 	if (spi->bits_per_word == 0)
 		spi->bits_per_word = 8;
 		spi->bits_per_word = 8;
 
 

+ 1 - 0
include/linux/spi/orion_spi.h

@@ -11,6 +11,7 @@
 
 
 struct orion_spi_info {
 struct orion_spi_info {
 	u32	tclk;		/* no <linux/clk.h> support yet */
 	u32	tclk;		/* no <linux/clk.h> support yet */
+	u32	enable_clock_fix;
 };
 };