Am Dienstag, 17. September 2013 15:45:27 UTC+2 schrieb [email protected]:
> Hi, sorry for long message, but I am really fighting with this SDK :(
> 
> I am trying to be able to set HDMI resolutions on A20 chip with Android4.2.2 
> OS.
> 
> I have 2 pcs OLIMEX A20 and 2pcs HummingBird board. I also have two different 
> A20 SDK which correspond to each board.
> 
> In both SDK and both boards, I am modifying sys_config.fex file, and then 
> running following commands:
> 
> ch lichee
> ./build.sh -p sun7i_android
> cd ../android4.2
> source build/envsetup.sh
> lunch 15
> make -j8
> pack
> 
> 1) Everytime I modify sys_config.fex file, I have to do above steps, and 
> therefore I created one makeall.sh in top dir, and executes above commands 
> one by one and create an IMG file (~515MByte)...
> 
> I also checked to mount /dev/block/nanda and modify script.bin, but for 
> android, it has no effect, I feel it reads the sys_config parameters 
> somewhere else.
> 
> Does anybody know how to do above steps more easily? When we change 1 byte in 
> sys_config.fex, do we have to burn whole 515Mbyte image everytime?
> 
> 
> 2) I can set my resolution to 1280x800 with following setting:
> 
> ;-------------------------------------------------------------------------------
> ;disp init configuration
> ;
> ;disp_mode            (0:screen0<screen0,fb0> 1:screen1<screen1,fb0> 
> 2:two_diff_screen_diff_contents<screen0,screen1,fb0,fb1>
> ;                      3:two_same_screen_diff_contets<screen0,screen1,fb0> 
> 4:two_diff_screen_same_contents<screen0,screen1,fb0>)
> ;screenx_output_type  (0:none; 1:lcd; 2:tv; 3:hdmi; 4:vga)
> ;screenx_output_mode  (used for tv/hdmi output, 0:480i 1:576i 2:480p 3:576p 
> 4:720p50 5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60 11:pal 
> 14:ntsc)
> ;screenx_output_mode  (used for vga output, 0:1680*1050 1:1440*900 2:1360*768 
> 3:1280*1024 4:1024*768 5:800*600 6:640*480 10:1920*1080 11:1280*720)
> ;fbx format           (4:RGB655 5:RGB565 6:RGB556 7:ARGB1555 8:RGBA5551 
> 9:RGB888 10:ARGB8888 12:ARGB4444)
> ;fbx pixel sequence   (0:ARGB 1:BGRA 2:ABGR 3:RGBA) --- 0 for linux, 2 for 
> android
> ;lcd0_bright          (lcd0 init bright,the range:[0,256],default:197
> ;lcd1_bright          (lcd1 init bright,the range:[0,256],default:197
> ;-------------------------------------------------------------------------------
> [disp_init]
> disp_init_enable        = 1
> disp_mode               = 0
> 
> screen0_output_type     = 1
> ;screen0_output_type     = 1
> screen0_output_mode     = 4
> ;screen0_output_mode     = 4
> 
> screen1_output_type     = 3
> screen1_output_mode     = 10
> ;screen1_output_type     = 1
> ;screen1_output_mode     = 4
> 
> fb0_framebuffer_num     = 2
> fb0_format              = 10
> fb0_pixel_sequence      = 0
> fb0_scaler_mode_enable  = 0
> fb0_width               = 0
> fb0_height              = 0
> 
> fb1_framebuffer_num     = 2
> fb1_format              = 10
> fb1_pixel_sequence      = 0
> fb1_scaler_mode_enable  = 0
> fb1_width               = 0
> fb1_height              = 0
> 
> lcd0_backlight          = 197
> lcd1_backlight          = 197
> 
> lcd0_bright             = 50
> lcd0_contrast           = 50
> lcd0_saturation         = 57
> lcd0_hue                = 50
> 
> lcd1_bright             = 50
> lcd1_contrast           = 50
> lcd1_saturation         = 57
> lcd1_hue                = 50
> 
> ;-------------------------------------------------------------------------------
> ;lcd0 configuration
> 
> ;lcd_dclk_freq:      in MHZ unit
> ;lcd_pwm_freq:       in HZ unit
> ;lcd_if:             0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:hv2dsi
> ;lcd_width:          width of lcd in mm
> ;lcd_height:         height of lcd in mm
> ;lcd_hbp:            hsync back porch
> ;lcd_ht:             hsync total cycle
> ;lcd_vbp:            vsync back porch
> ;lcd_vt:             vysnc total cycle *2
> ;lcd_hv_if:          0:hv parallel 1:hv serial
> ;lcd_hv_smode:       0:RGB888 1:CCIR656
> ;lcd_hv_s888_if      serial RGB format
> ;lcd_hv_syuv_if:     serial YUV format
> ;lcd_hspw:           hsync plus width
> ;lcd_vspw:           vysnc plus width
> ;lcd_lvds_ch:        0:single channel; 1:dual channel
> ;lcd_lvds_mode:      0:NS mode; 1:JEIDA mode
> ;lcd_lvds_bitwidth:  0:24bit; 1:18bit
> ;lcd_lvds_io_cross:  0:normal; 1:pn cross
> ;lcd_cpu_if:         0:18bit; 1:16bit mode0; 2:16bit mode1; 3:16bit mode2; 
> 4:16bit mode3; 5:9bit; 6:8bit 256K; 7:8bit 65K
> ;lcd_frm:            0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither
> 
> ;lcd_gpio_0:         SCL
> ;lcd_gpio_1          SDA
> ;-------------------------------------------------------------------------------
> [lcd0_para]
> lcd_used                 = 1
> 
> lcd_x                    =1280
> lcd_y                    =800
> lcd_dclk_freq            = 33
> ;lcd_dclk_freq            = 33
> 
> ;800
> ;480
> ;30
> ;HT=1992
> ;HBP=46(根据调试日志调整)
> ;VT=2625
> ;VBP=120(根据调试日志调整)
> 
> lcd_pwm_not_used         = 0
> lcd_pwm_ch               = 0
> lcd_pwm_freq             = 10000
> lcd_pwm_pol              = 1
> lcd_if                   = 0
> lcd_hbp                  = 13
> lcd_ht                   = 1680
> ;lcd_ht= 928 ; 1992
> lcd_vbp                  = 13
> ;lcd_vbp = 23 ;120
> lcd_vt                   = 1656
> ;lcd_vt= 1050 ; 2625
> lcd_hv_if                = 0
> lcd_hv_smode             = 0
> lcd_hv_s888_if           = 0
> lcd_hv_syuv_if           = 0
> lcd_hv_vspw              = 0
> lcd_hv_hspw              = 0
> lcd_lvds_ch              = 0
> lcd_lvds_mode            = 0
> lcd_lvds_bitwidth        = 0
> lcd_lvds_io_cross        = 0
> lcd_cpu_if               = 0
> lcd_frm                 = 0
> lcd_io_cfg0              = 0x10000000
> lcd_gamma_correction_en = 0
> lcd_gamma_tbl_0         = 0x00000000
> lcd_gamma_tbl_1         = 0x00010101
> lcd_gamma_tbl_255       = 0x00ffffff
> 
> 
> But, above setting causes following warning in the log:
> 
> [  333.991678] [DISP] 
> *****************************************************************
> [  334.003632] [DISP] ***
> [  334.006264] [DISP] *** LCD Panel Parameter Check
> [  334.022042] [DISP] ***
> [  334.024680] [DISP] ***             by dulianping
> [  334.041678] [DISP] ***
> [  334.044352] [DISP] 
> *****************************************************************
> [  334.060356] [DISP] ***
> [  334.063177] [DISP] *** Interface:
> [  334.066671] [DISP] *** Parallel HV Panel
> [  334.081972] [DISP] *** Lcd Frm Disable
> [  334.086155] [DISP] ***
> [  334.088876] [DISP] *** Timing:
> [  334.106621] [DISP] *** lcd_x:      1280
> [  334.110937] [DISP] *** lcd_y:      800
> [  334.123717] [DISP] *** lcd_ht:     1680
> [  334.127987] [DISP] *** lcd_hbp:    13
> [  334.141918] [DISP] *** lcd_vt:     1656
> [  334.146189] [DISP] *** lcd_vbp:    13
> [  334.150279] [DISP] *** lcd_hspw:   0
> [  334.162684] [DISP] *** lcd_vspw:   0
> [  334.166666] [DISP] *** lcd_frame_frq:  23Hz
> [  334.171320] [DISP] ***
> [  334.190987] [DISP] *** WRN03: Recommend "lcd_dclk_frq = 83"
> [  334.197259] [DISP] ***
> [  334.205436] [DISP] *** LCD Panel Parameter Check End
> [  334.213051] [DISP] 
> *****************************************************************
> 
> And when I set lcd_dclk_frq = 83 ; screen gets very very slow, Mouse pointer 
> move very very slowly and screen gets jerky...
> 
> With lcd_dclk_frq = 33, Mouse pointer is much better, but I still feel some 
> jerkiness, little bit slow motion than PC, it is not smooth like PC...
> 
> Can anybody know how to set above parameters correctly for 1280x800 through 
> HDMI?
> 
> Note: I added disp.screen0_output_mode=EDID:1280x720p60 to my bootargs, but 
> this has no effect. I am using SAMSUNG S22C350H for display.
> 
> 3) For 1920x1080, here is my settings:
> 
> ;-------------------------------------------------------------------------------
> ;disp init configuration
> ;
> ;disp_mode            (0:screen0<screen0,fb0> 1:screen1<screen1,fb0> 
> 2:two_diff_screen_diff_contents<screen0,screen1,fb0,fb1>
> ;                      3:two_same_screen_diff_contets<screen0,screen1,fb0> 
> 4:two_diff_screen_same_contents<screen0,screen1,fb0>)
> ;screenx_output_type  (0:none; 1:lcd; 2:tv; 3:hdmi; 4:vga)
> ;screenx_output_mode  (used for tv/hdmi output, 0:480i 1:576i 2:480p 3:576p 
> 4:720p50 5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60 11:pal 
> 14:ntsc)
> ;screenx_output_mode  (used for vga output, 0:1680*1050 1:1440*900 2:1360*768 
> 3:1280*1024 4:1024*768 5:800*600 6:640*480 10:1920*1080 11:1280*720)
> ;fbx format           (4:RGB655 5:RGB565 6:RGB556 7:ARGB1555 8:RGBA5551 
> 9:RGB888 10:ARGB8888 12:ARGB4444)
> ;fbx pixel sequence   (0:ARGB 1:BGRA 2:ABGR 3:RGBA) --- 0 for linux, 2 for 
> android
> ;lcd0_bright          (lcd0 init bright,the range:[0,256],default:197
> ;lcd1_bright          (lcd1 init bright,the range:[0,256],default:197
> ;-------------------------------------------------------------------------------
> [disp_init]
> disp_init_enable        = 1
> disp_mode               = 0
> 
> screen0_output_type     = 1
> ;screen0_output_type     = 1
> screen0_output_mode     = 4
> ;screen0_output_mode     = 4
> 
> screen1_output_type     = 3
> screen1_output_mode     = 10
> ;screen1_output_type     = 1
> ;screen1_output_mode     = 4
> 
> fb0_framebuffer_num     = 2
> fb0_format              = 10
> fb0_pixel_sequence      = 0
> fb0_scaler_mode_enable  = 0
> fb0_width               = 0
> fb0_height              = 0
> 
> fb1_framebuffer_num     = 2
> fb1_format              = 10
> fb1_pixel_sequence      = 0
> fb1_scaler_mode_enable  = 0
> fb1_width               = 0
> fb1_height              = 0
> 
> lcd0_backlight          = 197
> lcd1_backlight          = 197
> 
> lcd0_bright             = 50
> lcd0_contrast           = 50
> lcd0_saturation         = 57
> lcd0_hue                = 50
> 
> lcd1_bright             = 50
> lcd1_contrast           = 50
> lcd1_saturation         = 57
> lcd1_hue                = 50
> 
> ;-------------------------------------------------------------------------------
> ;lcd0 configuration
> 
> ;lcd_dclk_freq:      in MHZ unit
> ;lcd_pwm_freq:       in HZ unit
> ;lcd_if:             0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:hv2dsi
> ;lcd_width:          width of lcd in mm
> ;lcd_height:         height of lcd in mm
> ;lcd_hbp:            hsync back porch
> ;lcd_ht:             hsync total cycle
> ;lcd_vbp:            vsync back porch
> ;lcd_vt:             vysnc total cycle *2
> ;lcd_hv_if:          0:hv parallel 1:hv serial
> ;lcd_hv_smode:       0:RGB888 1:CCIR656
> ;lcd_hv_s888_if      serial RGB format
> ;lcd_hv_syuv_if:     serial YUV format
> ;lcd_hspw:           hsync plus width
> ;lcd_vspw:           vysnc plus width
> ;lcd_lvds_ch:        0:single channel; 1:dual channel
> ;lcd_lvds_mode:      0:NS mode; 1:JEIDA mode
> ;lcd_lvds_bitwidth:  0:24bit; 1:18bit
> ;lcd_lvds_io_cross:  0:normal; 1:pn cross
> ;lcd_cpu_if:         0:18bit; 1:16bit mode0; 2:16bit mode1; 3:16bit mode2; 
> 4:16bit mode3; 5:9bit; 6:8bit 256K; 7:8bit 65K
> ;lcd_frm:            0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither
> 
> ;lcd_gpio_0:         SCL
> ;lcd_gpio_1          SDA
> ;-------------------------------------------------------------------------------
> [lcd0_para]
> lcd_used                 = 1
> 
> lcd_x                    =1920
> lcd_y                    =1080
> lcd_dclk_freq            = 33
> ;lcd_dclk_freq            = 33
> 
> ;800
> ;480
> ;30
> ;HT=1992
> ;HBP=46(根据调试日志调整)
> ;VT=2625
> ;VBP=120(根据调试日志调整)
> 
> lcd_pwm_not_used         = 0
> lcd_pwm_ch               = 0
> lcd_pwm_freq             = 10000
> lcd_pwm_pol              = 1
> lcd_if                   = 0
> lcd_hbp                  = 13
> lcd_ht                   = 2160
> ;lcd_ht= 928 ; 1992
> lcd_vbp                  = 13
> ;lcd_vbp = 23 ;120
> lcd_vt                   = 2625
> ;lcd_vt= 1050 ; 2625
> lcd_hv_if                = 0
> lcd_hv_smode             = 0
> lcd_hv_s888_if           = 0
> lcd_hv_syuv_if           = 0
> lcd_hv_vspw              = 0
> lcd_hv_hspw              = 0
> lcd_lvds_ch              = 0
> lcd_lvds_mode            = 0
> lcd_lvds_bitwidth        = 0
> lcd_lvds_io_cross        = 0
> lcd_cpu_if               = 0
> lcd_frm                 = 0
> lcd_io_cfg0              = 0x10000000
> lcd_gamma_correction_en = 0
> lcd_gamma_tbl_0         = 0x00000000
> lcd_gamma_tbl_1         = 0x00010101
> lcd_gamma_tbl_255       = 0x00ffffff
> 
> With this configuration, display is 1920x1080, but Mouse is more slower than 
> 1280x800, and jerkiness is also more visible...
> 
> It also complain on debug log like above, but performance is also worse...
> 
> I already read:
> 
> http://linux-sunxi.org/Display
> 
> a10_lcd_config_nanual_v1.0.pdf
> 
> Any help will be appreciated..

Uunfortunately the fb0 change did not do the trick.
The device runs at 1280*720 instead of 1280*800 though the fb0 settings are as 
following:

fb0_framebufer_num     = 2
fb0_format             = 10
fb0_pixel_sequence     = 2
fb0_scaler_mode_enable = 0
fb0_width              = 1280
fb0_height             = 800

I additionally tried to change the init_disp.c to get the 800px height by 
overriding the return values stored in
init_dispgettvheight ->       DISP_TV_MOD_720P_50HZ:  return 800;
init_dispgettvvalidheight ->  DISP_TV_MOD_720P_50HZ:  return 760;
but all this had no effect on the output on my screen.

At the moment I have a hard time understanding where the 720p reoslution comes 
from. Does anyone have a clue where I can put me hands on?

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to