Stefan Ringel wrote: > Am 08.02.2010 12:23, schrieb Mauro Carvalho Chehab: >> stefan.ringel@xxxxxxxx wrote: >> >>> From: Stefan Ringel <stefan.ringel@xxxxxxxx> >>> >>> Signed-off-by: Stefan Ringel <stefan.ringel@xxxxxxxx> >>> --- >>> drivers/staging/tm6000/tm6000-cards.c | 11 +++++++---- >>> 1 files changed, 7 insertions(+), 4 deletions(-) >>> >>> diff --git a/drivers/staging/tm6000/tm6000-cards.c b/drivers/staging/tm6000/tm6000-cards.c >>> index 1167b01..5cf5d58 100644 >>> --- a/drivers/staging/tm6000/tm6000-cards.c >>> +++ b/drivers/staging/tm6000/tm6000-cards.c >>> @@ -271,11 +271,14 @@ static int tm6000_tuner_callback(void *ptr, int component, int command, int arg) >>> switch (arg) { >>> case 0: >>> tm6000_set_reg (dev, REQ_03_SET_GET_MCU_PIN, >>> + dev->tuner_reset_gpio, 0x01); >>> + msleep(60); >>> + tm6000_set_reg (dev, REQ_03_SET_GET_MCU_PIN, >>> dev->tuner_reset_gpio, 0x00); >>> - msleep(130); >>> + msleep(75); >>> tm6000_set_reg (dev, REQ_03_SET_GET_MCU_PIN, >>> dev->tuner_reset_gpio, 0x01); >>> - msleep(130); >>> + msleep(60); >>> break; >>> case 1: >>> tm6000_set_reg (dev, REQ_04_EN_DISABLE_MCU_INT, >>> @@ -288,10 +291,10 @@ static int tm6000_tuner_callback(void *ptr, int component, int command, int arg) >>> TM6000_GPIO_CLK, 0); >>> if (rc<0) >>> return rc; >>> - msleep(100); >>> + msleep(10); >>> rc=tm6000_set_reg (dev, REQ_03_SET_GET_MCU_PIN, >>> TM6000_GPIO_CLK, 1); >>> - msleep(100); >>> + msleep(10); >>> break; >>> } >>> } >>> >> This sequence and the timeouts are board-specific. Please add a switch(dev->model) and >> test for your specific board, since your sequence will break for example 10moons, where >> you really need a longer delay to work. >> >> > What for tuner modell have you, xc2028, xc3028 or xc3028L ? I have > xc3028L, And it can reset faster. I'm adding a switch(dev->modell). I have one device with each of the above, but the one with xc3028 stopped working when I tried to replace the tm6000revA by a tm6000revD. The newest one has tm6010/xc3028L. I suspect that it supports a faster reset, but I don't remember the exact timings measured based on the m$ driver. the 10moons has a xc2028 and a tm5600, and it hangs if commands are sent too fast to the device. -- Cheers, Mauro -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html