forked from Minki/linux
V4L/DVB (9737): sms1xxx: enable LNA control on Hauppauge WinTV MiniCard
Power the LNA while the frontend is in use. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
ec984f4378
commit
dff65740e0
@ -41,7 +41,7 @@ struct usb_device_id smsusb_id_table[] = {
|
|||||||
{ USB_DEVICE(0x2040, 0x2000),
|
{ USB_DEVICE(0x2040, 0x2000),
|
||||||
.driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD },
|
.driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD },
|
||||||
{ USB_DEVICE(0x2040, 0x2009),
|
{ USB_DEVICE(0x2040, 0x2009),
|
||||||
.driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD },
|
.driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD_R2 },
|
||||||
{ USB_DEVICE(0x2040, 0x200a),
|
{ USB_DEVICE(0x2040, 0x200a),
|
||||||
.driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD },
|
.driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD },
|
||||||
{ USB_DEVICE(0x2040, 0x2010),
|
{ USB_DEVICE(0x2040, 0x2010),
|
||||||
@ -165,6 +165,11 @@ int sms_board_setup(struct smscore_device_t *coredev)
|
|||||||
sms_set_gpio(coredev, board->led_hi, 0);
|
sms_set_gpio(coredev, board->led_hi, 0);
|
||||||
sms_set_gpio(coredev, board->led_lo, 0);
|
sms_set_gpio(coredev, board->led_lo, 0);
|
||||||
break;
|
break;
|
||||||
|
case SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD_R2:
|
||||||
|
case SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD:
|
||||||
|
/* turn off LNA */
|
||||||
|
sms_set_gpio(coredev, board->lna_ctrl, 0);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -180,6 +185,12 @@ int sms_board_power(struct smscore_device_t *coredev, int onoff)
|
|||||||
sms_set_gpio(coredev,
|
sms_set_gpio(coredev,
|
||||||
board->led_power, onoff ? 1 : 0);
|
board->led_power, onoff ? 1 : 0);
|
||||||
break;
|
break;
|
||||||
|
case SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD_R2:
|
||||||
|
case SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD:
|
||||||
|
/* LNA */
|
||||||
|
sms_set_gpio(coredev,
|
||||||
|
board->lna_ctrl, onoff ? 1 : 0);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -33,13 +33,14 @@
|
|||||||
#define SMS1XXX_BOARD_HAUPPAUGE_OKEMO_B 7
|
#define SMS1XXX_BOARD_HAUPPAUGE_OKEMO_B 7
|
||||||
#define SMS1XXX_BOARD_HAUPPAUGE_WINDHAM 8
|
#define SMS1XXX_BOARD_HAUPPAUGE_WINDHAM 8
|
||||||
#define SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD 9
|
#define SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD 9
|
||||||
|
#define SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD_R2 10
|
||||||
|
|
||||||
struct sms_board {
|
struct sms_board {
|
||||||
enum sms_device_type_st type;
|
enum sms_device_type_st type;
|
||||||
char *name, *fw[DEVICE_MODE_MAX];
|
char *name, *fw[DEVICE_MODE_MAX];
|
||||||
|
|
||||||
/* gpios */
|
/* gpios */
|
||||||
int led_power, led_hi, led_lo;
|
int led_power, led_hi, led_lo, lna_ctrl;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sms_board *sms_get_board(int id);
|
struct sms_board *sms_get_board(int id);
|
||||||
|
Loading…
Reference in New Issue
Block a user