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.

AM3352 SDK6 LCD resolutions

Other Parts Discussed in Thread: AM3352, DA8XX

Hi,

My client is using AM3352 SDK6 in their current project. The LCD resolutions are 800x480 and work just fine.  Below is the output of fbset.

smarct335x login: root
root@smarct335x:~# fbset

mode "800x480-60"
# D: 33.333 MHz, H: 31.566 kHz, V: 60.125 Hz
geometry 800 480 800 960 32
timings 30000 86 42 33 10 128 2
rgba 8/16,8/8,8/0,8/24
endmode

Now there is a new project that requires a 1024x600 panel. We added a new mode under /etc/fb.modes as the followings.

mode "1024x600-60"
# D: 65.00 MHz, H: 48.363 kHz, V: 60.00 Hz
geometry 1024 600 1024 1200 32
timings 20000 160 24 22 1 136 2
hsync high
vsync high
endmode

However, when fbset, the output is somewhat not as expected (Please note the red mark).

root@smarct335x:~# fbset 1024x600-60
root@smarct335x:~# fbset

mode "1024x600-60"
# D: 50.000 MHz, H: 37.202 kHz, V: 59.524 Hz
geometry 1024 600 1024 750 32
timings 20000 160 24 22 1 136 2
hsync high
vsync high
accel true
rgba 8/16,8/8,8/0,8/24
endmode

root@smarct335x:~#

If I change the color depth to 16, I can get the expected results.

root@smarct335x:~# fbset 1024x600-60
root@smarct335x:~# fbset

mode "1024x600-60"
# D: 50.000 MHz, H: 37.202 kHz, V: 59.524 Hz
geometry 1024 600 1024 1200 16
timings 20000 160 24 22 1 136 2
hsync high
vsync high
accel true
rgba 5/11,6/5,5/0,0/0
endmode

root@smarct335x:~#

I thought it might be the size of the frame buffer is not big enough. I modified the kernel defconfig 

FB_DA8XX_CONSISTENT_DMA_SIZE from 4MB to 6MB and to 8MB, but all got the same results.

Could anyone tell me why?

  • Biser,
    I modified the "#define MAX_ORDER 12" in the include/linux/mmzone.h and set FB_DA8XX_CONSISTENT_DMA_SIZE to 6MB, but make no differences.
    root@smarct335x:~# fbset

    mode "1024x600-60"
    # D: 50.000 MHz, H: 37.202 kHz, V: 59.524 Hz
    geometry 1024 600 1024 750 32
    timings 20000 160 24 22 1 136 2
    hsync high
    vsync high
    accel true
    rgba 8/16,8/8,8/0,8/24
    endmode

    root@smarct335x:~#

    -Eric
  • Biser,
    How to correctly change LCD resolutions from user space?
    -Eric
  • I have forwarded this to the SW experts. They should reply soon.

  • Hi,

    It seems that not enough frame buffer memory size. The driver allocates this memory is in fb_probe(...). Check when the memory is allocated its size. See if the driver use CONFIG_OMAP2_VRAM_SIZE and how is it. You can increase a little FB_DA8XX_CONSISTENT_DMA_SIZE. See also LCD_NUM_BUFFERS and all parameters in driver determine the amount of the FB.

    BR
    Ivan
  • Ivan,
    It seems that my current frame buffer memory is 2MB. only. I will play around those parameters and let you know later.
    -Eric
  • Ivan,

    I tried to increase those parameters that you addressed, but all got the same results.

    My question is quite simple. If I add a video mode under /etc/fb.modes like this:

    mode "1024x600-60"

       # D: 65.00 MHz, H: 48.363 kHz, V: 60.00 Hz

       geometry 1024 600 1024 1200 32

       timings 20000 160 24 22 1 136 2

       hsync high

       vsync high

    endmode

    How come I cannot get exactly the same results in user space?

    root@smarct335x:~# fbset 1024x600-60

    root@smarct335x:~# fbset

    mode "1024x600-60"

       # D: 50.000 MHz, H: 37.202 kHz, V: 59.524 Hz

       geometry 1024 600 1024 750 32

       timings 20000 160 24 22 1 136 2

       hsync high

       vsync high

       accel true

       rgba 8/16,8/8,8/0,8/24

    endmode

    root@smarct335x:~#

    I am using TI SDK6. Is there anyway that I can see my current frame buffer memory size?Thanks.

    -Eric

  • Ivan,
    OK. It seems not the framebuffer memory problem. I added a new panel directly into drivers/video/da8xx-fb.c and I can get the correct result.
    root@smarct335x:~# fbset

    mode "1024x600-55"
    # D: 50.000 MHz, H: 40.650 kHz, V: 55.007 Hz
    geometry 1024 600 1024 1200 32
    timings 20000 22 24 136 1 160 2
    rgba 8/16,8/8,8/0,8/24
    endmode

    However, using fbset in user space will have problems. This should be a bug in drivers. Could you help me out?
    -Eric