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.

Linux/DS90UB953-Q1: help about Pattern Generation of DS90UB953

Part Number: DS90UB953-Q1

Tool/software: Linux

Hi :

I will generate a test screen pattern via 90953. In charter 7.6.4 of 90953 d/s , show a sample setting to enable Pattern Generation on 1920x1080 RGB888 30fps.

have any other sample setting will show setting on 1920x1080 RAW12 30fps ??

thank you

  • Hi Leo,

    Please try this out:

    # 1920*1080 @ 30 fps
    # Data Type: RAW12

    # Data
    #
    # Hactive:1920 pixles
    # Vactive:1080 lines
    # Vtotal:1125 lines
    # Vfront:10 lines
    # Vback:33 lines
    # Pixel size: 12 bits (Mipi CSI-2, Table 25 )
    # Block size: 3 bytes (Mipi CSI-2, Table 25 )
    # Frame rate: 30 fps
    # Number of bars: 8

    # enable pat gen
    board.WriteReg(0xB0, 0x00) # Indirect Pattern Gen Registers
    board.WriteReg(0xB1, 0x01) # PGEN_CTL
    board.WriteReg(0xB2, 0x01)

    board.WriteReg(0xB1, 0x02) # PGEN_CFG
    board.WriteReg(0xB2, 0x33) # NUM_CBARS, Block_size

    board.WriteReg(0xB1, 0x03) # PGEN_CSI_DI
    board.WriteReg(0xB2, 0x2C) # RAW12 Data Type

    board.WriteReg(0xB1, 0x04) # PGEN_LINE_SIZE1: 1920*12/8=2880
    board.WriteReg(0xB2, 0x0B)

    board.WriteReg(0xB1, 0x05) # PGEN_LINE_SIZE0: 1920*12/8=2880
    board.WriteReg(0xB2, 0x40)

    board.WriteReg(0xB1, 0x06) # PGEN_BAR_SIZE1: 1920*12/8/8)=360
    board.WriteReg(0xB2, 0x01)

    board.WriteReg(0xB1, 0x07) # PGEN_BAR_SIZE0: 1920*12/8/8)=360
    board.WriteReg(0xB2, 0x68)

    board.WriteReg(0xB1, 0x08) # PGEN_ACT_LPF1: 1080
    board.WriteReg(0xB2, 0x04)

    board.WriteReg(0xB1, 0x09) # PGEN_ACT_LPF0: 1080
    board.WriteReg(0xB2, 0x38)

    board.WriteReg(0xB1, 0x0a) # PGEN_TOT_LPF1: 1125
    board.WriteReg(0xB2, 0x04)

    board.WriteReg(0xB1, 0x0b) # PGEN_TOT_LPF0: 1125
    board.WriteReg(0xB2, 0x65)

    board.WriteReg(0xB1, 0x0c) # PGEN_LINE_PD1:1/(30*1125*10ns)=2963
    board.WriteReg(0xB2, 0x0B)

    board.WriteReg(0xB1, 0x0d) # PGEN_LINE_PD0:1/(30*1125*10ns)=2963
    board.WriteReg(0xB2, 0x93)

    board.WriteReg(0xB1, 0x0E) # PGEN_VBP: 33
    board.WriteReg(0xB2, 0x21)

    board.WriteReg(0xB1, 0x0F) # PGEN_VFP: 10
    board.WriteReg(0xB2, 0x0A)

    Best Regards,
    Jonny