summaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/dvb-usb/rtl28xxu.h
diff options
context:
space:
mode:
authorAntti Palosaari2011-08-04 18:26:10 +0200
committerMauro Carvalho Chehab2012-02-28 22:41:20 +0100
commitb5cbaa43a676be6fe4d7e26760e5873969e69341 (patch)
tree215f2b3dff1d36987e89c6bfa1f870b690f822ec /drivers/media/dvb/dvb-usb/rtl28xxu.h
parent[media] rtl28xx: fix rtl2831u with tuner mxl5005s (diff)
downloadkernel-qcow2-linux-b5cbaa43a676be6fe4d7e26760e5873969e69341.tar.gz
kernel-qcow2-linux-b5cbaa43a676be6fe4d7e26760e5873969e69341.tar.xz
kernel-qcow2-linux-b5cbaa43a676be6fe4d7e26760e5873969e69341.zip
[media] rtl28xx: initial support for rtl2832u
Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/dvb-usb/rtl28xxu.h')
-rw-r--r--drivers/media/dvb/dvb-usb/rtl28xxu.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/drivers/media/dvb/dvb-usb/rtl28xxu.h b/drivers/media/dvb/dvb-usb/rtl28xxu.h
index 902cb8b09206..dbde378d05e6 100644
--- a/drivers/media/dvb/dvb-usb/rtl28xxu.h
+++ b/drivers/media/dvb/dvb-usb/rtl28xxu.h
@@ -62,10 +62,13 @@
#define CMD_SYS_WR (SYS | CMD_WR_FLAG)
#define CMD_I2C_RD (I2C)
#define CMD_I2C_WR (I2C | CMD_WR_FLAG)
+#define CMD_IR_RD (CMD_SYS_RD | 0x01)
+#define CMD_IR_WR (CMD_SYS_WR | 0x01)
struct rtl28xxu_priv {
u8 chip_id;
u8 tuner;
+ bool rc_active;
};
enum rtl28xxu_chip_id {
@@ -76,9 +79,21 @@ enum rtl28xxu_chip_id {
enum rtl28xxu_tuner {
TUNER_NONE = 0,
+
TUNER_RTL2830_QT1010,
TUNER_RTL2830_MT2060,
TUNER_RTL2830_MXL5005S,
+
+ TUNER_RTL2832_MT2266,
+ TUNER_RTL2832_FC2580,
+ TUNER_RTL2832_MT2063,
+ TUNER_RTL2832_MAX3543,
+ TUNER_RTL2832_TUA9001,
+ TUNER_RTL2832_MXL5007T,
+ TUNER_RTL2832_FC0012,
+ TUNER_RTL2832_E4000,
+ TUNER_RTL2832_TDA18272,
+ TUNER_RTL2832_FC0013,
};
struct rtl28xxu_req {
@@ -192,6 +207,8 @@ struct rtl28xxu_reg_val {
#define SYS_GPIO_CFG0 0x3007 /* PAD configuration for GPIO0-GPIO3 */
#define SYS_SYS2 0x3008 /* include GP_CFG1 and 3 reserved bytes */
#define SYS_GPIO_CFG1 0x3008 /* PAD configuration for GPIO4 */
+#define SYS_DEMOD_CTL1 0x300B
+
/* IrDA registers */
#define SYS_IRRC_PSR 0x3020 /* IR protocol selection */
#define SYS_IRRC_PER 0x3024 /* IR protocol extension */
@@ -207,4 +224,34 @@ struct rtl28xxu_reg_val {
#define SYS_I2CMSR 0x304C /* I2C master status */
#define SYS_I2CMFR 0x3050 /* I2C master FIFO */
+/*
+ * IR registers
+ */
+#define IR_RX_BUF 0xFC00
+#define IR_RX_IE 0xFD00
+#define IR_RX_IF 0xFD01
+#define IR_RX_CTRL 0xFD02
+#define IR_RX_CFG 0xFD03
+#define IR_MAX_DURATION0 0xFD04
+#define IR_MAX_DURATION1 0xFD05
+#define IR_IDLE_LEN0 0xFD06
+#define IR_IDLE_LEN1 0xFD07
+#define IR_GLITCH_LEN 0xFD08
+#define IR_RX_BUF_CTRL 0xFD09
+#define IR_RX_BUF_DATA 0xFD0A
+#define IR_RX_BC 0xFD0B
+#define IR_RX_CLK 0xFD0C
+#define IR_RX_C_COUNT_L 0xFD0D
+#define IR_RX_C_COUNT_H 0xFD0E
+#define IR_SUSPEND_CTRL 0xFD10
+#define IR_ERR_TOL_CTRL 0xFD11
+#define IR_UNIT_LEN 0xFD12
+#define IR_ERR_TOL_LEN 0xFD13
+#define IR_MAX_H_TOL_LEN 0xFD14
+#define IR_MAX_L_TOL_LEN 0xFD15
+#define IR_MASK_CTRL 0xFD16
+#define IR_MASK_DATA 0xFD17
+#define IR_RES_MASK_ADDR 0xFD18
+#define IR_RES_MASK_T_LEN 0xFD19
+
#endif