[U-Boot] [PATCH 15/17] sunxi: Ippo_q8h defconfigs: Enable the LCD panel found on these tablets.

Chen-Yu Tsai
2014-12-26T06:44:29Z

Hi,

On Thu, Dec 25, 2014 at 6:59 PM, Hans de Goede <hdegoede@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 <hdegoede@redhat.com>
>> wrote:
>>>
>>> Enable the new LCD support on Ippo_q8h tablets.
>>>
>>> Signed-off-by: Hans de Goede <hdegoede@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.
>
> So if I'm not mistaken for the Ippo_q8h_v5 the timings should be:
>
> CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:87,ri:168,up:31,lo:13,hs:1,vs:1,sync:0,vmode:0"

The new values look better. I haven't tested displaying anything other
than a framebuffer console, so I can't say if the other margins are
correct.

I've created a simple wiki page to put the translation table:
http://linux-sunxi.org/LCD

Thanks!
ChenYu