Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -404,9 +404,7 @@ int ttpci_budget_init(struct budget *budget, struct saa7146_dev *dev,
	tasklet_init(&budget->vpe_tasklet, vpeirq, (unsigned long) budget);

	/* frontend power on */
	if (bi->type == BUDGET_FS_ACTIVY)
		saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTHI);
	else
	if (bi->type != BUDGET_FS_ACTIVY)
		saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTHI);

	if (budget_register(budget) == 0) {
+9 −2
Original line number Diff line number Diff line
@@ -112,6 +112,7 @@ static int SendDiSEqCMsg (struct budget *budget, int len, u8 *msg, unsigned long
 *   Routines for the Fujitsu Siemens Activy budget card
 *   22 kHz tone and DiSEqC are handled by the frontend.
 *   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)
{
@@ -121,11 +122,16 @@ static int SetVoltage_Activy (struct budget *budget, fe_sec_voltage_t voltage)

	switch (voltage) {
		case SEC_VOLTAGE_13:
			saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTHI);
			saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTLO);
			break;
		case SEC_VOLTAGE_18:
			saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTHI);
			saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTHI);
			break;
		case SEC_VOLTAGE_OFF:
			saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTLO);
			break;
		default:
			return -EINVAL;
	}
@@ -580,6 +586,7 @@ static void frontend_init(struct budget *budget)
		if (budget->dvb_frontend) {
			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->dishnetwork_send_legacy_command = NULL;
			if (lnbp21_init(budget)) {
				printk("%s: No LNBP21 found!\n", __FUNCTION__);
				goto error_out;
@@ -624,7 +631,7 @@ static void frontend_init(struct budget *budget)
		budget->dvb_frontend = stv0299_attach(&alps_bsru6_config, &budget->i2c_adap);
		if (budget->dvb_frontend) {
			budget->dvb_frontend->ops->set_voltage = siemens_budget_set_voltage;
			break;
			budget->dvb_frontend->ops->dishnetwork_send_legacy_command = NULL;
		}
		break;

@@ -632,7 +639,7 @@ static void frontend_init(struct budget *budget)
		budget->dvb_frontend = tda8083_attach(&grundig_29504_451_config, &budget->i2c_adap);
		if (budget->dvb_frontend) {
			budget->dvb_frontend->ops->set_voltage = siemens_budget_set_voltage;
			break;
			budget->dvb_frontend->ops->dishnetwork_send_legacy_command = NULL;
		}
		break;