[alsa-devel] CS8409 Macbook Pro 2016 2017

Lukas Wunner lukas at wunner.de
Sun Aug 5 21:32:04 CEST 2018


On Sat, Aug 04, 2018 at 11:30:29PM +0300, David Ulricht wrote:
> What am I doing wrong ?  Is the below script correct for testing the GPIOs ?
> for x in range(0,256):
>     mhex=("0x%0.2X" % x)
>     os.system("hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_MASK "+mhex)
>     os.system("hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DIRECTION "+mhex)
>     os.system("hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA "+mhex)
> I think its not correct gpio_direction i guess could be only 0 or 1?
> What happens when I pass a different value to data than 0/1 ? this should
> also not be correct.
> I guess 0x01 is the NID value is it okay to use 0x01 only or I have to pass
> other values to it also ?

The speakers are driven by digital amplifiers MAX98706.  The MBP13,3
has four (treble/bass x left/right).  They're attached via i2c to
GPIO 6 (SCL) and 7 (SDA) of the CS8409 HDA bridge.  It's possible
that you need to initialize the amps via i2c, in that case using the
GPIOs in bitbanging mode is wrong.

Leif Liddy has been looking into this as well (+cc):
https://bugzilla.kernel.org/show_bug.cgi?id=110561

Lukas


More information about the Alsa-devel mailing list