Mark Brown broonie@opensource.wolfsonmicro.com writes:
Just to clarify, it is the initial reset on chip probe that is causing problems for you rather than a call later on? If the driver state and chip state are out of sync after that then that suggests that there is an error in the register defaults or some other similar issue.
It's the initial on chip probe in my case.
After that, I need to setup a specific GPIO to trigger loud speaker amplificator. The trouble is that I do not want to trigger another GPIO which powers another amplificator. My code basically reads de GPIO register, put the right bit, and stores back. But because of cache/chip difference, I trigger the other GPIO.
How exactly are you doing these accesses and which registers is it that trigger the problem - is it setting the GPIO state or configuring the GPIO pin modes?
I'm setting up a wm9713 GPIO (GPIO8) as input, and then set the pull-up register to power my speaker amplification.
As we said, I'll implement a machine dependent solution, assuming there'll be in the future a mecanism in ASoC v2 allowing hook inscription for the reset phase. I'll synchronize the cache in this specific function, and will wait ASoC to catch up or propose a patch.
-- Robert
PS: Sorry for the list, in my last reply I forgot alsa-devel.