diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2016-12-07 16:59:00 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2016-12-07 18:21:21 +0100 |
commit | 76fd7b640405cd936a4d96fc581b2bbea3bd01db (patch) | |
tree | 4becada212ec7454c9a0deaf29d12370b593211c /drivers/spi | |
parent | b101cb2149c812131fbcc8cfbeedf0d41c6bb6ee (diff) | |
download | barebox-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.c | 8 |
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 }, { } }; |