Home > other >  Sil9024 reading edid failed
Sil9024 reading edid failed

Time:09-18

Card by 3536, the kernel enabled the iic, but haisi sil9024 drive is to use the gpio iic simulation, so give changed, this part of the initialization module initialization time iic
 static struct i2c_board_info sil_info={
I2C_BOARD_INFO (" sil9022 TX_SLAVE_ADDR),
};

The 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 the i2c adapter fail. \ n ");
return -1;
}
Sil_client=i2c_new_device (i2c_sil_adap, & amp; 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 the i2c adapter fail. \ n ");
return -1;
}
Ddc_client=i2c_new_device (i2c_ddc_adap, & amp; Ddc_info);
I2c_put_adapter (i2c_ddc_adap);

return 0;
}

Iic similarly, speaking, reading and writing, with the use of iic controller way after this change, insmod sil9024. Ko
Print kernel device id is normal, 0 xb0, but the detection of hotplug event after running to the function for DDC, capturing the DDC bus access, but read EDID ROM iic address 0 xa0 will can't read the data, have been circulating printed
Hi_i2c_wait_rxfifo_notempty - & gt; 307:
Wait timeout! Auto_status: 0 xc0b00000

Hi_i2c_wait_rxfifo_notempty - & gt; 321:
The transmit error, int_raw_status: 0 x750!

Hi_i2c_wait_rxfifo_notempty - & gt; 323:
Tx_abrt_cause is 1.
Do you have to turn sil902x series driver can help me with? My access mechanism is there a problem?
  • Related