主题中讨论的其他部件: SN65DSI84
工具/软件:Linux
你(们)好
我有芯片SN65DSI84-Q1和attemp,可与Samsung s5p4418 SoC配合使用,用于单通道和双通道显示屏。
1.我的SoC具有电压3.3 v,芯片SN65DSI84具有1.x v (芯片时钟源为DSI输入)。 此架构是否可以正常运行? 我们应该在硬件级别上做什么?
2.我可以读取寄存器0xE5,它向我显示这些值(对于不同的配置):0x7d,0xFD,0x71,但从不显示0x01。
我的第一个任务是让寄存器0xE5显示值0x01,而E5显示错误时没有附加显示的意义吗?
我的i2c配置代码:
// 09.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_soft_reset,0x01);
// 0D.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_PLL_EN,0x00);
msleep(10);
// 0a
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_core_PLL,0x05);// val
// 0B.
I2C_smbus_write_byte_data(dsi85_i2c_client, DSI85_PLL_DIV, 0x28);// 0x00;将DSI_CLK除以3。 0x010
/*四个DSI通道,带单通道*/
// 10.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_DSI_CFG,0x26);// 0x20
// 11.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_DSI_EQ,0x00);// 00
/*设置DSI时钟范围*/
// 12.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHA_DSI_CLK_RNG,0x54);// 5d.
// 13.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHB_DSI_CLK_RNG,0x00);
/*为单通道,24位模式,HS/VS低,DE高*设置LVDS
// 18.
I2C_smbus_write_byte_data(dsi85_i2c_client, DSI85_LVDS_mode, 0x72);// 7f;60.
/*设置LVDS 200欧姆端接和最大差分摆动电压*/
// 19.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_LVDS_SIGN,0x00);
// 1A
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_LVDS_TERM,0x03);
// 1B
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_LVDS_CM_adjust,0x00);
/* x分辨率高/低(通道A)*/
// 20.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHA_LINE_LEN_LO,0x00);
// 21.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHA_LINE_LEN_HI,0x04);
/* x通道B的高/低分辨率*/
//22.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHB_LINE_LEN_LO,0x00);
// 23.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHB_LINE_LEN_HI,0x00);
/* y分辨率高/低(通道A)*/
// 24.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHA_VERT_Lines_LO,0x00);
//25.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHA_VERT_Lines_HI,0x03);
/*通道B的分辨率为高/低*/
//26.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHB_VERT_Lines_LO,0x00);
//27.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHB_VERT_Lines_HI,0x00);
/*通道A的同步延迟高/低*/
// 28.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHA_SYNC_DELAY _LO,0x20);
// 29.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHA_SYNC_DELAY _HI,0x00);
/*通道B的同步延迟高/低*/
// 2A.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHB_sync_delay_LO,0x00);
// 2B
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHB_sync_delay_HI,0x00);
/*通道A的HSYNC宽度高/低*/
//2c.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHA_HSYNC_width_LO,0x80);
// 2维
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHA_HSYNC_width_HI,0x00);
/*通道B的HSYNC宽度高/低*/
// 2e.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHB_HSYNC_width_LO,0x00);
//2F
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHB_HSYNC_width_HI,0x00);
/*通道A的VSYNC宽度高/低*/
// 30.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHA_VSYNC_width_LO,0x01);
// 31.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHA_VSYNC_width_HI,0x00);
/* VSYNC宽度高/低(通道B)*/
// 32.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHB_VSYNC_width_LO,0x00);
// 33.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHB_VSYNC_width_HI,0x00);
/*通道A的水平后向移动*/
// 34.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHA_HORZ_BACKPORCH,0x28);
/*通道B的水平背板*/
// 35.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHB_HORZ_BACKPORCH,0x00);
/*通道A的垂直BackPorch */
// 36.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHA_VERT_BACKPORCH,0x09);
/*通道B的垂直后向通道*/
// 37.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHB_VERT_BACKPORCH,0x00);
/*通道A的水平前向通道*/
// 38.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHA_HORZ_FRONTPORCH,0x28);
/*通道B的水平前向通道*/
// 39.
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHB_HORZ_FRONTPORCH,0x00);
/*通道A的垂直前向通道*/
// 3A
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHA_VERT_FRONTPORCH,0x04);
/*通道B的垂直前向通道*/
// 3B
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_CHB_VERT_FRONTPORCH,0x00);
I2C_smbus_write_byte_data (dsi85_i2c_client,0x3D,0x00);
I2C_smbus_write_byte_data (dsi85_i2c_client,0x3E,0x00);
// 3C测试模式
I2C_smbus_write_byte_data (dsi85_i2c_client,0x3C,0x10);
/*软复位并启用PLL */
msleep(10);
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_PLL_EN,0x01);
msleep(10);
I2C_smbus_write_byte_data (dsi85_i2c_client,DSI85_soft_reset,0x01);
3.使用Tuner v 2.0 ,我为配置寄存器输入值
0x09 0x00
0x0A 0x05
0x0B 0x28
0x0D 0x00
0x10 0x26
0x11 0x00
0x12 0x54
0x13 0x00
0x18 0x72
0x19 0x00
0x1A 0x03
0x1b 0x00
0x20 0x00
0x21 0x04
0x22 0x00
0x23 0x00
0x24 0x00
0x25 0x03
0x26 0x00
0x27 0x00
0x28 0x20
0x29 0x00
0x2A 0x00
0x2B 0x00
0x2C 0x80
0x2D 0x00
0x2E 0x00
0x2F 0x00
0x30 0x01
0x31 0x00
0x32 0x00
0x33 0x00
0x34 0x28
0x35 0x00
0x36 0x09
0x37 0x00
0x38 0x28
0x39 0x00
0x3A 0x04
0x3B 0x00
0x3C 0x10
0x3D 0x00
0x3e 0x00
这是我的显示器(1024x768单通道),已启用测试模式。 此图片是否显示了正确的测试图案图像? 如果一切正常,我会看到什么?