[U-Boot] [PATCH 4/5] exynos5420: Add LCD and LED powerup settings for peach-pi

Ajay kumar ajaynumb at gmail.com
Mon Dec 8 07:45:46 CET 2014


Hi,

On Fri, Dec 5, 2014 at 10:12 PM, Simon Glass <sjg at google.com> wrote:
> Hi,
>
> On 5 December 2014 at 08:42, Sjoerd Simons
> <sjoerd.simons at collabora.co.uk> wrote:
>> On Fri, 2014-12-05 at 19:43 +0530, Ajay Kumar wrote:
>>> Add code to support powerup sequence for peach-pi LCD.
>>>
>>> Signed-off-by: Ajay Kumar <ajaykumar.rs at samsung.com>
>>> ---
>>>  board/samsung/smdk5420/smdk5420.c |   32 +++++++++++++++++++++-----------
>>>  1 file changed, 21 insertions(+), 11 deletions(-)
>>>
>>> diff --git a/board/samsung/smdk5420/smdk5420.c b/board/samsung/smdk5420/smdk5420.c
>>> index a691222..915125e 100644
>>> --- a/board/samsung/smdk5420/smdk5420.c
>>> +++ b/board/samsung/smdk5420/smdk5420.c
>>> @@ -73,19 +73,24 @@ void exynos_lcd_power_on(void)
>>>
>>>       mdelay(5);
>>>
>>> -     /* TODO(ajaykumar.rs at samsung.com): Use device tree */
>>> -     gpio_request(EXYNOS5420_GPIO_X35, "edp_slp#");
>>> -     gpio_direction_output(EXYNOS5420_GPIO_X35, 1);  /* EDP_SLP# */
>>> -     mdelay(10);
>>> -     gpio_request(EXYNOS5420_GPIO_Y77, "edp_rst#");
>>> -     gpio_direction_output(EXYNOS5420_GPIO_Y77, 1);  /* EDP_RST# */
>>> -     gpio_request(EXYNOS5420_GPIO_X26, "edp_hpd");
>>> -     gpio_direction_input(EXYNOS5420_GPIO_X26);      /* EDP_HPD */
>>> -     gpio_set_pull(EXYNOS5420_GPIO_X26, S5P_GPIO_PULL_NONE);
>>> -
>>> -     if (has_edp_bridge())
>>> +     if (has_edp_bridge()) {
>>> +             /* TODO(ajaykumar.rs at samsung.com): Use device tree */
>>> +             gpio_request(EXYNOS5420_GPIO_X35, "edp_slp#");
>>> +             gpio_direction_output(EXYNOS5420_GPIO_X35, 1);  /* EDP_SLP# */
>>> +             mdelay(10);
>>> +             gpio_request(EXYNOS5420_GPIO_Y77, "edp_rst#");
>>> +             gpio_direction_output(EXYNOS5420_GPIO_Y77, 1);  /* EDP_RST# */
>>> +             gpio_request(EXYNOS5420_GPIO_X26, "edp_hpd");
>>> +             gpio_direction_input(EXYNOS5420_GPIO_X26);      /* EDP_HPD */
>>> +             gpio_set_pull(EXYNOS5420_GPIO_X26, S5P_GPIO_PULL_NONE);
>>> +
>>>               if (parade_init(gd->fdt_blob))
>>>                       printf("%s: ps8625_init() failed\n", __func__);
>>> +     } else {
>>> +             gpio_request(EXYNOS5420_GPIO_X26, "edp_hpd");
>>> +             gpio_direction_input(EXYNOS5420_GPIO_X26);      /* EDP_HPD */
>>> +             gpio_set_pull(EXYNOS5420_GPIO_X26, S5P_GPIO_PULL_NONE);
>>> +     }
>>
>> Any chance you could switch to using device-tree while changing this
>> area. On SMDK5420 and XU3 EXYNOS5420_GPIO_X26 is used for USB so there
>> is a bit of a potentially nastly clash there.
>
> Yes we should really do that.
I am trying to consolidate what all needs to be done for Exynos5250
and Exynos5420,
in order to remove LCD routines from the board files.
Here are my observations:
1) A separate driver for ptn3460 should be created.
2) Need a place holder for tps65090 FET settings.
3) I am planning to move all the LCD_EN/BACKLIGHT_EN GPIOs
    to the "weak function definitions" in exynos_fb.c.
    In that case, we have a limitation. All boards under a specific
SOC should conform
    to use only device tree or use only define board level LCD routines.
    ex: smdk5250 and snow - both need to use device tree to specify LCD details,
         or both need to define LCD powerup routines. It cannot be
like snow uses device tree,
         and smdk5250 defines LCD routines in smdk5250 board file.

Ajay


More information about the U-Boot mailing list