OpenCloudOS-Kernel/arch/arm/mach-pxa/include/mach
Mike Dunn 3b4bc7bccc ALSA: pxa27x: fix ac97 warm reset
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_nRESET
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 fb1bf8cd
    ([ARM] pxa: introduce processor specific pxa27x_assert_ac97reset())
which changed the mfp to a GPIO input instead of a high output.

The fix requires the ac97 controller to obtain the gpio via gpio_request_one(),
with arguments that configure the gpio as an output initially driven high.

Tested on a palm treo 680 machine.  Reportedly, this broken code only prevents a
warm reset on hardware that lacks a pull-up on the line, which appears to be the
case for me.

Signed-off-by: Mike Dunn <mikedunn@newsguy.com>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2013-01-08 11:27:35 +00:00
..
addr-map.h ARM: pxa: use correct __iomem annotations 2011-10-08 21:03:07 +08:00
audio.h ALSA: Allow passing platform_data for pxa2xx-ac97 2009-08-13 22:19:37 +01:00
balloon3.h PCMCIA: pxa: convert PXA socket drivers to use new irq/gpio management 2012-02-04 14:32:22 +00:00
bitfield.h
colibri.h ARM: pxa/colibri: use correct SD detect pin 2011-02-09 23:05:03 +08:00
corgi.h ARM: pxa: rename NR_BUILTIN_GPIO 2011-11-14 21:07:59 +08:00
csb726.h ARM: pxa: rename gpio_to_irq and irq_to_gpio 2011-11-14 21:07:59 +08:00
debug-macro.S ARM: add an extra temp register to the low level debugging addruart macro 2011-09-26 10:11:25 -04:00
dma.h [ARM] pxa: introduce plat-pxa for PXA common code and add DMA support 2009-03-23 10:11:31 +08:00
eseries-gpio.h ASoC: machine support for Toshiba e740 PDA 2009-01-19 16:15:41 +00:00
eseries-irq.h ARM: pxa: encode IRQ number into .nr_irqs 2010-10-08 16:21:17 +08:00
gpio.h ARM: pxa: change gpio to platform device 2011-11-15 19:08:27 +08:00
gumstix.h ARM: pxa: rename IRQ_GPIO to PXA_GPIO_TO_IRQ 2011-11-14 21:07:58 +08:00
h5000.h [ARM] pxa: add basic support for HP iPAQ h5000 2008-12-02 14:43:50 +08:00
hardware.h ARM: pxa: remove pxa95x support 2012-11-15 13:50:13 +01:00
hx4700.h ARM: pxa: rename NR_BUILTIN_GPIO 2011-11-14 21:07:59 +08:00
idp.h ARM: pxa: change gpio to platform device 2011-11-15 19:08:27 +08:00
io.h ARM: fix __io macro for PCMCIA 2012-04-05 11:29:55 -07:00
irqs.h ARM: pxa: remove pxa95x support 2012-11-15 13:50:13 +01:00
littleton.h ARM: pxa: change gpio to platform device 2011-11-15 19:08:27 +08:00
lpd270.h ARM: pxa: use correct __iomem annotations 2011-10-08 21:03:07 +08:00
lubbock.h ARM: pxa: encode IRQ number into .nr_irqs 2010-10-08 16:21:17 +08:00
magician.h ARM: pxa: rename NR_BUILTIN_GPIO 2011-11-14 21:07:59 +08:00
mainstone.h ARM: 7344/1: pxa: mainstone: add missing include for IRQ_BOARD_START 2012-02-23 22:15:26 +00:00
mfp-pxa2xx.h ARM: PXA2xx: MFP: fix bug with MFP_LPM_KEEP_OUTPUT 2012-04-27 11:11:50 +08:00
mfp-pxa3xx.h [ARM] pxa: move common MFP handling code into plat-pxa 2009-03-23 10:11:34 +08:00
mfp-pxa25x.h [ARM] pxa: simplify the LCD pin configuration for pxa25x platforms 2010-03-02 07:40:46 +08:00
mfp-pxa27x.h ALSA: pxa27x: fix ac97 warm reset 2013-01-08 11:27:35 +00:00
mfp-pxa300.h ARM: pxa: fix CI_HSYNC and CI_VSYNC MFP defines for pxa300 2010-08-30 09:59:43 +08:00
mfp-pxa320.h [ARM] pxa: add additional mfp definitions for pxa320 2009-06-05 10:32:55 +08:00
mfp-pxa930.h ARM: pxa: append tavorevb3 support 2010-10-09 17:07:24 +08:00
mfp.h [ARM] pxa: remove duplicate mfp definition in mach 2009-09-10 18:49:24 +08:00
mioa701.h ARM: pxa: mioa701 add camera output enable gpio 2012-04-27 13:06:08 +08:00
mtd-xip.h ARM: pxa: use correct __iomem annotations 2011-10-08 21:03:07 +08:00
mxm8x10.h [ARM] pxa: fix typo in mxm8x10.h 2010-03-02 10:24:14 +08:00
palm27x.h ARM: pxa: fix inconsistent CONFIG_USB_PXA27X 2011-11-10 15:32:27 +08:00
palmld.h ARM: pxa: rename IRQ_GPIO to PXA_GPIO_TO_IRQ 2011-11-14 21:07:58 +08:00
palmt5.h ARM: pxa: rename IRQ_GPIO to PXA_GPIO_TO_IRQ 2011-11-14 21:07:58 +08:00
palmtc.h ARM: pxa: rename IRQ_GPIO to PXA_GPIO_TO_IRQ 2011-11-14 21:07:58 +08:00
palmte2.h tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
palmtreo.h [ARM] pxa/treo: add Palm Centro 685 support 2009-12-01 09:02:49 +08:00
palmtx.h ARM: pxa: rename IRQ_GPIO to PXA_GPIO_TO_IRQ 2011-11-14 21:07:58 +08:00
palmz72.h ARM: pxa: PalmZ72: Add OV9640 camera support 2011-03-16 16:32:47 +08:00
pcm027.h ARM: pxa: rename IRQ_GPIO to PXA_GPIO_TO_IRQ 2011-11-14 21:07:58 +08:00
pcm990_baseboard.h ARM: pxa: use ioremap to access CPLD 2012-04-27 13:05:36 +08:00
pm.h ARM: pm: allow suspend finisher to return error codes 2011-07-02 09:54:01 +01:00
poodle.h ARM: pxa: rename NR_BUILTIN_GPIO 2011-11-14 21:07:59 +08:00
pxa2xx-regs.h ARM: pxa: Access SMEMC via virtual addresses 2010-12-16 14:31:16 +08:00
pxa3xx-regs.h ARM: pxa: append the definition of CKENC 2012-08-20 13:51:45 +08:00
pxa3xx.h ARM: pxa: remove pxa95x support 2012-11-15 13:50:13 +01:00
pxa25x-udc.h
pxa25x.h ARM: pxa: enable MULTI_IRQ_HANDLER for all boards 2011-07-12 19:50:33 +08:00
pxa27x-udc.h treewide: transciever/transceiver spelling fixes 2011-06-24 11:20:14 +02:00
pxa27x.h ARM: pxa/z2: fix building error of pxa27x_cpu_suspend() no longer available 2011-10-08 21:02:44 +08:00
pxa300.h ARM: pxa: add common header file for pxa3xx 2011-07-12 19:45:20 +08:00
pxa320.h ARM: pxa: add common header file for pxa3xx 2011-07-12 19:45:20 +08:00
pxa930.h ARM: pxa: add common header file for pxa3xx 2011-07-12 19:45:20 +08:00
regs-ac97.h [ARM] pxa: fix missing of __REG() definition for ac97 registers access 2009-01-19 11:39:36 +08:00
regs-lcd.h [ARM] pxafb: add support for overlay1 and overlay2 as framebuffer devices 2008-12-29 18:00:04 +08:00
regs-ost.h ARM: sa11x0/pxa: convert OS timer registers to IOMEM 2012-07-09 17:37:35 +01:00
regs-rtc.h [ARM] pxa: separate definitions from pxa-regs.h and remove it finally 2009-03-09 21:22:40 +08:00
regs-u2d.h [ARM] pxa: add missing new line to regs-u2d.h 2010-05-06 11:12:10 +08:00
regs-uart.h [ARM] pxa: move UART register definitions into dedicated regs-uart.h 2008-12-02 14:42:38 +08:00
reset.h [ARM] pxa: allow gpio_reset drive high during normal work 2009-05-18 21:52:09 +08:00
sharpsl_pm.h [ARM] pxa: removed mostly unused and confusing two sharpsl.h 2010-08-05 14:32:38 +08:00
smemc.h ARM: pxa: use correct __iomem annotations 2011-10-08 21:03:07 +08:00
spitz.h ARM: pxa: rename NR_BUILTIN_GPIO 2011-11-14 21:07:59 +08:00
timex.h [ARM] rtc-sa1100: don't assume CLOCK_TICK_RATE to be a constant 2008-12-29 17:57:48 +08:00
tosa.h ARM: pxa: rename NR_BUILTIN_GPIO 2011-11-14 21:07:59 +08:00
tosa_bt.h
trizeps4.h ARM: pxa: rename IRQ_GPIO to PXA_GPIO_TO_IRQ 2011-11-14 21:07:58 +08:00
udc.h ARM: move udc_pxa2xx.h to linux/platform_data 2012-11-16 11:35:30 +00:00
uncompress.h ARM: zImage: remove the static qualifier from global data variables 2011-05-07 00:08:02 -04:00
viper.h [ARM] pxa/zeus: make Viper pcmcia support more generic to support Zeus 2009-12-13 21:42:58 +08:00
vpac270.h [ARM] pxa/vpac270: remove TS_IRQ magic number 2010-05-11 17:25:03 +02:00
z2.h ARM: PXA: Z2: Fix libertas init/tear down sequences 2011-03-16 14:56:02 +01:00
zeus.h ARM: pxa: use correct __iomem annotations 2011-10-08 21:03:07 +08:00
zylonite.h ARM: pxa: make zylonite_pxa*_init declaration match code 2011-10-08 21:02:57 +08:00