[alsa-devel] Intel SST and HP ElitePad 1000 G2

Jorge Fernandez Monteagudo jorgefm at cirsa.com
Tue Nov 24 10:49:28 CET 2015


Hi Pierre-Louis,

I've download your t100-v4.3-24bit branch, then I've patched it with my changes
and I've deployed it in the tablet. I've copied the bytcr-rt5640 from UCM master
branch in the /usr/share/alsa/ucm tablet directory, but after rebooting I have no
sound.

Attached you can find the dmesg log and the .config used to generate the kernel,
maybe any option has to be enabled...

Regards,
Jorge
________________________________________
From: Pierre-Louis Bossart [pierre-louis.bossart at linux.intel.com]
Sent: Monday, November 23, 2015 6:02 PM
To: Jorge Fernandez Monteagudo; alsa-devel at alsa-project.org
Subject: Re: [alsa-devel] Intel SST and HP ElitePad 1000 G2

On 11/23/15 9:13 AM, Jorge Fernandez Monteagudo wrote:
> Hi,
>
> I've been able to get the audio working in the HP ElitePad 1000G2 tablet.
> Attached the patch I've used in a 4.2.5 to get it working.

Thanks for sharing and good to hear that you have audio working. I have
no idea why BIOS folks keep inventing new (and illegal) ACPI _HID values...

We may need to use the same tricks as in sst-acpi to find out which
string to use for .codec_name based on which _HID is handled by the ACPI
subsystem instead of a hard-coded value.

Note that we are trying to move away from this older driver to a newer
one based on DPCM that would also support BYT-CR devices and MinnowMax
Board. It's not ready yet for upstream but if you want to add those
changes to the newer version and test it'd be great. See
https://github.com/plbossart/sound.git t100-v4.3-24bit and matching UCM
files at https://github.com/plbossart/UCM

