qn1582609407

qn1582609407

0个粉丝

4

问答

0

专栏

0

资料

qn1582609407  发布于  2020-03-19 11:31:43
采纳率 0%
4个问答
1656

3536的sil9024模块驱动加载时无法访问ddc

 
板卡3536,内核使能了iic,但海思的sil9024驱动是用的gpio模拟iic,所以把这部分的给改了,模块初始化时初始化iic
[code]static struct i2c_board_info sil_info = {
     I2C_BOARD_INFO("sil9022", TX_SLAVE_ADDR),
};

static struct i2c_board_info ddc_info = {
     I2C_BOARD_INFO("sil9022_ddc", EDID_ROM_ADDR),
static int i2c_client_init(void)
{
    struct i2c_adapter *i2c_sil_adap;
    // use i2c2
    i2c_sil_adap = i2c_get_adapter(0);
    if (NULL == i2c_sil_adap)
    {
        printk("find i2c adapter fail. \n");
        return -1;
    }
        sil_client = i2c_new_device(i2c_sil_adap, &sil_info);
        i2c_put_adapter(i2c_sil_adap);
       
        struct i2c_adapter *i2c_ddc_adap;
        i2c_ddc_adap = i2c_get_adapter(0);
    if (NULL == i2c_ddc_adap)
    {
        printk("find i2c adapter fail. \n");
        return -1;
    }
        ddc_client = i2c_new_device(i2c_ddc_adap, &ddc_info);
        i2c_put_adapter(i2c_ddc_adap);

    return 0;
}[/code]
同理读写iic都换成使用iic控制器的方式,这样改完之后。insmod sil9024.ko
内核打印出来的device id正常,为0xb0,但在检测热插拔事件的函数里跑到获取ddc之后,获取到了DDC的总线访问,但读取EDID ROM的iic地址0xa0时就会读不到数据,一直循环打印
hi_i2c_wait_rxfifo_notempty->307:
wait timeout! auto_status: 0xc0b00000

hi_i2c_wait_rxfifo_notempty->321:
transmit error, int_raw_status: 0x750!

hi_i2c_wait_rxfifo_notempty->323:
tx_abrt_cause is 1.
请问有改过sil902x系列驱动的能指点一下吗?我的访问机制有问题吗?
我来回答
回答1个
时间排序
认可量排序

qn1582609407

0个粉丝

4

问答

0

专栏

0

资料

qn1582609407 2020-03-21 14:48:31
认可0
已解决,海思3536sdk的sil9024.ko是使用gpio i2c访问的,和i2c控制器访问冲突,我由于改了次
控制器的方式,访问edid时没有iic时序不满足要求,在读edid的时候加上100us的延时就可以成功访问了
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区