mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-20 09:34:44 +08:00
[media] au0828: rework GPIO management for HVR-950q
Restructure the way we bring the various GPIOs out of reset. In particular: 1. we only need to setup the GPIOs as outputs once 2. there's no point in writing 0x40 to register 0x00 since that's the EEPROM write protect and already it's configured as an input 3. Separate out the act of enabling the power supply and bringing the tuner and demod out of reset. If you don't then the chip may not be properly enabled (as the power supply is still ramping up when the chip comes out of reset). This can result in probing failures. Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
This commit is contained in:
parent
b59de95bed
commit
a06b429df4
@ -270,18 +270,25 @@ void au0828_gpio_setup(struct au0828_dev *dev)
|
||||
* 9 - XC5000 Tuner
|
||||
*/
|
||||
|
||||
/* Into reset */
|
||||
/* Set relevant GPIOs as outputs (leave the EEPROM W/P
|
||||
as an input since we will never touch it and it has
|
||||
a pullup) */
|
||||
au0828_write(dev, REG_003, 0x02);
|
||||
au0828_write(dev, REG_002, 0x80 | 0x20 | 0x10);
|
||||
|
||||
/* Into reset */
|
||||
au0828_write(dev, REG_001, 0x0);
|
||||
au0828_write(dev, REG_000, 0x0);
|
||||
msleep(100);
|
||||
msleep(50);
|
||||
|
||||
/* Out of reset (leave the cs5340 in reset until needed) */
|
||||
au0828_write(dev, REG_003, 0x02);
|
||||
au0828_write(dev, REG_001, 0x02);
|
||||
au0828_write(dev, REG_002, 0x80 | 0x20 | 0x10);
|
||||
au0828_write(dev, REG_000, 0x80 | 0x40 | 0x20);
|
||||
/* Bring power supply out of reset */
|
||||
au0828_write(dev, REG_000, 0x80);
|
||||
msleep(50);
|
||||
|
||||
/* Bring xc5000 and au8522 out of reset (leave the
|
||||
cs5340 in reset until needed) */
|
||||
au0828_write(dev, REG_001, 0x02); /* xc5000 */
|
||||
au0828_write(dev, REG_000, 0x80 | 0x20); /* PS + au8522 */
|
||||
|
||||
msleep(250);
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user