A20 LVDS DENA mode

Started by orothron, September 13, 2015, 06:15:08 PM

Previous topic - Next topic

orothron

Hello,

I am trying to connect LVDS display working in DE (DENA, Data Enable) mode only to A20 board. SYNC node is not supported by the display. How can I configure A20 to work in DE mode using FEX-file?

Gene.

dave-at-axon

You shouldn't need to do anything other than setup the timing. You just ignore the HSYNC and VSYNC outputs and connect DE to your LCD as normal.

I run an LVDS (driver/receiver) link from the A20 to a display that is DE only and it works.

orothron

Hi dave-at-axon,

Could you please post here your FEX-file's display related settings from working configuration, may be there is subtle misconfiguration in my FEX-file. I watch LVDS lines using oscilloscope, there is no signals, even on CLK lines.


orothron

Another question is: do you use A20+LVDS configuration on Android (4.2 version ?) or on Linux?

dave-at-axon

Quote from: orothron on September 16, 2015, 04:45:19 PM
Could you please post here your FEX-file's display related settings from working configuration, may be there is subtle misconfiguration in my FEX-file. I watch LVDS lines using oscilloscope, there is no signals, even on CLK lines.

At this time I don't use the LVDS from the processor, I have a DS90C385 combination to do the LVDS as I needed a drop in replacement for the existing design so I still have the FEX configured for RGB but the LCD is DE only so I just don't connect the HSYNC or VSYNC but they are still there.

Can you post your FEX file and we can do a quick check of what you have used?

I am running Android 4.2.2

Are you building your own OS?


orothron

#5
After checking LVDS-lines w/ oscilloscope i see that my problem is more fundamental than DE/SYNC mismatch, so there is no any valid signals on the lines. I see valid LVDS-signals on my LVDS-based non-A20 tablet PC, also I see valid RGB signals on A20 in TTL mode, but there is nothing when I change interfacing to LVDS mode. I read on some forum, than can be subtle differencies in FEX-file settings, because some people have LVDS troubles when using A10 working LVDS configurations on A20 devices. I use imgRePacker to unpack-edit-repack ready to use Android images, successfully change display modes except of LVDS mode. May be there is some problems while processing LVDS-settings w/ imgRePacker. Also I read on some forum that need to make changes in SystemServer.java file then rebuild Android OS, but I think this can affect on screen content output in Android, but LVDS-lines must operate normal w/o patching the file if A20 initialized correct. Unfortunately I cannot to find any ready to use LVDS-enabled Android images for A20 from any A20 SOM suppliers.

My FEX-setting are:
[disp_init]
disp_init_enable        = 1
disp_mode               = 0

screen0_output_type     = 1
screen0_output_mode     = 4

screen1_output_type     = 1
screen1_output_mode     = 4

fb0_framebuffer_num     = 2
fb0_format              = 10
fb0_pixel_sequence      = 0
fb0_scaler_mode_enable  = 1
fb0_width               = 0
fb0_height              = 0

fb1_framebuffer_num     = 2
fb1_format              = 10
fb1_pixel_sequence      = 2
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_para]
lcd_used                = 1

lcd_x                   = 1024
lcd_y                   = 600
lcd_width              = 0
lcd_height             = 0
lcd_dclk_freq           = 52
lcd_pwm_not_used        = 0
lcd_pwm_ch              = 0
lcd_pwm_freq            = 10000
lcd_pwm_pol             = 0
lcd_if                  = 3
lcd_hbp                 = 320
lcd_ht                  = 1344
lcd_vbp                 = 35
lcd_vt                  = 1270
lcd_vspw                = 10
lcd_hspw                = 10
lcd_hv_if               = 0
lcd_hv_smode            = 0
lcd_hv_s888_if          = 0
lcd_hv_syuv_if          = 0
lcd_lvds_ch             = 0
lcd_lvds_mode           = 0
lcd_lvds_bitwidth       = 1
lcd_lvds_io_cross       = 0
lcd_cpu_if              = 0
lcd_frm                 = 1
lcd_io_cfg0             = 0x00000000
lcd_gamma_correction_en = 0
lcd_gamma_tbl_0         = 0x00000000
lcd_gamma_tbl_1         = 0x00010101
lcd_gamma_tbl_255       = 0x00ffffff

lcd_bl_en_used          = 1
lcd_bl_en               = port:PH07<1><0><default><1>

lcd_power_used          = 1
lcd_power               = port:PH08<1><0><default><1>

lcd_pwm_used            = 1
lcd_pwm                 = port:PB02<2><0><default><default>

