[PATCH] ARM: PXA27x: fix workaround for AC97 reset
robert.jarzmik at free.fr
Sun Jan 6 09:07:37 EST 2013
Igor Grinberg <grinberg at compulab.co.il> writes:
> Fix the workaround to a hardware bug in the AC97 controller of PXA27x.
> A bug in the controller's warm reset functionality requires that the MFP
> used by the controller as the AC97_RESET_n line be temporarily
> reconfigured as a GPIO (AF0) and manually held high for the duration of
> the warm reset cycle.
> The workaround was broken long ago by commit fb1bf8cd
> ([ARM] pxa: introduce processor specific pxa27x_assert_ac97reset()).
> The commit above changed the original workaround code in a way that
> changed the MFP to AF0 (GPIO), but forgot to drive the GPIO high output.
> This way, the GPIO state was left input (and undriven) and only worked
> for boards with external pullup on the line.
> Fix the above breakage by actually configurring the GPIO for output high
> in case of reset assert and returning it to default state
> (AF2 and GPDR - input) in case of reset deassert.
If you return GPIO95 to AF-input, the GPIO95 will be "KP_DKIN<2>", ie. you'll
map a keyboard input to a AC97 reset.
As I said in a mail before, don't put a AC97 reset line as an input pin, this is
not a sensible patch.
More information about the linux-arm-kernel