>
> Basically in this tablet the rt5640 realtek audio codec is identified with
> INTCCFFD. I don't know how to share 'byt-rt5640.c' with two identifiers
> because I had to change:
>
> @@ -186,7 +194,7 @@
>               .stream_name = "Audio",
>               .cpu_dai_name = "baytrail-pcm-audio",
>               .codec_dai_name = "rt5640-aif1",
> -             .codec_name = "i2c-10EC5640:00",
> +             .codec_name = "i2c-INTCCFFD:00",
>               .platform_name = "baytrail-pcm-audio",
>               .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
>                          SND_SOC_DAIFMT_CBS_CFS,
>
> but the correct will be to two both of them.
>
> Regards
>
> ________________________________________
> From: alsa-devel-bounces at alsa-project.org [alsa-devel-bounces at alsa-project.org] On Behalf Of Jorge Fernandez Monteagudo [jorgefm at cirsa.com]
> Sent: Friday, November 20, 2015 4:27 PM
> To: alsa-devel at alsa-project.org
> Subject: [alsa-devel] Intel SST and HP ElitePad 1000 G2
>
> Hi,
>
> This is my first email in this list, and my last chance to make my tablet
> audio system work
>
> I'm trying to get my tablet audio system working but I'm run out of ideas.
> The HP ElitePad 1000 G2 it's an Atom Z3795 1.60GHz Bay Trail-T tablet.
>
> I'm using a kernel 4.2.5 with all the SST configs enabled:
>
> CONFIG_SND_SST_MFLD_PLATFORM=m
> CONFIG_SND_SST_IPC=m
> CONFIG_SND_SST_IPC_ACPI=m
> CONFIG_SND_SOC_INTEL_SST=m
> CONFIG_SND_SOC_INTEL_SST_ACPI=m
> CONFIG_SND_SOC_INTEL_HASWELL=m
> CONFIG_SND_SOC_INTEL_BAYTRAIL=m
> CONFIG_SND_SOC_INTEL_HASWELL_MACH=m
> CONFIG_SND_SOC_INTEL_BYT_RT5640_MACH=m
> CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH=m
> CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m
> CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
> CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
> CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m
> CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m
> # CONFIG_SND_SOC_QCOM is not set
> # CONFIG_SND_SOC_XTFPGA_I2S is not set
> CONFIG_SND_SOC_I2C_AND_SPI=m
>
> I've follow the same steps as the installation for Asus T100TA
> https://wiki.debian.org/InstallingDebianOn/Asus/T100TA
>
> and finally I only get the dmesg traces:
>
> sst-acpi 80860F28:00: No matching ASoC machine driver found
> intel-sst-acpi 80860F28:00: No matching machine driver found
>
>  From the 'dsdt.dsl' I can see:
>
>          Device (I2C2)
>          {
>              Name (_ADR, Zero)  // _ADR: Address
>              Name (_HID, "80860F41" /* Intel Baytrail I2C Host Controller */)  // _HID: Hardware ID
>              Name (_CID, "80860F41" /* Intel Baytrail I2C Host Controller */)  // _CID: Compatible ID
>              Name (_DEP, Package (0x01)  // _DEP: Dependencies
>              {
>                  PEPD
>              })
>              Name (_DDN, "Intel(R) I2C Controller #2 - 80860F42")  // _DDN: DOS Device Name
>              Name (_UID, 0x02)  // _UID: Unique ID
>              Name (RBUF, ResourceTemplate ()
>              {
>                  Memory32Fixed (ReadWrite,
>                      0x00000000,         // Address Base
>                      0x00001000,         // Address Length
>                      _Y12)
>                  Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
>                  {
>                      0x00000021,
>                  }
>                  FixedDMA (0x0012, 0x0002, Width32bit, )
>                  FixedDMA (0x0013, 0x0003, Width32bit, )
>              })
>              Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
>              {
>                  Return (SOCS) /* \SOCS */
>              }
>
>              Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
>              {
>                  CreateDWordField (RBUF, \_SB.I2C2._Y12._BAS, B0BA)  // _BAS: Base Address
>                  CreateDWordField (RBUF, \_SB.I2C2._Y12._LEN, B0LN)  // _LEN: Length
>                  Store (I20A, B0BA) /* \_SB_.I2C2._CRS.B0BA */
>                  Store (I20L, B0LN) /* \_SB_.I2C2._CRS.B0LN */
>                  Return (RBUF) /* \_SB_.I2C2.RBUF */
>              }
>
>              Method (_STA, 0, NotSerialized)  // _STA: Status
>              {
>                  If (LOr (LEqual (I20A, Zero), LEqual (L22D, One)))
>                  {
>                      Return (Zero)
>                  }
>
>                  Return (0x0F)
>              }
>
>              Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
>              {
>                  Or (PSAT, 0x03, PSAT) /* \_SB_.I2C2.PSAT */
>                  Or (PSAT, Zero, PSAT) /* \_SB_.I2C2.PSAT */
>              }
>
>              Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
>              {
>                  And (PSAT, 0xFFFFFFFC, PSAT) /* \_SB_.I2C2.PSAT */
>                  Or (PSAT, Zero, PSAT) /* \_SB_.I2C2.PSAT */
>              }
>
>              OperationRegion (KEYS, SystemMemory, I21A, 0x0100)
>              Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
>              {
>                  Offset (0x84),
>                  PSAT,   32
>              }
>
>              Device (RTEK)
>              {
>                  Name (_ADR, Zero)  // _ADR: Address
>                  Name (_HID, "INTCCFFD")  // _HID: Hardware ID
>                  Name (_CID, "INTCCFFD")  // _CID: Compatible ID
>                  Name (_DDN, "RTEK Codec Controller ")  // _DDN: DOS Device Name
>                  Name (_UID, 0x02)  // _UID: Unique ID
>                  Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
>                  {
>                      Name (SBUF, ResourceTemplate ()
>                      {
>                          I2cSerialBus (0x001C, ControllerInitiated, 0x00061A80,
>                              AddressingMode7Bit, "\\_SB.I2C2",
>                              0x00, ResourceConsumer, ,
>                              )
>                          GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x0000,
>                              "\\_SB.GPO2", 0x00, ResourceConsumer, ,
>                              )
>                              {   // Pin list
>                                  0x000E
>                              }
>                          GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x0000,
>                              "\\_SB.GPO0", 0x00, ResourceConsumer, ,
>                              )
>                              {   // Pin list
>                                  0x0003
>                              }
>                          GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x0000,
>                              "\\_SB.GPO0", 0x00, ResourceConsumer, ,
>                              )
>                              {   // Pin list
>                                  0x0000
>                              }
>                          GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
>                              "\\_SB.GPO2", 0x00, ResourceConsumer, ,
>                              )
>                              {   // Pin list
>                                  0x000E
>                              }
>                          GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
>                              "\\_SB.GPO0", 0x00, ResourceConsumer, ,
>                              )
>                              {   // Pin list
>                                  0x0003,
>                                  0x0000
>                              }
>                      })
>                      Return (SBUF) /* \_SB_.I2C2.RTEK._CRS.SBUF */
>                  }
>
> What am I missing? I suppose I need some changes in the kernel sources but I don't know
> where to start. Any help is welcome
>
> Regards,
> Jorge
>
> Este mensaje se dirige exclusivamente a su destinatario y puede contener información privilegiada o CONFIDENCIAL. Si no es vd. el destinatario indicado, queda notificado de que la utilización, divulgación y/o copia sin autorización está prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción.
>
> This message is intended exclusively for its addressee and may contain information that is CONFIDENTIAL and protected by professional privilege.
> If you are not the intended recipient you are hereby notified that any dissemination, copy or disclosure of this communication is strictly prohibited by law. If this message has been received in error, please immediately notify us via e-mail and delete it.
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>
>
>
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: dmesg.txt
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20151124/f859db4a/attachment-0001.txt>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: config
Type: application/octet-stream
Size: 169923 bytes
Desc: config
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20151124/f859db4a/attachment-0001.obj>


More information about the Alsa-devel mailing list