lcdd0                   = port:PD00<3><0><default><default>
lcdd1                   = port:PD01<3><0><default><default>
lcdd2                   = port:PD02<3><0><default><default>
lcdd3                   = port:PD03<3><0><default><default>
lcdd4                   = port:PD04<3><0><default><default>
lcdd5                   = port:PD05<3><0><default><default>
lcdd6                   = port:PD06<3><0><default><default>
lcdd7                   = port:PD07<3><0><default><default>
lcdd8                   = port:PD08<3><0><default><default>
lcdd9                   = port:PD09<3><0><default><default>
lcdd10                  = port:PD10<3><0><default><default>
lcdd11                  = port:PD11<3><0><default><default>
lcdd12                  = port:PD12<3><0><default><default>
lcdd13                  = port:PD13<3><0><default><default>
lcdd14                  = port:PD14<3><0><default><default>
lcdd15                  = port:PD15<3><0><default><default>
lcdd16                  = port:PD16<3><0><default><default>
lcdd17                  = port:PD17<3><0><default><default>
lcdd18                  = port:PD18<3><0><default><default>
lcdd19                  = port:PD19<3><0><default><default>
lcdd20                  = port:PD20<2><0><default><default>
lcdd21                  = port:PD21<2><0><default><default>
lcdd22                  = port:PD22<2><0><default><default>
lcdd23                  = port:PD23<2><0><default><default>
lcdclk                  = port:PD24<2><0><default><default>
lcdde                   = port:PD25<2><0><default><default>
lcdhsync                = port:PD26<2><0><default><default>
lcdvsync                = port:PD27<2><0><default><default>

;----------------------------------------------------------------------------------
[lcd1_para]
lcd_used                = 0

lcd_x                   = 1024
lcd_y                   = 600
lcd_width              = 0
lcd_height             = 0
lcd_dclk_freq           = 52
lcd_pwm_not_used        = 0
lcd_pwm_ch              = 0
lcd_pwm_freq            = 10000
lcd_pwm_pol             = 0
lcd_if                  = 3
lcd_hbp                 = 320
lcd_ht                  = 1344
lcd_vbp                 = 35
lcd_vt                  = 1270
lcd_vspw                = 10
lcd_hspw                = 10
lcd_hv_if               = 0
lcd_hv_smode            = 0
lcd_hv_s888_if          = 0
lcd_hv_syuv_if          = 0
lcd_lvds_ch             = 0
lcd_lvds_mode           = 0
lcd_lvds_bitwidth       = 1
lcd_lvds_io_cross       = 0
lcd_cpu_if              = 0
lcd_frm                 = 1
lcd_io_cfg0             = 0x10000000
lcd_gamma_correction_en = 0
lcd_gamma_tbl_0         = 0x00000000
lcd_gamma_tbl_1         = 0x00010101
lcd_gamma_tbl_255       = 0x00ffffff

lcd_bl_en_used          = 0
lcd_bl_en               =

lcd_power_used          = 0
lcd_power               =

lcd_pwm_used            = 1
lcd_pwm                 = port:PI03<2><0><default><default>

lcd_gpio_0              =
lcd_gpio_1              =
lcd_gpio_2              =
lcd_gpio_3              =

lcdd0                   = port:PH00<2><0><default><default>
lcdd1                   = port:PH01<2><0><default><default>
lcdd2                   = port:PH02<2><0><default><default>
lcdd3                   = port:PH03<2><0><default><default>
lcdd4                   = port:PH04<2><0><default><default>
lcdd5                   = port:PH05<2><0><default><default>
lcdd6                   = port:PH06<2><0><default><default>
lcdd7                   = port:PH07<2><0><default><default>
lcdd8                   = port:PH08<2><0><default><default>
lcdd9                   = port:PH09<2><0><default><default>
lcdd10                  = port:PH10<2><0><default><default>
lcdd11                  = port:PH11<2><0><default><default>
lcdd12                  = port:PH12<2><0><default><default>
lcdd13                  = port:PH13<2><0><default><default>
lcdd14                  = port:PH14<2><0><default><default>
lcdd15                  = port:PH15<2><0><default><default>
lcdd16                  = port:PH16<2><0><default><default>
lcdd17                  = port:PH17<2><0><default><default>
lcdd18                  = port:PH18<2><0><default><default>
lcdd19                  = port:PH19<2><0><default><default>
lcdd20                  = port:PH20<2><0><default><default>
lcdd21                  = port:PH21<2><0><default><default>
lcdd22                  = port:PH22<2><0><default><default>
lcdd23                  = port:PH23<2><0><default><default>
lcdclk                  = port:PH24<2><0><default><default>
lcdde                   = port:PH25<2><0><default><default>
lcdhsync                = port:PH26<2><0><default><default>
lcdvsync                = port:PH27<2><0><default><default>

;-------------------------------------------------------------------------------
[tv_out_dac_para]
dac_used                = 1
dac0_src                = 4
dac1_src                = 5
dac2_src                = 6
dac3_src                = 0

;----------------------------------------------------------------------------------
[hdmi_para]
hdmi_used               = 0
hdcp_enable             = 0


orothron

After modifying SystemServer.java and recompiling of Android OS LVDS works well.