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

Hans de Goede
2014-12-26T10:48:26Z

Hi,

On 26-12-14 07:44, Chen-Yu Tsai wrote:
> 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.

Good.

> 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 for doing that.

Regards,

Hans