On Thu, 25 Dec 2014 11:59:55 +0100 Hans de Goede <hdego...@redhat.com> wrote:
> Hi, > > On 25-12-14 11:00, Chen-Yu Tsai wrote: > > Hi, > > > > On Thu, Dec 25, 2014 at 3:06 AM, Hans de Goede <hdego...@redhat.com> wrote: > >> Enable the new LCD support on Ippo_q8h tablets. > >> > >> Signed-off-by: Hans de Goede <hdego...@redhat.com> > >> --- > >> configs/Ippo_q8h_v1_2_defconfig | 5 ++++- > >> configs/Ippo_q8h_v5_defconfig | 5 ++++- > >> 2 files changed, 8 insertions(+), 2 deletions(-) > >> > >> diff --git a/configs/Ippo_q8h_v1_2_defconfig > >> b/configs/Ippo_q8h_v1_2_defconfig > >> index fefed32..c773f5f 100644 > >> --- a/configs/Ippo_q8h_v1_2_defconfig > >> +++ b/configs/Ippo_q8h_v1_2_defconfig > >> @@ -1,7 +1,10 @@ > >> CONFIG_SPL=y > >> CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5" > >> CONFIG_FDTFILE="sun8i-a23-ippo-q8h-v1.2.dtb" > >> -CONFIG_VIDEO=n > >> +CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:16,ri:209,up:22,lo:22,hs:30,vs:1,sync:0,vmode:0" > >> +CONFIG_VIDEO_LCD_POWER="PH7" > >> +CONFIG_VIDEO_LCD_BL_EN="PH6" > >> +CONFIG_VIDEO_LCD_BL_PWM="PH0" > >> CONFIG_USB_KEYBOARD=n > >> +S:CONFIG_ARM=y > >> +S:CONFIG_ARCH_SUNXI=y > >> diff --git a/configs/Ippo_q8h_v5_defconfig b/configs/Ippo_q8h_v5_defconfig > >> index b8d3afe..ce4f0b8 100644 > >> --- a/configs/Ippo_q8h_v5_defconfig > >> +++ b/configs/Ippo_q8h_v5_defconfig > >> @@ -1,7 +1,10 @@ > >> CONFIG_SPL=y > >> CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5" > >> CONFIG_FDTFILE="sun8i-a23-ippo-q8h-v5.dtb" > >> -CONFIG_VIDEO=n > >> +CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:16,ri:209,up:22,lo:22,hs:30,vs:1,sync:0,vmode:0" > > > > The display on my Q8H is a bit off to the left. With the simplefb > > bindings from your kernel sunxi-wip branch, I get a nice console. > > Though I've no way to type, at least I can tell my tablet is on. :) > > > > Could you briefly explain how to convert the values in the fex > > file to the mode line here? It could also help others with > > enabling display on their tablets. > > Ah yes, I used the slightly different timings from the olimex 7" lcd > panel for olinuxino boards, and since those worked fine on my a23 > tablet I never adjusted things. Here is a translation table: > > > CONFIG_VIDEO_LCD_MODE fex value(s) > > x lcd_x > y lcd_y > depth:18 lcd_frm = 1 > pclk_khz lcd_dclk_freq * 1000 > hs lcd_hv_hspw (with a minimum of 1) > vs lcd_hv_vspw (with a minimum of 1) > le lcd_hbp - hs > ri lcd_ht - lcd_x - lcd_hbp > up lcd_vbp - vs > > On sun4i/sun5i/sun7i: > lo (lcd_vt / 2) - lcd_y - lcd_vbp > On sun8i: > lo lcd_vt - lcd_y - lcd_vbp > > sync 0 > mode 0 > > I notice that the Ippo_q8h_v5 fex uses 0 for lcd_hv_hspw and lcd_hv_vspw, > which > is not a valid value as the register value contains hspw - 1, so the minimum > is 1, > and looking at a register dump under android with my A23 tablet the value > indeed > should be 1. That's interesting. What would be the correct general formula for the hs/vs values then? "max(lcd_hv_hspw, 1)" or maybe "lcd_hv_hspw + 1"? BTW, I have done a preliminary automatic conversion for all FEX files from sunxi-boards, which enable lcd0 in fex. The results are now available at the all the same http://linux-sunxi.org/LCD wiki page. If "hs = lcd_hv_hspw + 1" is a better choice, then the whole table probably needs to be re-generated. Also additional explanations about GPIO related options (what would be the exact rules to interpret FEX?) and more details about "lcd_frm" and "lcd_if" would help a lot to get a better understanding about what still needs to be done to get LCD displays supported on all devices. If I understand it correctly, the kernel sources from the Allwinner SDK contain the relevant code for handling the information from FEX, and this code is the best reference. And it's more reliable to refer to A23 SDK for interpreting the FEX files originally snatched from A23 devices, and likewise A31 SDK for A31 devices. For example, it is not uncommon to see both 'lcd_pwm_used' and 'lcd_pwm_not_used' variables defined in FEX. And sometimes the values of these variables even contradict each other. So the fine details about the relative priorities of these variables and other similar things might need to be discovered for perfectly correct conversion. -- Best regards, Siarhei Siamashka _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot