Hi, 2015-09-02 10:13 GMT+02:00 Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>: > On Tue, Sep 01, 2015 at 11:45:31AM +0200, Christian Hartmann wrote: >> hi >> >> 2015-08-28 11:50 GMT+02:00 Christian Hartmann <cornogle@xxxxxxxxxxxxxx>: >> > >> > and thats what I got: >> > >> > [ 6.182903] pxa2xx-spi 80860F0E:00: bus_num = -1 >> > [ 6.182909] pxa2xx-spi 80860F0E:00: num_chipselect = 2 >> > [ 6.182928] pxa2xx-spi 80860F0E:00: IRQ 194 >> > [ 6.183049] pxa2xx-spi 80860F0E:00: no DMA channels available, using PIO >> > [ 6.183111] pxa2xx-spi 80860F0E:00: registered master spi32766 (dynamic) >> > [ 6.192761] spi spi-WM510205:00: 8333333 Hz actual, PIO >> > .... the rest of the dmesg is currently the same.... > The chip select being wrong could well be the issue, perhaps the > Windows driver supports multiple chipselects where as the Linux > one doesn't? Do you have access to any datasheets for the SPI on > the AP? Alternatively you could try hacking it to use chip select > 0 and see if that makes the system work, seems like a long shot > but perhaps worth a quick go. > > Thanks, > Charles ok, that was a one-shot, in effect nothing changed . I did set the num_chipsselect = 1 (as in vanilla kernels, so its more a revert) and changed the cs value from 1 to 0 (as a testpatch). as soon as the SPI device WM510205:00 is allocated, it tries to add the acpi_resource and in the case of the wrong SPI chip_select with the value 1 from the DSDT ACPI table entry, but here I set it again to 0. expected : chip id register can be read, but nothing changed. the logs are the same in the end. I saw also that acpi_add_resource tries to add an irq (init with -1), but fails [ 5.966307] acpi INT33FD:00: GPIO: looking up 0 in _CRS [ 5.966806] intel_soc_pmic_i2c i2c-INT33FD:00: using lookup tables for GPIO lookup [ 5.966814] intel_soc_pmic_i2c i2c-INT33FD:00: lookup for GPIO intel_soc_pmic failed [ 5.975702] sst-acpi 80860F28:00: No matching ASoC machine driver found [ 5.986039] pxa2xx-spi 80860F0E:00: bus_num = -1 [ 5.986047] pxa2xx-spi 80860F0E:00: num_chipselect = 1 [ 5.986076] pxa2xx-spi 80860F0E:00: IRQ 194 [ 5.986368] pxa2xx-spi 80860F0E:00: no DMA channels available, using PIO [ 5.987011] pxa2xx-spi 80860F0E:00: registered master spi32766 (dynamic) [ 5.987123] spi_master spi32766: allocated SPI device for WM510205:00 [ 5.987172] spi (null): acpi_spi_add_resource : chip_select = 1 [ 5.987177] spi (null): acpi_spi_add_resource : new chip_select = 0 [ 5.987182] spi (null): acpi_spi_add_resource : irq = -1 [ 5.987186] spi (null): acpi_spi_add_resource : irq < 0, acpi_dev_resource_interrupt [ 5.987189] spi (null): acpi_spi_add_resource : irq = -1 [ 5.987193] spi (null): acpi_spi_add_resource : irq < 0, acpi_dev_resource_interrupt [ 5.987197] spi (null): acpi_spi_add_resource : irq = -1 [ 5.987201] spi (null): acpi_spi_add_resource : irq < 0, acpi_dev_resource_interrupt [ 5.987204] spi (null): acpi_spi_add_resource : irq = -1 [ 5.987208] spi (null): acpi_spi_add_resource : irq < 0, acpi_dev_resource_interrupt [ 5.987212] spi (null): acpi_spi_add_resource : irq = -1 [ 5.987217] pxa2xx-spi 80860F0E:00: cs0 < max 1 [ 5.987243] spi spi-WM510205:00: 8333333 Hz actual, PIO [ 5.987249] spi spi-WM510205:00: setup mode 0, 8 bits/w, 8000000 Hz max --> 0 [ 5.991261] spi spi-WM510205:00: checking WM510205 with bmp180 [ 5.991271] spi spi-WM510205:00: checking WM510205 with bmp181 [ 5.991276] spi spi-WM510205:00: modalias WM510205 in id_table not found, returns NULL [ 5.991310] arizona spi-WM510205:00: arizona_acpi_get_type(), than via spi_get_device_id(). [ 5.991316] arizona spi-WM510205:00: arizona_acpi_get_type matched [ 5.991323] acpi WM510205:00: GPIO: looking up 0 in _CRS [ 5.991401] arizona spi-WM510205:00: using 1 as type for arizona audio codec [ 5.991406] arizona spi-WM510205:00: regmap set to wm5102_spi [ 5.991980] arizona spi-WM510205:00: acpi_dev_add_driver_gpios arizona_acpi_gpios added done, 0 [ 5.991986] arizona spi-WM510205:00: spi_irq = 146 [ 5.991990] arizona spi-WM510205:00: arizona_spi_probe done, calling arizona_dev_init [ 5.991994] arizona spi-WM510205:00: dev_set_drvdata done for 1 [ 5.991999] arizona spi-WM510205:00: arizona_of_get_core_pdata for 1 [ 5.992004] arizona spi-WM510205:00: regcache_cache_only for 1 set [ 5.992008] arizona spi-WM510205:00: added wm5102_core_supplies for 1 [ 5.994493] arizona spi-WM510205:00: mfd_add_devices done for 1 [ 5.994505] spi-WM510205:00 supply AVDD not found, using dummy regulator [ 5.994553] spi-WM510205:00 supply DBVDD1 not found, using dummy regulator [ 6.007337] arizona spi-WM510205:00: devm_regulator_bulk_get done for 1 [ 6.007348] LDO1: supplied by regulator-dummy [ 6.007419] arizona spi-WM510205:00: regulator_get done for 1 [ 6.007427] acpi WM510205:00: GPIO: looking up 0 in _CRS [ 6.007517] arizona spi-WM510205:00: (ACPI) using irq_gpio GPIO = 146 [ 6.007534] arizona spi-WM510205:00: devm_gpio_request_one done for request reset: 0 [ 6.007541] arizona spi-WM510205:00: regulator_bulk_enable done, enable core supplies: 0 [ 6.010032] arizona spi-WM510205:00: regulator_enable done, enable DCVDD: 0 [ 6.017864] arizona spi-WM510205:00: arizona_disabe_reset [ 6.017875] arizona spi-WM510205:00: regcache_cache_only [ 6.019067] arizona spi-WM510205:00: regmap_read : read ID register, return value: 0 [ 6.019077] arizona spi-WM510205:00: found device ID: ffff I asked to get more technical docs / datasheets from lenovo , but I do not think, that I will get them. Has anybody directions and hints / some tools known to get started with win8.1 to get such hardware details extracted? I mean, it must work under windows, why to not look there and write down / dump whats needed. Any hints or suggestions for me ? -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html