Commit dff65740 authored by Michael Krufky's avatar Michael Krufky Committed by Mauro Carvalho Chehab

V4L/DVB (9737): sms1xxx: enable LNA control on Hauppauge WinTV MiniCard

Power the LNA while the frontend is in use.
Signed-off-by: default avatarMichael Krufky <mkrufky@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent ec984f43
...@@ -41,7 +41,7 @@ struct usb_device_id smsusb_id_table[] = { ...@@ -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) ...@@ -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) ...@@ -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 @@ ...@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment