OSDN Git Service

spi: orion: support armada extended baud rates
authorGreg Ungerer <gerg@uclinux.org>
Sun, 28 Sep 2014 13:24:04 +0000 (23:24 +1000)
committerMark Brown <broonie@kernel.org>
Wed, 1 Oct 2014 18:21:51 +0000 (19:21 +0100)
commitdf59fa7f4bca9658b75f0f5fee225b3a057475c5
tree6c01e397e59715c8043f0de634299f2273bac18b
parent7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9
spi: orion: support armada extended baud rates

The Armada SoC family implementation of this SPI hardware module has
extended the configuration register to allow for a wider range of SPI
clock rates. Specifically the Serial Baud Rate Pre-selection bits in the
SPI Interface Configuration Register now also use bits 6 and 7 as well.

Modify the baud rate calculation to handle these differences for the
Armada case. Potentially a baud rate can be setup using a number of
different pre-scalar and scalar combinations. This code tries all
possible pre-scalar divisors (8 in total) to try and find the most
accurate set.

This change introduces (and documents) a new device tree compatible
device name "armada-370-spi" to support this.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Tested-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Reviewed-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Documentation/devicetree/bindings/spi/spi-orion.txt
drivers/spi/spi-orion.c