diff options
author | Oliver Endriss <o.endriss@gmx.de> | 2006-01-09 12:25:06 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@brturbo.com.br> | 2006-01-09 12:25:06 -0500 |
commit | f49cc15bbe37b767286fdd7abe65810e750cf70a (patch) | |
tree | 6c3592edd83633b50d7d496d6de7aa79645560af /drivers/media/dvb/ttpci/budget.c | |
parent | eb3daf3c5acfa737bdf2bd9d1f93c3393dde5067 (diff) |
DVB (2432): LNB power can now be switched off for Activy Budget-S rev GR/AL.
- LNB power can now be switched off for Activy Budget-S rev GR/AL.
Dishnetwork support fixed for Nova-S with bsbe1/lnbp21 frontend and
Activy Budget-S rev AL.
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Diffstat (limited to 'drivers/media/dvb/ttpci/budget.c')
-rw-r--r-- | drivers/media/dvb/ttpci/budget.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/media/dvb/ttpci/budget.c b/drivers/media/dvb/ttpci/budget.c index fafe6407b3d0..746aad373293 100644 --- a/drivers/media/dvb/ttpci/budget.c +++ b/drivers/media/dvb/ttpci/budget.c | |||
@@ -112,6 +112,7 @@ static int SendDiSEqCMsg (struct budget *budget, int len, u8 *msg, unsigned long | |||
112 | * Routines for the Fujitsu Siemens Activy budget card | 112 | * Routines for the Fujitsu Siemens Activy budget card |
113 | * 22 kHz tone and DiSEqC are handled by the frontend. | 113 | * 22 kHz tone and DiSEqC are handled by the frontend. |
114 | * Voltage must be set here. | 114 | * Voltage must be set here. |
115 | * GPIO 1: LNBP EN, GPIO 2: LNBP VSEL | ||
115 | */ | 116 | */ |
116 | static int SetVoltage_Activy (struct budget *budget, fe_sec_voltage_t voltage) | 117 | static int SetVoltage_Activy (struct budget *budget, fe_sec_voltage_t voltage) |
117 | { | 118 | { |
@@ -121,11 +122,16 @@ static int SetVoltage_Activy (struct budget *budget, fe_sec_voltage_t voltage) | |||
121 | 122 | ||
122 | switch (voltage) { | 123 | switch (voltage) { |
123 | case SEC_VOLTAGE_13: | 124 | case SEC_VOLTAGE_13: |
125 | saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTHI); | ||
124 | saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTLO); | 126 | saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTLO); |
125 | break; | 127 | break; |
126 | case SEC_VOLTAGE_18: | 128 | case SEC_VOLTAGE_18: |
129 | saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTHI); | ||
127 | saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTHI); | 130 | saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTHI); |
128 | break; | 131 | break; |
132 | case SEC_VOLTAGE_OFF: | ||
133 | saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTLO); | ||
134 | break; | ||
129 | default: | 135 | default: |
130 | return -EINVAL; | 136 | return -EINVAL; |
131 | } | 137 | } |
@@ -580,6 +586,7 @@ static void frontend_init(struct budget *budget) | |||
580 | if (budget->dvb_frontend) { | 586 | if (budget->dvb_frontend) { |
581 | budget->dvb_frontend->ops->set_voltage = lnbp21_set_voltage; | 587 | budget->dvb_frontend->ops->set_voltage = lnbp21_set_voltage; |
582 | budget->dvb_frontend->ops->enable_high_lnb_voltage = lnbp21_enable_high_lnb_voltage; | 588 | budget->dvb_frontend->ops->enable_high_lnb_voltage = lnbp21_enable_high_lnb_voltage; |
589 | budget->dvb_frontend->ops->dishnetwork_send_legacy_command = NULL; | ||
583 | if (lnbp21_init(budget)) { | 590 | if (lnbp21_init(budget)) { |
584 | printk("%s: No LNBP21 found!\n", __FUNCTION__); | 591 | printk("%s: No LNBP21 found!\n", __FUNCTION__); |
585 | goto error_out; | 592 | goto error_out; |
@@ -624,7 +631,7 @@ static void frontend_init(struct budget *budget) | |||
624 | budget->dvb_frontend = stv0299_attach(&alps_bsru6_config, &budget->i2c_adap); | 631 | budget->dvb_frontend = stv0299_attach(&alps_bsru6_config, &budget->i2c_adap); |
625 | if (budget->dvb_frontend) { | 632 | if (budget->dvb_frontend) { |
626 | budget->dvb_frontend->ops->set_voltage = siemens_budget_set_voltage; | 633 | budget->dvb_frontend->ops->set_voltage = siemens_budget_set_voltage; |
627 | break; | 634 | budget->dvb_frontend->ops->dishnetwork_send_legacy_command = NULL; |
628 | } | 635 | } |
629 | break; | 636 | break; |
630 | 637 | ||
@@ -632,7 +639,7 @@ static void frontend_init(struct budget *budget) | |||
632 | budget->dvb_frontend = tda8083_attach(&grundig_29504_451_config, &budget->i2c_adap); | 639 | budget->dvb_frontend = tda8083_attach(&grundig_29504_451_config, &budget->i2c_adap); |
633 | if (budget->dvb_frontend) { | 640 | if (budget->dvb_frontend) { |
634 | budget->dvb_frontend->ops->set_voltage = siemens_budget_set_voltage; | 641 | budget->dvb_frontend->ops->set_voltage = siemens_budget_set_voltage; |
635 | break; | 642 | budget->dvb_frontend->ops->dishnetwork_send_legacy_command = NULL; |
636 | } | 643 | } |
637 | break; | 644 | break; |
638 | 645 | ||