Commit f49cc15b authored by Oliver Endriss's avatar Oliver Endriss Committed by Mauro Carvalho Chehab

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: default avatarOliver Endriss <o.endriss@gmx.de>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@brturbo.com.br>
parent eb3daf3c
...@@ -404,9 +404,7 @@ int ttpci_budget_init(struct budget *budget, struct saa7146_dev *dev, ...@@ -404,9 +404,7 @@ int ttpci_budget_init(struct budget *budget, struct saa7146_dev *dev,
tasklet_init(&budget->vpe_tasklet, vpeirq, (unsigned long) budget); tasklet_init(&budget->vpe_tasklet, vpeirq, (unsigned long) budget);
/* frontend power on */ /* frontend power on */
if (bi->type == BUDGET_FS_ACTIVY) if (bi->type != BUDGET_FS_ACTIVY)
saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTHI);
else
saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTHI); saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTHI);
if (budget_register(budget) == 0) { if (budget_register(budget) == 0) {
......
...@@ -112,6 +112,7 @@ static int SendDiSEqCMsg (struct budget *budget, int len, u8 *msg, unsigned long ...@@ -112,6 +112,7 @@ static int SendDiSEqCMsg (struct budget *budget, int len, u8 *msg, unsigned long
* Routines for the Fujitsu Siemens Activy budget card * Routines for the Fujitsu Siemens Activy budget card
* 22 kHz tone and DiSEqC are handled by the frontend. * 22 kHz tone and DiSEqC are handled by the frontend.
* Voltage must be set here. * Voltage must be set here.
* GPIO 1: LNBP EN, GPIO 2: LNBP VSEL
*/ */
static int SetVoltage_Activy (struct budget *budget, fe_sec_voltage_t voltage) static int SetVoltage_Activy (struct budget *budget, fe_sec_voltage_t voltage)
{ {
...@@ -121,11 +122,16 @@ static int SetVoltage_Activy (struct budget *budget, fe_sec_voltage_t voltage) ...@@ -121,11 +122,16 @@ static int SetVoltage_Activy (struct budget *budget, fe_sec_voltage_t voltage)
switch (voltage) { switch (voltage) {
case SEC_VOLTAGE_13: case SEC_VOLTAGE_13:
saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTHI);
saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTLO); saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTLO);
break; break;
case SEC_VOLTAGE_18: case SEC_VOLTAGE_18:
saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTHI);
saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTHI); saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTHI);
break; break;
case SEC_VOLTAGE_OFF:
saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTLO);
break;
default: default:
return -EINVAL; return -EINVAL;
} }
...@@ -580,6 +586,7 @@ static void frontend_init(struct budget *budget) ...@@ -580,6 +586,7 @@ static void frontend_init(struct budget *budget)
if (budget->dvb_frontend) { if (budget->dvb_frontend) {
budget->dvb_frontend->ops->set_voltage = lnbp21_set_voltage; budget->dvb_frontend->ops->set_voltage = lnbp21_set_voltage;
budget->dvb_frontend->ops->enable_high_lnb_voltage = lnbp21_enable_high_lnb_voltage; budget->dvb_frontend->ops->enable_high_lnb_voltage = lnbp21_enable_high_lnb_voltage;
budget->dvb_frontend->ops->dishnetwork_send_legacy_command = NULL;
if (lnbp21_init(budget)) { if (lnbp21_init(budget)) {
printk("%s: No LNBP21 found!\n", __FUNCTION__); printk("%s: No LNBP21 found!\n", __FUNCTION__);
goto error_out; goto error_out;
...@@ -624,7 +631,7 @@ static void frontend_init(struct budget *budget) ...@@ -624,7 +631,7 @@ static void frontend_init(struct budget *budget)
budget->dvb_frontend = stv0299_attach(&alps_bsru6_config, &budget->i2c_adap); budget->dvb_frontend = stv0299_attach(&alps_bsru6_config, &budget->i2c_adap);
if (budget->dvb_frontend) { if (budget->dvb_frontend) {
budget->dvb_frontend->ops->set_voltage = siemens_budget_set_voltage; budget->dvb_frontend->ops->set_voltage = siemens_budget_set_voltage;
break; budget->dvb_frontend->ops->dishnetwork_send_legacy_command = NULL;
} }
break; break;
...@@ -632,7 +639,7 @@ static void frontend_init(struct budget *budget) ...@@ -632,7 +639,7 @@ static void frontend_init(struct budget *budget)
budget->dvb_frontend = tda8083_attach(&grundig_29504_451_config, &budget->i2c_adap); budget->dvb_frontend = tda8083_attach(&grundig_29504_451_config, &budget->i2c_adap);
if (budget->dvb_frontend) { if (budget->dvb_frontend) {
budget->dvb_frontend->ops->set_voltage = siemens_budget_set_voltage; budget->dvb_frontend->ops->set_voltage = siemens_budget_set_voltage;
break; budget->dvb_frontend->ops->dishnetwork_send_legacy_command = NULL;
} }
break; break;
......
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