[spi-pxa2xx.c,1/1] : fix spi init of WM510205 codec via ACPI, the chip hangs on chipselect 1
diff mbox

Message ID CAKor6TezwST=8qR9wuAojvLfxtzrDw+W3vDMP0i_GR+W1eijuQ@mail.gmail.com
State New
Headers show

Commit Message

Christian Hartmann June 11, 2015, 1:04 p.m. UTC

I have one patch that enables the spi initialization of the WM510205 audio codec
Without the patch, this message indicates that the codec chip fails
with the current chipselect number in spi-pxa2xx:

[    0.296256] pxa2xx-spi 80860F0E:00: cs1 >= max 1
[    0.296270] spi_master spi32766: failed to add SPI device
WM510205:00 from ACPI

So raise num_chipselect by one to enable the codec. The WM510202 is on
chipselect = 1.

With the patch applied I got in dmesg now:

[    6.056829] pxa2xx-spi 80860F0E:00: no DMA channels available, using PIO
[    6.067035] pxa2xx-spi 80860F0E:00: registered master spi32766 (dynamic)
[    6.067214] spi spi-WM510205:00: 8333333 Hz actual, PIO
[    6.067221] spi spi-WM510205:00: setup mode 0, 8 bits/w, 8000000 Hz max --> 0
[    6.067287] pxa2xx-spi 80860F0E:00: registered child spi-WM510205:00

would be nice to hear some feedback or comments about this patch.

Notice: Thats my first attempt to make the codec chip via ACPI
working on Linux systems and some other patches are needed to let the
codec work together with the intel_sst_acpi driver. Currently I am
trying to write the also needed machine driver which binds to this
codec chip.
But I can need help from others too, cause I am not so familiar with
the Intel SST ACPI stuff and the baytrail code itself, nor with the
arizona stuff...


diff mbox

From b0e434df115d8bb94c3de80dca660d5d44ac52fd Mon Sep 17 00:00:00 2001
From: Christian Hartmann <cornogle@googlemail.com>
Date: Thu, 11 Jun 2015 14:51:20 +0200
Subject: [PATCH] spi-pxa2xx : raise num_chipselect for this platform data in

Signed-off-by: Christian Hartmann <cornogle@googlemail.com>
 drivers/spi/spi-pxa2xx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/spi/spi-pxa2xx.c b/drivers/spi/spi-pxa2xx.c
index e3223ac..7b54b04 100644
--- a/drivers/spi/spi-pxa2xx.c
+++ b/drivers/spi/spi-pxa2xx.c
@@ -1279,7 +1279,7 @@  pxa2xx_spi_acpi_get_pdata(struct platform_device *pdev)
 	if (adev->pnp.unique_id && !kstrtoint(adev->pnp.unique_id, 0, &devid))
 		ssp->port_id = devid;
-	pdata->num_chipselect = 1;
+	pdata->num_chipselect = 2;
 	pdata->enable_dma = true;
 	return pdata;