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

Commit 83808c23 authored by Abylay Ospan's avatar Abylay Ospan Committed by Mauro Carvalho Chehab
Browse files

[media] Add support Sony CXD2854ER demodulator



CXD2854ER is identical to CXD2841ER except ISDB-T/S added.
New method 'cxd2841er_attach_i' is added
xtal frequency now configurable. Available options:
20.5MHz, 24MHz, 41MHz

Signed-off-by: default avatarAbylay Ospan <aospan@netup.ru>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 2dc1ed4e
Loading
Loading
Loading
Loading
+718 −82

File changed.

Preview size limit exceeded, changes collapsed.

+20 −3
Original line number Diff line number Diff line
@@ -25,8 +25,15 @@
#include <linux/kconfig.h>
#include <linux/dvb/frontend.h>

enum cxd2841er_xtal {
	SONY_XTAL_20500, /* 20.5 MHz */
	SONY_XTAL_24000, /* 24 MHz */
	SONY_XTAL_41000 /* 41 MHz */
};

struct cxd2841er_config {
	u8	i2c_addr;
	enum cxd2841er_xtal	xtal;
};

#if IS_REACHABLE(CONFIG_DVB_CXD2841ER)
@@ -38,28 +45,38 @@ extern struct dvb_frontend *cxd2841er_attach_t(struct cxd2841er_config *cfg,

extern struct dvb_frontend *cxd2841er_attach_c(struct cxd2841er_config *cfg,
					       struct i2c_adapter *i2c);
extern struct dvb_frontend *cxd2841er_attach_i(struct cxd2841er_config *cfg,
		struct i2c_adapter *i2c);
#else
static inline struct dvb_frontend *cxd2841er_attach_s(
					struct cxd2841er_config *cfg,
					struct i2c_adapter *i2c)
{
	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
	pr_warn("%s: driver disabled by Kconfig\n", __func__);
	return NULL;
}

static inline struct dvb_frontend *cxd2841er_attach_t(
		struct cxd2841er_config *cfg, struct i2c_adapter *i2c)
{
	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
	pr_warn("%s: driver disabled by Kconfig\n", __func__);
	return NULL;
}

static inline struct dvb_frontend *cxd2841er_attach_c(
		struct cxd2841er_config *cfg, struct i2c_adapter *i2c)
{
	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
	pr_warn("%s: driver disabled by Kconfig\n", __func__);
	return NULL;
}

static inline struct dvb_frontend *cxd2841er_attach_i(
		struct cxd2841er_config *cfg, struct i2c_adapter *i2c)
{
	pr_warn("%s: driver disabled by Kconfig\n", __func__);
	return NULL;
}

#endif

#endif
+1 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@
#define I2C_SLVT			1

#define CXD2841ER_CHIP_ID		0xa7
#define CXD2854ER_CHIP_ID		0xc1

#define CXD2841ER_DVBS_POLLING_INVL	10