public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Hans de Goede <hdegoede@redhat.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 15/17] sunxi: Ippo_q8h defconfigs: Enable the LCD panel found on these tablets.
Date: Tue, 30 Dec 2014 11:26:51 +0100	[thread overview]
Message-ID: <54A27DEB.1000005@redhat.com> (raw)
In-Reply-To: <20141230121802.36365251@i7>

Hi,

On 30-12-14 11:18, Siarhei Siamashka wrote:
> On Thu, 25 Dec 2014 11:59:55 +0100
> 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.
>
> 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"?

Looking at the register values set by android vs the fex file, the correct
formula is "max(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.

Cool, thanks for doing this!

> 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.

Currently basically only lcd_if = 0 and lcd_frm = 1 are supported, it
should be possible to add support for other lcd_frm = x values easily,
so if you encounter those let me know, lcd_if != 0 is going to be much
harder to support and currently is not on my schedule.

> 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.

All I can say here is that I agree with the above, I'm afraid I'm not
familiar enough with the (quite large) sunxi display code in the SDK
kernels to provide answers here.

Regards,

Hans

  reply	other threads:[~2014-12-30 10:26 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-24 19:06 [U-Boot] sunxi: video: Add LCD output and A13-Olinuxino VGA output support Hans de Goede
2014-12-24 19:06 ` [U-Boot] [PATCH 01/17] videomodes: Add support for refresh and pclk_khz to video_get_params() Hans de Goede
2014-12-28  9:27   ` Ian Campbell
2015-01-08 17:23   ` Anatolij Gustschin
2014-12-24 19:06 ` [U-Boot] [PATCH 02/17] sunxi: gpio: Properly sort mux defines by port number Hans de Goede
2014-12-28  9:28   ` Ian Campbell
2014-12-24 19:06 ` [U-Boot] [PATCH 03/17] sunxi: gpio: Add support for gpio pins on the AXP209 pmic Hans de Goede
2014-12-28  9:34   ` Ian Campbell
2014-12-28 10:35     ` Hans de Goede
2014-12-24 19:06 ` [U-Boot] [PATCH 04/17] sunxi: video: Drop disabling of backend / lcdc / hdmi encoder on modeset Hans de Goede
2014-12-28  9:34   ` Ian Campbell
2014-12-24 19:06 ` [U-Boot] [PATCH 05/17] sunxi: video: Improve monitor video-mode option handling Hans de Goede
2014-12-28  9:40   ` Ian Campbell
2014-12-28 10:55     ` Hans de Goede
2014-12-24 19:06 ` [U-Boot] [PATCH 06/17] sunxi: video: Prepare for lcd support Hans de Goede
2014-12-28  9:41   ` Ian Campbell
2014-12-24 19:06 ` [U-Boot] [PATCH 07/17] sunxi: video: Modify sunxi_lcdc_pll_set to work with both tcon0 and tcon1 Hans de Goede
2014-12-29 13:36   ` Ian Campbell
2014-12-24 19:06 ` [U-Boot] [PATCH 08/17] sunxi: video: Move sunxi_drc_init Hans de Goede
2014-12-25  9:08   ` Chen-Yu Tsai
2014-12-25 10:22     ` Hans de Goede
2014-12-29 13:37       ` Ian Campbell
2014-12-24 19:06 ` [U-Boot] [PATCH 09/17] sunxi: video: Add lcd output support Hans de Goede
2014-12-29 13:43   ` Ian Campbell
2014-12-31 11:59     ` Hans de Goede
2014-12-24 19:06 ` [U-Boot] [PATCH 10/17] sunxi: video: Add suppport SoCs without HDMI, e.g. the A13 and A23 Hans de Goede
2014-12-29 13:50   ` Ian Campbell
2014-12-31 12:07     ` Hans de Goede
2014-12-24 19:06 ` [U-Boot] [PATCH 11/17] sunxi: video: Add support for VGA via external DACs connected to the LCD pins Hans de Goede
2014-12-29 13:51   ` Ian Campbell
2014-12-29 19:25     ` Hans de Goede
2014-12-30  2:21       ` Chen-Yu Tsai
2014-12-30 10:21         ` Hans de Goede
2014-12-24 19:06 ` [U-Boot] [PATCH 12/17] sunxi: sunxi-common.h: Reduce bootm_size to take the framebuffer into account Hans de Goede
2014-12-29 13:52   ` Ian Campbell
2014-12-24 19:06 ` [U-Boot] [PATCH 13/17] sunxi: A13-OLinuXino defconfigs: Enable VGA output, add lcd-mode for 7" LCD Hans de Goede
2014-12-29 13:53   ` Ian Campbell
2014-12-24 19:06 ` [U-Boot] [PATCH 14/17] sunxi: Add 2 defconfigs for using the Olimex 7" lcd with olinuxino boards Hans de Goede
2014-12-29 13:55   ` Ian Campbell
2014-12-29 19:27     ` Hans de Goede
2014-12-30  7:25       ` Ian Campbell
2014-12-24 19:06 ` [U-Boot] [PATCH 15/17] sunxi: Ippo_q8h defconfigs: Enable the LCD panel found on these tablets Hans de Goede
2014-12-25 10:00   ` Chen-Yu Tsai
2014-12-25 10:59     ` Hans de Goede
2014-12-26  6:44       ` Chen-Yu Tsai
2014-12-26 10:48         ` Hans de Goede
2014-12-29 13:57         ` Ian Campbell
2014-12-29 15:56           ` Chen-Yu Tsai
2014-12-29 19:31             ` Hans de Goede
2014-12-30 10:18       ` Siarhei Siamashka
2014-12-30 10:26         ` Hans de Goede [this message]
2014-12-30 10:36           ` Hans de Goede
2014-12-30 11:25             ` Siarhei Siamashka
2014-12-31 11:22               ` Hans de Goede
2014-12-30 12:17           ` Siarhei Siamashka
2014-12-31 11:22             ` Hans de Goede
2015-01-01  2:35               ` Chen-Yu Tsai
2015-01-01 12:36                 ` Hans de Goede
2015-01-02 11:02                   ` Siarhei Siamashka
2015-01-04 20:22                     ` Hans de Goede
2015-01-01 20:03               ` Siarhei Siamashka
2015-01-01 20:15                 ` Hans de Goede
2015-01-01 21:05                   ` Siarhei Siamashka
2014-12-24 19:06 ` [U-Boot] [PATCH 16/17] sunxi: video: Remove sunxi_display.enabled variable Hans de Goede
2014-12-29 13:57   ` Ian Campbell
2014-12-24 19:06 ` [U-Boot] [PATCH 17/17] sunxi: video: Use sunxi_lcdc_get_clk_delay to calculate tcon1 delay Hans de Goede
2014-12-29 13:58   ` Ian Campbell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54A27DEB.1000005@redhat.com \
    --to=hdegoede@redhat.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox