Part Number:DS90UB948-Q1Other Parts Discussed in Thread:ALP, DS90UB941AS-Q1
配置
MIPI / SYNC_PULSE_VDO_MOD -> 941 -> cable -> 948 -> LVDS / DE
使用APL時 Eanble PGEN / Timing Source:Externel 無畫面
DSI_VC_DTYPE為0
想請問在這樣的架構下941/948是否有其他需設置的Register?
或是有什麼其他排查的方向
MIPI SOURCE
- data lane每帧回LP11(Low Power state,dp,dn都为高电平),clk一直HS( High Speed),对应配置:
- params->dsi.cont_clock=1;
- params->dsi.clk_lp_per_line_enable=0;
Kailyn Chen:
您好,关于您的这个问题,我下周一给您答复。
,
Charles Lee:
請問是否有進一步資訊
,
Kailyn Chen:
您好,抱歉,能否将ALP的配置截图附上我这边看下您的配置?
然后我这边今天也会尽快给您答复。
,
Charles Lee:
ALP沒做什麼其他設置,基本就切換Timing Source而已
搜尋了一下資料
1. 應該這一頁也需要設置? TX Port / VC 要依據什麼設置?
2. 除了上面項目
可能還須設置 DSI_*SW_CFG_*、DSI_CONTINUOUS_CLOCK、DSI_SYNC_PULSES、TSKIP_CNT
除了上列是否有遺漏?
3. 一般腳本裡會看到的下列敘述是否在ALP裡就不須再額外配置
# 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 0x01
# Select DSI Port 0 digital registers
i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x40 0x04
……
……# Enable DSI
i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x01 0x003. 在Timing control: External 的配置下, 勾選Enable Generator會看到Pattern畫面、取消勾選Enable Generator會看到SOC送出的畫面這樣理解對嗎
,
Kailyn Chen:
您好,只需要设置Pattern Generator这一页就可以。
Charles Lee said: 在Timing control: External 的配置下, 勾選Enable Generator會看到Pattern畫面、取消勾選Enable Generator會看到SOC送出的畫面這樣理解對嗎
都是要enable generator,使用外部timing和内部timing的区别在于是否外部提供PCLK以及外部控制信号比如HS, VS, DE。但是画面都是pattern的画面。
,
Kailyn Chen:
关于pattern产生,可以参考这篇Exploring the Int Test Pattern Generation Feature of FPDLink III IVI Devices应用手册:
https://www.ti.com/lit/an/snla132g/snla132g.pdf
,
Charles Lee:
顏色不正確該確認什麼東西
VC_DTYPE=3E
• RGB888 (Packed Pixel Stream, 24-bit Format, Data Type 0x3E)
Source:
params->dsi.data_format.color_order = LCM_COLOR_ORDER_RGB; params->dsi.data_format.trans_seq = LCM_DSI_TRANS_SEQ_MSB_FIRST; params->dsi.data_format.padding = LCM_DSI_PADDING_ON_LSB; params->dsi.data_format.format = LCM_DSI_FORMAT_RGB888;
params->dsi.packet_size = 256; params->dsi.intermediat_buffer_num = 0; params->dsi.PS = LCM_PACKED_PS_24BIT_RGB888;
LVDS: VESA 8bit dual chanel
MODE_SEL = A8
,
Kailyn Chen:
pattern已经出图了是吗?您指的哪里颜色不对?您配置的是什么pattern format?
,
Charles Lee:
Pattern gen可看到正常畫面
關閉pattern gen可顯示SOC產生的畫面但畫面不正常
原圖是長
,
Kailyn Chen:
您好,关于您的这个问题,我昨天查了下其他资料,看了下serdes的数据手册,从图像的变化来看,发生了旋转,但是serdes对图像没有处理功能。
所以我怀疑不是serdes的问题。
如果要验证的话,Soc产生横条纹的 画面,验证下输出是否正常。
,
Charles Lee:
問題已解決
目前看起來即使沒有用ALP下面這些東西都不需要設置?
# 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 0x01
# Select DSI Port 0 digital registers
i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x40 0x04
……DSI_*SW_CFG_*、DSI_CONTINUOUS_CLOCK、DSI_SYNC_PULSES、TSKIP_CNT
……
# 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
,
Kailyn Chen:
图像旋转的问题解决了是吗?是怎么解决的可以分享下吗?
,
Charles Lee:
沒有旋轉,只是拍攝角度,問題是顏色不對
,
Kailyn Chen:
您好,那颜色不对的问题解决了吗?
您上面提到的问题已解决指的是哪部分?
,
Charles Lee:
顏色問題已解決
目前看起來即使沒有用ALP,下面這些東西也都不需要特別透過SOC設置就可以?
# 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 0x01
# Select DSI Port 0 digital registers
i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x40 0x04
……DSI_*SW_CFG_*、DSI_CONTINUOUS_CLOCK、DSI_SYNC_PULSES、TSKIP_CNT
……
# 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
,
Kailyn Chen:
您好,颜色问题是怎么解决的,感谢分享下,是serdes这边的时序配置问题吗?
另外,您列举的这些寄存器是需要配置的,比如选择0x1E,FPD link port,0x03:enable I2C pass through(否则不能和remote ser/des通信)
或者0x5B配置输出模式,都是需要配置的。
,
Charles Lee:
MODE_SEL錯誤導致
I2C pass through可以理解
但目前上電後什麼都不做畫面就可以顯示,所以很困惑到底什麼是需要配置的什麼是多餘的?
另外若要配寄存器下面時序是必要的?
# Disable DSI
i2cset -y -f -r $I2C_BUS_NUMBER $UB941AS_ADDR 0x01 0x08
XXXXX
# 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
,
Kailyn Chen:
您好,按照默认配置是可以显示的,配置寄存器的目的是为了满足实际的应用需求。比如默认配置输出为独立2:2显示输出,那实际需要配置split mode,那就需要更改寄存器的配置。但是按照默认的配置也是可以出图的。
配置寄存器的话,是需要按照10.2 Power-Up and Initialization初始化进行的。
,
Charles Lee:
所以理論上暫存器都不需要設置
941-948會自動依據SOC端的訊號自動配置相關暫存器(如tx port / lane數)於948端顯示對嗎
那這些暫存器什麼情況下才需要手動變更 DSI_*SW_CFG_*、DSI_CONTINUOUS_CLOCK、DSI_SYNC_PULSES、TSKIP_CNT
,
Kailyn Chen:
Charles Lee said:DSI_CONTINUOUS_CLOCK
当 DS90UB941AS-Q1 在 DSI 参考时钟模式下工作时,来自源 DSI 时钟用于直接设置 FPD-Link 正向通道频率 和视频 PCLK 频率。必须确保 DSI 时钟始终连续(非 LP-11 转换).
对于非连续时钟模式,时钟通道可能会在 HS 数据包传输之间进入 LP-11 低功耗状态。
Charles Lee said:DSI_*SW_CFG_
用来设置同步脉冲宽度的。 参考下面DSI_SYNC_PULSES的解释。
Charles Lee said:DSI_SYNC_PULSES
这个是用来配置是否使用原始同步hsync和Vync时序的。
就是说当DSI source是sync pulse模式,则设置DSI_SYNC_PULSES=1;当DSI source是Event mode或者burst mode模式,则设置DSI_SYNC_PULSES=0,并且要把VS和HS的width写入DSI_HSYNC_WIDTH和DSI_VSYNC_WIDTH寄存器中。
Charles Lee said:TSKIP_CNT
这个参数是根据DSI clock频率来配置的,可以参考数据手册8.3.1.2部分介绍: