This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DS90UB948-Q1: DS90UB941AS-Q1 DS90UB948-Q1 bring up 問題

Part Number: DS90UB948-Q1
Other 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;

  • 您好,关于您的这个问题,我下周一给您答复。

  • 請問是否有進一步資訊

  • 您好,抱歉,能否将ALP的配置截图附上我这边看下您的配置?

    然后我这边今天也会尽快给您答复。

  • 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 0x00
    3. 在Timing control: External 的配置下, 勾選Enable Generator會看到Pattern畫面、取消勾選Enable Generator會看到SOC送出的畫面這樣理解對嗎
  • 您好,只需要设置Pattern Generator这一页就可以。

    在Timing control: External 的配置下, 勾選Enable Generator會看到Pattern畫面、取消勾選Enable Generator會看到SOC送出的畫面這樣理解對嗎

    都是要enable generator,使用外部timing和内部timing的区别在于是否外部提供PCLK以及外部控制信号比如HS, VS, DE。但是画面都是pattern的画面。

  • 关于pattern产生,可以参考这篇Exploring the Int Test Pattern Generation Feature of FPDLink III IVI Devices应用手册:

    https://www.ti.com/lit/an/snla132g/snla132g.pdf

  • 顏色不正確該確認什麼東西

    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

  • pattern已经出图了是吗?您指的哪里颜色不对?您配置的是什么pattern  format?

  • Pattern gen可看到正常畫面

    關閉pattern gen可顯示SOC產生的畫面但畫面不正常

    原圖是長

  • 您好,关于您的这个问题,我昨天查了下其他资料,看了下serdes的数据手册,从图像的变化来看,发生了旋转,但是serdes对图像没有处理功能。

    所以我怀疑不是serdes的问题。

    如果要验证的话,Soc产生横条纹的 画面,验证下输出是否正常。

  • 問題已解決

    目前看起來即使沒有用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
  • 图像旋转的问题解决了是吗?是怎么解决的可以分享下吗?

  • 沒有旋轉,只是拍攝角度,問題是顏色不對

  • 您好,那颜色不对的问题解决了吗?

    您上面提到的问题已解决指的是哪部分?

  • 顏色問題已解決

    目前看起來即使沒有用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
  • 您好,颜色问题是怎么解决的,感谢分享下,是serdes这边的时序配置问题吗?

    另外,您列举的这些寄存器是需要配置的,比如选择0x1E,FPD link port,0x03:enable I2C pass through(否则不能和remote ser/des通信)

    或者0x5B配置输出模式,都是需要配置的。

  • 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
  • 您好,按照默认配置是可以显示的,配置寄存器的目的是为了满足实际的应用需求。比如默认配置输出为独立2:2显示输出,那实际需要配置split mode,那就需要更改寄存器的配置。但是按照默认的配置也是可以出图的。

    配置寄存器的话,是需要按照10.2 Power-Up and Initialization初始化进行的。

  • 所以理論上暫存器都不需要設置

    941-948會自動依據SOC端的訊號自動配置相關暫存器(如tx port / lane數)於948端顯示對嗎

    那這些暫存器什麼情況下才需要手動變更 DSI_*SW_CFG_*、DSI_CONTINUOUS_CLOCK、DSI_SYNC_PULSES、TSKIP_CNT

  • DSI_CONTINUOUS_CLOCK

    当 DS90UB941AS-Q1 在 DSI 参考时钟模式下工作时,来自源 DSI 时钟用于直接设置 FPD-Link 正向通道频率 和视频 PCLK 频率。必须确保 DSI 时钟始终连续(非 LP-11 转换).

    对于非连续时钟模式,时钟通道可能会在 HS 数据包传输之间进入 LP-11 低功耗状态。

    DSI_*SW_CFG_

    用来设置同步脉冲宽度的。 参考下面DSI_SYNC_PULSES的解释。

    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寄存器中。

    TSKIP_CNT

    这个参数是根据DSI clock频率来配置的,可以参考数据手册8.3.1.2部分介绍: