Re: [alsa-devel] [PATCH] Change of cold reset and ac97 register cache
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.
On Fri, Jan 18, 2008 at 08:50:42PM +0100, Robert Jarzmik wrote:
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.
For the benefit of the archives: the root issue here is that AC97 reset has problems working as documented with the SoC CPU being used here so it is normally done using a GPIO line on the CPU. Robert is working on a consumer device for which he doesn't have hardware documentation so is unable to generate a working reset to the chip.
participants (2)
-
Mark Brown
-
Robert Jarzmik