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

Hans de Goede
2014-12-25T10:59:55Z

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"

Regards,

Hans