Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
ede676c7
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
ede676c7
编写于
9月 27, 2010
作者:
M
Mauro Carvalho Chehab
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[media] add digital support for PV SBTVD hybrid
Signed-off-by:
N
Mauro Carvalho Chehab
<
mchehab@redhat.com
>
上级
9417bc6d
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
42 addition
and
1 deletion
+42
-1
drivers/media/video/cx231xx/Kconfig
drivers/media/video/cx231xx/Kconfig
+2
-0
drivers/media/video/cx231xx/cx231xx-cards.c
drivers/media/video/cx231xx/cx231xx-cards.c
+1
-1
drivers/media/video/cx231xx/cx231xx-dvb.c
drivers/media/video/cx231xx/cx231xx-dvb.c
+39
-0
未找到文件。
drivers/media/video/cx231xx/Kconfig
浏览文件 @
ede676c7
...
...
@@ -30,6 +30,8 @@ config VIDEO_CX231XX_DVB
depends on VIDEO_CX231XX && DVB_CORE
select VIDEOBUF_DVB
select MEDIA_TUNER_XC5000 if !DVB_FE_CUSTOMISE
select MEDIA_TUNER_NXP18271 if !DVB_FE_CUSTOMISE
select DVB_MB86A20S if !DVB_FE_CUSTOMISE
---help---
This adds support for DVB cards based on the
...
...
drivers/media/video/cx231xx/cx231xx-cards.c
浏览文件 @
ede676c7
...
...
@@ -410,7 +410,7 @@ struct cx231xx_board cx231xx_boards[] = {
.
gpio_pin_status_mask
=
0x4001000
,
.
tuner_i2c_master
=
2
,
.
demod_i2c_master
=
1
,
.
has_dvb
=
0
,
/* FIXME: need driver for mb86a20s */
.
has_dvb
=
1
,
.
demod_addr
=
0x10
,
.
norm
=
V4L2_STD_PAL_M
,
.
input
=
{{
...
...
drivers/media/video/cx231xx/cx231xx-dvb.c
浏览文件 @
ede676c7
...
...
@@ -33,6 +33,7 @@
#include "tda18271.h"
#include "s5h1411.h"
#include "lgdt3305.h"
#include "mb86a20s.h"
MODULE_DESCRIPTION
(
"driver for cx231xx based DVB cards"
);
MODULE_AUTHOR
(
"Srinivasa Deevi <srinivasa.deevi@conexant.com>"
);
...
...
@@ -88,6 +89,11 @@ static struct tda18271_std_map cnxt_rde253s_tda18271_std_map = {
.
if_lvl
=
1
,
.
rfagc_top
=
0x37
,
},
};
static
struct
tda18271_std_map
mb86a20s_tda18271_config
=
{
.
dvbt_6
=
{
.
if_freq
=
3300
,
.
agc_mode
=
3
,
.
std
=
4
,
.
if_lvl
=
7
,
.
rfagc_top
=
0x37
,
},
};
static
struct
tda18271_config
cnxt_rde253s_tunerconfig
=
{
.
std_map
=
&
cnxt_rde253s_tda18271_std_map
,
.
gate
=
TDA18271_GATE_ANALOG
,
...
...
@@ -135,6 +141,16 @@ static struct tda18271_config hcw_tda18271_config = {
.
gate
=
TDA18271_GATE_DIGITAL
,
};
static
const
struct
mb86a20s_config
pv_mb86a20s_config
=
{
.
demod_address
=
0x10
,
};
static
struct
tda18271_config
pv_tda18271_config
=
{
.
std_map
=
&
mb86a20s_tda18271_config
,
.
gate
=
TDA18271_GATE_DIGITAL
,
.
small_i2c
=
TDA18271_03_BYTE_CHUNK_INIT
,
};
static
inline
void
print_err_status
(
struct
cx231xx
*
dev
,
int
packet
,
int
status
)
{
char
*
errmsg
=
"Unknown"
;
...
...
@@ -687,6 +703,29 @@ static int dvb_init(struct cx231xx *dev)
&
hcw_tda18271_config
);
break
;
case
CX231XX_BOARD_PV_PLAYTV_USB_HYBRID
:
printk
(
KERN_INFO
"%s: looking for demod on i2c bus: %d
\n
"
,
__func__
,
i2c_adapter_id
(
&
dev
->
i2c_bus
[
dev
->
board
.
tuner_i2c_master
].
i2c_adap
));
dev
->
dvb
->
frontend
=
dvb_attach
(
mb86a20s_attach
,
&
pv_mb86a20s_config
,
&
dev
->
i2c_bus
[
dev
->
board
.
demod_i2c_master
].
i2c_adap
);
if
(
dev
->
dvb
->
frontend
==
NULL
)
{
printk
(
DRIVER_NAME
": Failed to attach mb86a20s demod
\n
"
);
result
=
-
EINVAL
;
goto
out_free
;
}
/* define general-purpose callback pointer */
dvb
->
frontend
->
callback
=
cx231xx_tuner_callback
;
dvb_attach
(
tda18271_attach
,
dev
->
dvb
->
frontend
,
0x60
,
&
dev
->
i2c_bus
[
dev
->
board
.
tuner_i2c_master
].
i2c_adap
,
&
pv_tda18271_config
);
break
;
default:
printk
(
KERN_ERR
"%s/2: The frontend of your DVB/ATSC card"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录