]> err.no Git - linux-2.6/blobdiff - drivers/media/video/cx23885/cx23885-cards.c
V4L/DVB (7006): cx23885: Track the board clock frequency and allow overrides
[linux-2.6] / drivers / media / video / cx23885 / cx23885-cards.c
index aa0ddf2ea2248e1459d0bed3ceed3f968811ef40..a4bac43cf9f5b455df404872571e0bc665b829c4 100644 (file)
@@ -32,6 +32,8 @@
 struct cx23885_board cx23885_boards[] = {
        [CX23885_BOARD_UNKNOWN] = {
                .name           = "UNKNOWN/GENERIC",
+               /* Ensure safe default for unknown boards */
+               .clk_freq       = 0,
                .input          = {{
                        .type   = CX23885_VMUX_COMPOSITE1,
                        .vmux   = 0,
@@ -268,7 +270,13 @@ void cx23885_gpio_setup(struct cx23885_dev *dev)
                /* GPIO-15-18 cx23417 READY, CS, RD, WR */
                /* GPIO-19 IR_RX */
 
-               cx_set(GP0_IO, 0x00040004); /* Bring the tuner out of reset */
+               /* Force the TDA8295A into reset and back */
+               cx_set(GP0_IO, 0x00040004);
+               mdelay(20);
+               cx_clear(GP0_IO, 0x00000004);
+               mdelay(20);
+               cx_set(GP0_IO, 0x00040004);
+               mdelay(20);
                break;
        }
 }