All of lore.kernel.org
 help / color / mirror / Atom feed
From: grinberg@compulab.co.il (Igor Grinberg)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH Resend] ARM: pxa27x: fix ac97 controller warm reset code
Date: Mon, 31 Dec 2012 11:56:11 +0200	[thread overview]
Message-ID: <50E1613B.9040403@compulab.co.il> (raw)
In-Reply-To: <1356728815-14410-1-git-send-email-mikedunn@newsguy.com>

On 12/28/12 23:06, Mike Dunn wrote:
> This patch fixes some code that implements a work-around to a hardware bug in
> the ac97 controller on the 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 generic output gpio (AF0) and manually
> held high for the duration of the warm reset cycle.  This is what was done in
> the original code, but it was broken long ago by commit
> fb1bf8cd13bfa7ed0364ab0d82f717fc020d35f6 
> ([ARM] pxa: introduce processor specific pxa27x_assert_ac97reset())
> which changed the mfp to a GPIO input instead of a high output.

Apparently, it is broken only on boards with no external pullups on these lines.

> 
> Signed-off-by: Mike Dunn <mikedunn@newsguy.com>
> ---
>  arch/arm/mach-pxa/pxa27x.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c
> index 8047ee0..76221e4 100644
> --- a/arch/arm/mach-pxa/pxa27x.c
> +++ b/arch/arm/mach-pxa/pxa27x.c
> @@ -47,9 +47,9 @@ void pxa27x_clear_otgph(void)
>  EXPORT_SYMBOL(pxa27x_clear_otgph);
> 
>  static unsigned long ac97_reset_config[] = {
> -	GPIO113_GPIO,
> +	MFP_CFG_OUT(GPIO113, AF0, DRIVE_HIGH),
>  	GPIO113_AC97_nRESET,
> -	GPIO95_GPIO,
> +	MFP_CFG_OUT(GPIO95, AF0, DRIVE_HIGH),

It was always discouraged to code the above directly.
How about one of the below:
1)
GPIO113_GPIO | MFP_PULL_HIGH,
GPIO95_GPIO  | MFP_PULL_HIGH,

or

2) introduce something like:
GPIO113_AC97_nRESET_GPIO_HIGH
GPIO95_AC97_nRESET_GPIO_HIGH
in the mfp-pxa27x.h file and use them in the structure above.


>  	GPIO95_AC97_nRESET,
>  };
> 
> --
> 1.7.8.6
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 

-- 
Regards,
Igor.

  reply	other threads:[~2012-12-31  9:56 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-28 21:06 [PATCH Resend] ARM: pxa27x: fix ac97 controller warm reset code Mike Dunn
2012-12-31  9:56 ` Igor Grinberg [this message]
2012-12-31 21:04   ` Mike Dunn
2013-01-01 12:40     ` Igor Grinberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50E1613B.9040403@compulab.co.il \
    --to=grinberg@compulab.co.il \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.