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.
