spi: orion: On a38x, implement "50MHZ SPI AC timing" Erratum No. FE-9144572
authorNadav Haklai <nadavh@marvell.com>
Tue, 11 Aug 2015 09:58:47 +0000 (11:58 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 11 Aug 2015 16:21:08 +0000 (17:21 +0100)
commit38d6211e8565af5855385825a4fdc7261eb3740e
treec5596c22f5022715205f1ded47ae0b6df98415a4
parentbc0195aad0daa2ad5b0d76cce22b167bc3435590
spi: orion: On a38x, implement "50MHZ SPI AC timing" Erratum No. FE-9144572

Description:
On Armada 38x, the device SPI interface supports frequencies of up to
50 MHz. However, due to this erratum, when the device core clock is
250 MHz and the SPI interfaces is configured for 50MHz SPI clock and
CPOL=CPHA=1, there might occur data corruption on reads from the SPI
device.

Workaround:
Work in one of the following configurations:
1. Set CPOL=CPHA=0 in "SPI Interface Configuration Register".
2. Set TMISO_SAMPLE value to 0x2 in "SPI Timing Parameters 1 Register"
before setting the interface.

[gregory.clement@free-electrons.com}: port to v4.2-rc, use
is_errata_50mhz_ac instead of using a new ARMADA_380_SPI spi type.

Signed-off-by: Nadav Haklai <nadavh@marvell.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
drivers/spi/spi-orion.c