summaryrefslogtreecommitdiffstats
path: root/drivers/spi
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2016-12-07 16:59:00 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2016-12-07 18:21:21 +0100
commit76fd7b640405cd936a4d96fc581b2bbea3bd01db (patch)
tree4becada212ec7454c9a0deaf29d12370b593211c /drivers/spi
parentb101cb2149c812131fbcc8cfbeedf0d41c6bb6ee (diff)
downloadbarebox-76fd7b640405cd936a4d96fc581b2bbea3bd01db.tar.gz
barebox-76fd7b640405cd936a4d96fc581b2bbea3bd01db.tar.xz
spi: mvebu: fix baudrate selection for Armada 370/XP
There are two problems that made the driver choose the wrong baudrate calculation algorithm: a) The compatible used on 370/XP isn't marvell,armada-370-xp-spi but marvell,armada-370-spi or marvell,armada-xp-spi respectively. b) The probe function uses match = of_match_node(mvebu_spi_dt_ids, dev->device_node); to determine the right algorithm. As the devices are also compatible to marvell,orion-spi and this comes first in mvebu_spi_dt_ids[] it's always the older Orion algorithm that is used. This patch fixes both problems. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/mvebu_spi.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/spi/mvebu_spi.c b/drivers/spi/mvebu_spi.c
index 335774d4c6..1d619e0eae 100644
--- a/drivers/spi/mvebu_spi.c
+++ b/drivers/spi/mvebu_spi.c
@@ -317,16 +317,18 @@ static int mvebu_spi_transfer(struct spi_device *spi, struct spi_message *msg)
}
static struct of_device_id mvebu_spi_dt_ids[] = {
- { .compatible = "marvell,orion-spi",
- .data = &mvebu_spi_set_baudrate },
#if defined(CONFIG_ARCH_ARMADA_370) || defined(CONFIG_ARCH_ARMADA_XP)
- { .compatible = "marvell,armada-370-xp-spi",
+ { .compatible = "marvell,armada-370-spi",
+ .data = &armada_370_xp_spi_set_baudrate },
+ { .compatible = "marvell,armada-xp-spi",
.data = &armada_370_xp_spi_set_baudrate },
#endif
#if defined(CONFIG_ARCH_DOVE)
{ .compatible = "marvell,dove-spi",
.data = &dove_spi_set_baudrate },
#endif
+ { .compatible = "marvell,orion-spi",
+ .data = &mvebu_spi_set_baudrate },
{ }
};