[PATCH v2] ARM: pxa27x: fix ac97 controller warm reset code

Robert Jarzmik robert.jarzmik at free.fr
Sun Jan 6 09:00:25 EST 2013


Igor Grinberg <grinberg at compulab.co.il> writes:

> On 01/04/13 22:34, Robert Jarzmik wrote:
>> This is not the original behaviour before commit
>> fb1bf8cd13bfa7ed0364ab0d82f717fc020d35f6.
>> 
>> The original behaviour was :
>>  - on = 1 => set GPIO as output GPIO, set to 1
>>  - on = 0 => set GPIO to the alternate function ac97reset, driven by PXA2xx AC97
>>  IP.
>> 
>> If you don't set the alternate function, the GCR register usage for reset is
>> useless, isn't it ? So why do you set the GPIO as "input" with on == 0 ?
>
> Well, I've made a quick patch for Mike to test if this works and
> since it works I will submit a proper one.
Mmm...

> To your question about setting the direction,
> I'd like us to be on a safe side and not drive the pin if AF is not GPIO.
> Although it should not meter and changing the AF to ac97reset should do the job,
> but just to be on the safe side, as I think GPDR/GPCR/GPSR settings are preserved
> even if you change the AF to something other than GPIO.

I think I was not clear enough.

My point is that if you program the GPIO as input, then the PXA will not drive
the pin anymore. If you have a resistor doing the "pullup", everything will work
(as I assume is the case in your board). If not, the AC97 codec (wm9713 and
co...) could have its reset line asserted (ie. #RESET line), and *this* bothers me.

So changing the AC97 #RESET line to "GPIO input" is incorrect, and I don't agree
with the patch.

Cheers.

-- 
Robert



More information about the linux-arm-kernel mailing list