iMX28 LCDIF DMA not running after a screen blank

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iMX28 LCDIF DMA not running after a screen blank

Jump to solution
1,015 Views
michaelmoran
Contributor I

I am running an iMX28 Linux (Freescale 2013). After blanking the screen (echo 1 > /sys/class/graphics/fb0/blank) and subsequently un-blanking (echo 0 > /sys/class/graphics/fb0/blank), I can no longer see any graphics applications.

When the failure happens, it appears that the LCDIF DMA controller is no longer executing in spite of the fact that it seems to be configured properly.

Can anyone tell me why the DMA controller is not running?

Since LCDIF interrupts are disabled, I would expect interrupt status such as BM_LCDIF_CTRL1_VSYNC_EDGE_IRQ.

I would also expect the HW_LCDIF_CRC_STAT to be not FFFFFFF.


Here is a register dump with some "telling" annotations:

    HW_LCDIF_CTRL:              000B4F21 <<<<<< Running?
    HW_LCDIF_CTRL1:             01070001
    HW_LCDIF_CTRL2:             00200000
    HW_LCDIF_TRANSFER_COUNT:    011001E0
    HW_LCDIF_CUR_BUF:           4FE00000
    HW_LCDIF_NEXT_BUF:          4FE00000
    HW_LCDIF_TIMING:            01010101
    HW_LCDIF_VDCTRL0:           1F300002
    HW_LCDIF_VDCTRL1:           00000115
    HW_LCDIF_VDCTRL2:           000401EB
    HW_LCDIF_VDCTRL3:           00090004
    HW_LCDIF_VDCTRL4:           000401E0
    HW_LCDIF_DVICTRL0:          00000000
    HW_LCDIF_DVICTRL1:          00000000
    HW_LCDIF_DVICTRL2:          00000000
    HW_LCDIF_DVICTRL3:          00000000
    HW_LCDIF_DVICTRL4:          00000000
    HW_LCDIF_CSC_COEFF0:        00000000
    HW_LCDIF_CSC_COEFF1:        00000000
    HW_LCDIF_CSC_COEFF2:        00000000
    HW_LCDIF_CSC_COEFF3:        00000000
    HW_LCDIF_CSC_COEFF4:        00000000
    HW_LCDIF_CSC_OFFSET:        00800010
    HW_LCDIF_CSC_LIMIT:         00FF00FF
    HW_LCDIF_BM_ERROR_STAT:     00000000
    HW_LCDIF_CRC_STAT:          FFFFFFFF <<<<<<<<< Never changes
    HW_LCDIF_STAT:              95000000
    HW_LCDIF_VERSION:           04000000
    HW_LCDIF_DEBUG0:            2301080F
    HW_LCDIF_DEBUG1:            01E00110
    HW_LCDIF_DEBUG2:            4FE00000

    HW_CLKCTRL_DIS_LCDIF:       00000032
    HW_CLKCTRL_CLKSEQ:          00000157
    HW_CLKCTRL_FRAC0:           12525513
    HW_CLKCTRL_FRAC1:           00929253

Labels (1)
0 Kudos
1 Solution
512 Views
karina_valencia
NXP Apps Support
NXP Apps Support

GraceSiEmployee

Please use attached mx28_lcdif_clk_fix.patch.

Grace

View solution in original post

0 Kudos
1 Reply
513 Views
karina_valencia
NXP Apps Support
NXP Apps Support

GraceSiEmployee

Please use attached mx28_lcdif_clk_fix.patch.

Grace

0 Kudos