[alsa-devel] WM5102 - Help to make baytrail machine driver work
Charles Keepax
ckeepax at opensource.wolfsonmicro.com
Mon May 15 14:02:55 CEST 2017
On Sat, May 13, 2017 at 02:11:31AM -0300, Paulo Sergio wrote:
> Remarks:
>
> * setting pll/fll using snd_soc_dai_set_pll didn't work. I had to map
> the codec member from snd_soc_dai struct and use
> snd_soc_codec_set_pll instead (used the same constants used on
> Lenovo source code)
>
Yes this is correct you will need to call snd_soc_codec_set_pll
to configure the FLLs on the chip. As the FLLs are not tied to a
particular DAI it doesn't really make sense to configure them
from dai_set_pll.
> - Had also to set sysclk to codecs, not only to dai's using
> snd_soc_codec_set_sysclk
>
Again this also makes sense snd_soc_codec_set_sysclk is how you
configure the sysclk on this device. Again here the sysclk is
chip wide.
> * This device (Lenovo Yoga 2 1051F) is a bytcr device. However bios
> status returned by iosf_mbi_read is
> 1000000001000000000000101000000 (bits 26:27 disabled).
> Had to force bytcr flag to be true in order to apply correct MCLK
> frequency (25Mhz) and use SSP0
>
> * Used commands from rt5640 UCM file, removing 5640 specifics and
> using Wolfson ones (thanks to Charles for point this out previously):
> cset name='HPOUT1L Input 1' AIF1RX1
> cset name='HPOUT1R Input 1' AIF1RX2
> cset name='HPOUT1 Digital Switch' on
>
>
> cset name='Headphone Switch' on
>
> * Used some patches to enable wm5102 ACPI detection (credits to
> Christian Hartmann)
>
> * Added a voltage supplier needed to wm5102 (added to arizona-ldo
> directly - Lenovo and rpi register a platform with these)
Should probably look at splitting that out into its own regulator
and making it the supply for the LDO.
> * hardcoded ldoena, reset and irq_gpio on arizona-core (tried to get
> those from gpio, but they didn't give me the correct values. Lack of
> knowledge... )
>
Not sure on this front I am afraid.
> * The codec chip uses SPI, not IC2 like 5640 (don't know if this is
> relevant for machine driver code)
This should not matter from the machine driver it should all be
hidden behing regmap at that level.
Thanks,
Charles
More information about the Alsa-devel
mailing list