Hi Mika, Dan et al. @Dan : thank you, I will use get_maintainer.pl as of now. @Mika: you mean I should prepare a new DSDT table and in this case overwrite the SPI value there with the 0 and load it (the DSDT table ) into a custom kernel build ?? I will do this (cause all what I want is to enable the codec and to hear sound) currently I have in the extracted DSDT table from this device the SPI1 controller for the "AUDI" device as seen in this snippet : Scope (_SB) { Device (LPEA) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "80860F28" /* Intel SST Audio DSP */) // _HID: Hardware ID Name (_CID, "80860F28" /* Intel SST Audio DSP */) // _CID: Compatible ID Name (_DDN, "Intel(R) Low Power Audio Controller - 80860F28") // _DDN: DOS Device Name Name (_SUB, "17AA7004") // _SUB: Subsystem ID Name (_UID, One) // _UID: Unique ID Name (_DEP, Package (0x01) // _DEP: Dependencies { ^SPI1.AUDI }) Name (_PR0, Package (0x01) // _PR0: Power Resources for D0 { PLPE }) .... some lines later follows the AUDI device with Device (AUDI) { Name (_HID, "WM510205") // _HID: Hardware ID Name (_CID, "WM510205") // _CID: Compatible ID Name (_DDN, "Wolfson Microelectronics Audio WM5102") // _DDN: DOS Device Name Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (SBUF, ResourceTemplate () { SpiSerialBus (0x0001, PolarityLow, FourWireMode, 0x08, ControllerInitiated, 0x007A1200, ClockPolarityLow, ClockPhaseFirst, "\\_SB.SPI1", 0x00, ResourceConsumer, , ) GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000, "\\_SB.GPO2", 0x00, ResourceConsumer, , ) { // Pin list 0x0004 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.I2C7.PMIC", 0x00, ResourceConsumer, , ) { // Pin list 0x0003 } GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0017 } }) Return (SBUF) /* \_SB_.SPI1.AUDI._CRS.SBUF */ } .... I t makes sense to me, to change the current value(s) in the DSDT and I have read about it to use a custom DSDT table but I am not 100% sure yet (until I have tested it). If I understand you correct, than all I have to do is to change the 'SPI1' string in this dsdt to SPI0 like ^SPI1.AUDI to ^SPI0.AUDI and this block here SpiSerialBus (0x0001, PolarityLow, FourWireMode, 0x08, ControllerInitiated, 0x007A1200, ClockPolarityLow, ClockPhaseFirst, "\\_SB.SPI1", 0x00, ResourceConsumer, , becomes SpiSerialBus (0x0000, PolarityLow, FourWireMode, 0x08, ControllerInitiated, 0x007A1200, ClockPolarityLow, ClockPhaseFirst, "\\_SB.SPI0", 0x00, ResourceConsumer, , For this case, could you please have a look in the whole DSDT table that I extract from this device? If nothing else seems relevant and the current system dsdt has to be changed as suggested, I will try this out as soon as possible @Jarkko : as you suggested , I attach the current system DSDT as a binary. I have also disassembled, and if someone needs it, I can also paste it somewhere else as a reference After all I will assembly the new dsdt and include it in my custom kernel builld as documented, but will wait for some new infos etc. thank you for you answers @all cheers chris 2015-06-25 9:36 GMT+02:00 Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>: > On Thu, Jun 25, 2015 at 09:29:31AM +0200, Christian Hartmann wrote: >> Hello Maintainer(s)s of SPI, >> >> hope I got all of you maintainers now. This email was already sent out >> last week to the alsa-devel list and I resent it here to you. >> >> 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. > > The hardware only has one chipselect. > > You can fix this by specifying the correct chipselect in the ACPI > SpiSerialBus connector: > > SpiSerialBus (0, PolarityLow, FourWireMode, 8, ControllerInitiated, .. > > First parameter is the chipselect.
Attachment:
DSDT_sys_firmware_acpi_tables.bin
Description: Binary data