主题中讨论的其他器件:SN65DSI83
大家好、
根据内部图像发生器、屏幕可亮起。 下面是一个简化的应用图表:

但是、使用 SoC 的 DSI 数据和时钟进行了多次尝试、屏幕仍然无法打开。 DSI 输出配置为视频模式、突发模式、连续时钟模式。 通过示波器可以看出 DSI 可以正常输出。 但是、执行寄存器配置后、屏幕仍然不工作。 检查了 DPHY 相关寄存器0xF、0x10、0x11、0x12、0x13、0x14、0x15、所有四个数据通道的状态寄存器值均为0x14 = 0001 0100、其中位2和位4指示错误:


寄存器配置如下:
#!/bin/bash # 800x480p60, Dual Link FPD III # PCLK = 33.264MHz # DSI clock = 99.792MHz # DSI Lane Speed = 199.584Mbps/lane # 4 Lanes DSI # DSI input port 0 # DSI clock and DSI data # use i2c-tools to debug set -e I2C_BUS_NUMBER=1 UB941AS_ADDR=0x12 UB928_ADDR=0x2c # Disable DSI i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x01 0x08 # Select FPD-Link III Port 0 i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x1e 0x01 # Enable I2C_PASSTHROUGH i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x03 0x9a # Force select port 0 i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x5b 0x21 # Select DSI Port 0 digital registers i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x40 0x04 # Select DSI_CONFIG_0 register i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x41 0x20 # Set DSI_SYNC_PULSES = 0 i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x42 0x6f # Select DSI_CONFIG_1 register i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x41 0x21 # Set DSI_VS_POLARITY=DSI_HS_POLARITY=1 i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x42 0x60 #i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x42 0x00 # Set DSI_CONTINUOUS_CLOCK, single DSI, 4 lanes, DSI Port 0 input i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x4f 0x8c # DSI_HSW_CFG_HI i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x41 0x30 i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x42 0x00 # DSI_HSW_CFG_LO hsync-len = 48 i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x41 0x31 i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x42 0x30 # DSI_VSW_CFG_HI i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x41 0x32 i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x42 0x00 # DSI_VSW_CFG_LO vsync-len = 1 i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x41 0x33 i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x42 0x01 # TSKIP_CNT set DSI/D-PHY port0 i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x40 0x04 # TSKIP_CNT set indirect addr (reg DPHY_SKIP_TIMING) i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x41 0x05 # TSKIP_CNT set reg DPHY_SKIP_TIMING value i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x42 0x04 # Initialize DSI clock settings (From Section 10.2 of datasheet) i2cset -y -f $I2C_BUS_NUMBER $UB941AS_ADDR 0x40 0x10 i2cset -y -f $I2C_BUS_NUMBER $UB941AS_ADDR 0x41 0x86 i2cset -y -f $I2C_BUS_NUMBER $UB941AS_ADDR 0x42 0x0A i2cset -y -f $I2C_BUS_NUMBER $UB941AS_ADDR 0x41 0x94 i2cset -y -f $I2C_BUS_NUMBER $UB941AS_ADDR 0x42 0x0A # Enable DSI i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x01 0x00
1) 给药该错误指示 SoC 的 DSI 输出未正确配置? 或者还有什么误差?
2) 2)客户仅配置了941个寄存器、 928个解串器是否也需要额外配置?
您能帮助检查这个案例吗? 谢谢。
此致、
切里








