[U-Boot] [PATCH 0/2 v2] No need for parade bridge on peach-pi

With current u-boot-samsung HEAD on a peach-pi the following error is printed: exynos_lcd_power_on: ps8625_init() failed
Which is not surprising given that chip does not exist on these boards.
Changes since v1: * Only change the DTS for peach-pi not the default config. Further configuration changes will be done seperately * Use the approach as suggested by Ajay Kumar to fix compilation without parade support
Sjoerd Simons (2): Exynos5800: The Peach-Pi board does not have a Parade video bridge exynos5420: fix compilation without parade video
arch/arm/dts/exynos5800-peach-pi.dts | 5 ----- arch/arm/include/asm/arch-exynos/system.h | 4 ++++ 2 files changed, 4 insertions(+), 5 deletions(-)

Unlike the Peach-Pit board, there is no parade edp to lvds bridge on the Pi. So drop it from device-tree
Signed-off-by: Sjoerd Simons sjoerd.simons@collabora.co.uk --- Changes since v1: Only modify the DTB
arch/arm/dts/exynos5800-peach-pi.dts | 5 ----- 1 file changed, 5 deletions(-)
diff --git a/arch/arm/dts/exynos5800-peach-pi.dts b/arch/arm/dts/exynos5800-peach-pi.dts index 8aedf8e..2f9d2db 100644 --- a/arch/arm/dts/exynos5800-peach-pi.dts +++ b/arch/arm/dts/exynos5800-peach-pi.dts @@ -63,11 +63,6 @@ reg = <0x20>; compatible = "maxim,max98090-codec"; }; - - edp-lvds-bridge@48 { - compatible = "parade,ps8625"; - reg = <0x48>; - }; };
sound@3830000 {

On 27 November 2014 at 08:08, Sjoerd Simons sjoerd.simons@collabora.co.uk wrote:
Unlike the Peach-Pit board, there is no parade edp to lvds bridge on the Pi. So drop it from device-tree
Signed-off-by: Sjoerd Simons sjoerd.simons@collabora.co.uk
Changes since v1: Only modify the DTB
arch/arm/dts/exynos5800-peach-pi.dts | 5 ----- 1 file changed, 5 deletions(-)
Acked-by: Simon Glass sjg@chromium.org
Tested on snow, pit, pi (display does not yet work on Pi).
Tested-by: Simon Glass sjg@chromium.org
diff --git a/arch/arm/dts/exynos5800-peach-pi.dts b/arch/arm/dts/exynos5800-peach-pi.dts index 8aedf8e..2f9d2db 100644 --- a/arch/arm/dts/exynos5800-peach-pi.dts +++ b/arch/arm/dts/exynos5800-peach-pi.dts @@ -63,11 +63,6 @@ reg = <0x20>; compatible = "maxim,max98090-codec"; };
edp-lvds-bridge@48 {
compatible = "parade,ps8625";
reg = <0x48>;
}; }; sound@3830000 {
-- 2.1.3

Hey Simon,
On Sun, 2014-11-30 at 11:56 -0700, Simon Glass wrote:
On 27 November 2014 at 08:08, Sjoerd Simons sjoerd.simons@collabora.co.uk wrote:
Unlike the Peach-Pit board, there is no parade edp to lvds bridge on the Pi. So drop it from device-tree
Signed-off-by: Sjoerd Simons sjoerd.simons@collabora.co.uk
Changes since v1: Only modify the DTB
arch/arm/dts/exynos5800-peach-pi.dts | 5 ----- 1 file changed, 5 deletions(-)
Acked-by: Simon Glass sjg@chromium.org
Tested on snow, pit, pi (display does not yet work on Pi).
Just to be clear, in your testing does the display not work on Pi? It seems to be ok here (with u-boot starting chainloaded from one of the KERN partitions)

+Akshay
Hi Sjoerd,
On 1 December 2014 at 03:03, Sjoerd Simons sjoerd.simons@collabora.co.uk wrote:
Hey Simon,
On Sun, 2014-11-30 at 11:56 -0700, Simon Glass wrote:
On 27 November 2014 at 08:08, Sjoerd Simons sjoerd.simons@collabora.co.uk wrote:
Unlike the Peach-Pit board, there is no parade edp to lvds bridge on the Pi. So drop it from device-tree
Signed-off-by: Sjoerd Simons sjoerd.simons@collabora.co.uk
Changes since v1: Only modify the DTB
arch/arm/dts/exynos5800-peach-pi.dts | 5 ----- 1 file changed, 5 deletions(-)
Acked-by: Simon Glass sjg@chromium.org
Tested on snow, pit, pi (display does not yet work on Pi).
Just to be clear, in your testing does the display not work on Pi? It seems to be ok here (with u-boot starting chainloaded from one of the KERN partitions)
That's right, not in U-Boot. I think this is because some GPIOs need to be enabled to turn on the backlight etc. Maybe you have an EC which turns these on automatically?
If current mainline is supposed to make the display work on Pi then I need to do some debugging. Please let me know.
Regards, Simon

On Mon, 2014-12-01 at 13:09 -0700, Simon Glass wrote:
+Akshay
Hi Sjoerd,
On 1 December 2014 at 03:03, Sjoerd Simons sjoerd.simons@collabora.co.uk wrote:
Hey Simon,
On Sun, 2014-11-30 at 11:56 -0700, Simon Glass wrote:
On 27 November 2014 at 08:08, Sjoerd Simons sjoerd.simons@collabora.co.uk wrote:
Unlike the Peach-Pit board, there is no parade edp to lvds bridge on the Pi. So drop it from device-tree
Signed-off-by: Sjoerd Simons sjoerd.simons@collabora.co.uk
Changes since v1: Only modify the DTB
arch/arm/dts/exynos5800-peach-pi.dts | 5 ----- 1 file changed, 5 deletions(-)
Acked-by: Simon Glass sjg@chromium.org
Tested on snow, pit, pi (display does not yet work on Pi).
Just to be clear, in your testing does the display not work on Pi? It seems to be ok here (with u-boot starting chainloaded from one of the KERN partitions)
That's right, not in U-Boot. I think this is because some GPIOs need to be enabled to turn on the backlight etc. Maybe you have an EC which turns these on automatically?
If current mainline is supposed to make the display work on Pi then I need to do some debugging. Please let me know.
It does work on my machine, so i was wondering if it's a setup difference. I'm using the chained u-boot method (iotw the standard chromeos u-boot in flash starts main-line u-boot from mmc/SD), which might well mean that the GPIOs you're referring to are still turned on by the first u-boot (which it has to do to show me the unverified boot warning screen)?

Hi Sjoerd,
On 1 December 2014 at 13:25, Sjoerd Simons sjoerd.simons@collabora.co.uk wrote:
On Mon, 2014-12-01 at 13:09 -0700, Simon Glass wrote:
+Akshay
Hi Sjoerd,
On 1 December 2014 at 03:03, Sjoerd Simons sjoerd.simons@collabora.co.uk wrote:
Hey Simon,
On Sun, 2014-11-30 at 11:56 -0700, Simon Glass wrote:
On 27 November 2014 at 08:08, Sjoerd Simons sjoerd.simons@collabora.co.uk wrote:
Unlike the Peach-Pit board, there is no parade edp to lvds bridge on the Pi. So drop it from device-tree
Signed-off-by: Sjoerd Simons sjoerd.simons@collabora.co.uk
Changes since v1: Only modify the DTB
arch/arm/dts/exynos5800-peach-pi.dts | 5 ----- 1 file changed, 5 deletions(-)
Acked-by: Simon Glass sjg@chromium.org
Tested on snow, pit, pi (display does not yet work on Pi).
Just to be clear, in your testing does the display not work on Pi? It seems to be ok here (with u-boot starting chainloaded from one of the KERN partitions)
That's right, not in U-Boot. I think this is because some GPIOs need to be enabled to turn on the backlight etc. Maybe you have an EC which turns these on automatically?
If current mainline is supposed to make the display work on Pi then I need to do some debugging. Please let me know.
It does work on my machine, so i was wondering if it's a setup difference. I'm using the chained u-boot method (iotw the standard chromeos u-boot in flash starts main-line u-boot from mmc/SD), which might well mean that the GPIOs you're referring to are still turned on by the first u-boot (which it has to do to show me the unverified boot warning screen)?
Yes that's right. Maybe Akshay / Ajay have ideas, or otherwise I can add this. I think it is two GPIOs, but it might be TPSCHROME also.
Regards, Simon

Hi All,
On Tue, Dec 2, 2014 at 2:00 AM, Simon Glass sjg@chromium.org wrote:
Hi Sjoerd,
On 1 December 2014 at 13:25, Sjoerd Simons sjoerd.simons@collabora.co.uk wrote:
On Mon, 2014-12-01 at 13:09 -0700, Simon Glass wrote:
+Akshay
Hi Sjoerd,
On 1 December 2014 at 03:03, Sjoerd Simons sjoerd.simons@collabora.co.uk wrote:
Hey Simon,
On Sun, 2014-11-30 at 11:56 -0700, Simon Glass wrote:
On 27 November 2014 at 08:08, Sjoerd Simons sjoerd.simons@collabora.co.uk wrote:
Unlike the Peach-Pit board, there is no parade edp to lvds bridge on the Pi. So drop it from device-tree
Signed-off-by: Sjoerd Simons sjoerd.simons@collabora.co.uk
Changes since v1: Only modify the DTB
arch/arm/dts/exynos5800-peach-pi.dts | 5 ----- 1 file changed, 5 deletions(-)
Acked-by: Simon Glass sjg@chromium.org
Tested on snow, pit, pi (display does not yet work on Pi).
Just to be clear, in your testing does the display not work on Pi? It seems to be ok here (with u-boot starting chainloaded from one of the KERN partitions)
That's right, not in U-Boot. I think this is because some GPIOs need to be enabled to turn on the backlight etc. Maybe you have an EC which turns these on automatically?
If current mainline is supposed to make the display work on Pi then I need to do some debugging. Please let me know.
It does work on my machine, so i was wondering if it's a setup difference. I'm using the chained u-boot method (iotw the standard chromeos u-boot in flash starts main-line u-boot from mmc/SD), which might well mean that the GPIOs you're referring to are still turned on by the first u-boot (which it has to do to show me the unverified boot warning screen)?
Yes that's right. Maybe Akshay / Ajay have ideas, or otherwise I can add this. I think it is two GPIOs, but it might be TPSCHROME also.
Now, I have added support for peach_pi display in u-boot. Kindly check the patches.
Ajay

Hi,
On 5 December 2014 at 07:24, Ajay kumar ajaynumb@gmail.com wrote:
Hi All,
On Tue, Dec 2, 2014 at 2:00 AM, Simon Glass sjg@chromium.org wrote:
Hi Sjoerd,
On 1 December 2014 at 13:25, Sjoerd Simons sjoerd.simons@collabora.co.uk wrote:
On Mon, 2014-12-01 at 13:09 -0700, Simon Glass wrote:
+Akshay
Hi Sjoerd,
On 1 December 2014 at 03:03, Sjoerd Simons sjoerd.simons@collabora.co.uk wrote:
Hey Simon,
On Sun, 2014-11-30 at 11:56 -0700, Simon Glass wrote:
On 27 November 2014 at 08:08, Sjoerd Simons sjoerd.simons@collabora.co.uk wrote: > Unlike the Peach-Pit board, there is no parade edp to lvds bridge on the > Pi. So drop it from device-tree > > Signed-off-by: Sjoerd Simons sjoerd.simons@collabora.co.uk > --- > Changes since v1: Only modify the DTB > > arch/arm/dts/exynos5800-peach-pi.dts | 5 ----- > 1 file changed, 5 deletions(-)
Acked-by: Simon Glass sjg@chromium.org
Tested on snow, pit, pi (display does not yet work on Pi).
Just to be clear, in your testing does the display not work on Pi? It seems to be ok here (with u-boot starting chainloaded from one of the KERN partitions)
That's right, not in U-Boot. I think this is because some GPIOs need to be enabled to turn on the backlight etc. Maybe you have an EC which turns these on automatically?
If current mainline is supposed to make the display work on Pi then I need to do some debugging. Please let me know.
It does work on my machine, so i was wondering if it's a setup difference. I'm using the chained u-boot method (iotw the standard chromeos u-boot in flash starts main-line u-boot from mmc/SD), which might well mean that the GPIOs you're referring to are still turned on by the first u-boot (which it has to do to show me the unverified boot warning screen)?
Yes that's right. Maybe Akshay / Ajay have ideas, or otherwise I can add this. I think it is two GPIOs, but it might be TPSCHROME also.
Now, I have added support for peach_pi display in u-boot. Kindly check the patches.
It seems that these have not been applied. So Pi is not in a working state in mainline.
When can these be applied please?
There is also the rpll_sdiv patch.
I found this when testing later patches.
Regards, Simon

Not all exynos 5420 based devices with an LCD also have a parade LVDS bridge. So make sure compilation doesn't break if CONFIG_LCD is enabled and CONFIG_VIDEO_PARADE is not.
Signed-off-by: Sjoerd Simons sjoerd.simons@collabora.co.uk --- Changes since V1: New patch
arch/arm/include/asm/arch-exynos/system.h | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/arch/arm/include/asm/arch-exynos/system.h b/arch/arm/include/asm/arch-exynos/system.h index 320763f..dd68290 100644 --- a/arch/arm/include/asm/arch-exynos/system.h +++ b/arch/arm/include/asm/arch-exynos/system.h @@ -42,6 +42,10 @@ void set_system_display_ctrl(void); int exynos_lcd_early_init(const void *blob);
/* Initialize the Parade dP<->LVDS bridge if present */ +#ifdef CONFIG_VIDEO_PARADE int parade_init(const void *blob); +#else +static inline int parade_init(const void *blob) { return -1; } +#endif
#endif /* _EXYNOS4_SYSTEM_H */

On 27 November 2014 at 08:08, Sjoerd Simons sjoerd.simons@collabora.co.uk wrote:
Not all exynos 5420 based devices with an LCD also have a parade LVDS bridge. So make sure compilation doesn't break if CONFIG_LCD is enabled and CONFIG_VIDEO_PARADE is not.
Signed-off-by: Sjoerd Simons sjoerd.simons@collabora.co.uk
Changes since V1: New patch
arch/arm/include/asm/arch-exynos/system.h | 4 ++++ 1 file changed, 4 insertions(+)
Acked-by: Simon Glass sjg@chromium.org
Tested on snow, pit, pi (display does not yet work on Pi):
Tested-by: Simon Glass sjg@chromium.org

Dear Sjoerd Simons,
On 28/11/14 00:08, Sjoerd Simons wrote:
Not all exynos 5420 based devices with an LCD also have a parade LVDS bridge. So make sure compilation doesn't break if CONFIG_LCD is enabled and CONFIG_VIDEO_PARADE is not.
Signed-off-by: Sjoerd Simons sjoerd.simons@collabora.co.uk
Changes since V1: New patch
arch/arm/include/asm/arch-exynos/system.h | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/arch/arm/include/asm/arch-exynos/system.h b/arch/arm/include/asm/arch-exynos/system.h index 320763f..dd68290 100644 --- a/arch/arm/include/asm/arch-exynos/system.h +++ b/arch/arm/include/asm/arch-exynos/system.h @@ -42,6 +42,10 @@ void set_system_display_ctrl(void); int exynos_lcd_early_init(const void *blob);
/* Initialize the Parade dP<->LVDS bridge if present */ +#ifdef CONFIG_VIDEO_PARADE int parade_init(const void *blob); +#else +static inline int parade_init(const void *blob) { return -1; } +#endif
Actually, it does not related with this patch.. and I know that you are not an author. But.. I'd like ask you, why parade_init function is in exynos header file? If you are agreed, could you please make new header file? (e.g: include/parade.h)
And I think you missed removing the CONFIG_VIDEO_PARADE at peach-pi.h
Thanks, Minkyu Kang.

Hey Minkyu,
On Mon, 2014-12-01 at 14:24 +0900, Minkyu Kang wrote:
--- a/arch/arm/include/asm/arch-exynos/system.h +++ b/arch/arm/include/asm/arch-exynos/system.h @@ -42,6 +42,10 @@ void set_system_display_ctrl(void); int exynos_lcd_early_init(const void *blob);
/* Initialize the Parade dP<->LVDS bridge if present */ +#ifdef CONFIG_VIDEO_PARADE int parade_init(const void *blob); +#else +static inline int parade_init(const void *blob) { return -1; } +#endif
Actually, it does not related with this patch.. and I know that you are not an author. But.. I'd like ask you, why parade_init function is in exynos header file? If you are agreed, could you please make new header file? (e.g: include/parade.h)
I'm not sure why it's in the exynos header file, it being there surprised me as well. I'm happy to move it around in a next version of the patch though.
And I think you missed removing the CONFIG_VIDEO_PARADE at peach-pi.h
That's on purpose, in the discussion with Simon Glass it became clear that the intention is to start minimizing peach-pi.h (and hopefully make it unnecessary). So i left peach-pi.h untouched for now, in order for a later patchset to clean up the configuration more.

Hi,
On 1 December 2014 at 03:06, Sjoerd Simons sjoerd.simons@collabora.co.uk wrote:
Hey Minkyu,
On Mon, 2014-12-01 at 14:24 +0900, Minkyu Kang wrote:
--- a/arch/arm/include/asm/arch-exynos/system.h +++ b/arch/arm/include/asm/arch-exynos/system.h @@ -42,6 +42,10 @@ void set_system_display_ctrl(void); int exynos_lcd_early_init(const void *blob);
/* Initialize the Parade dP<->LVDS bridge if present */ +#ifdef CONFIG_VIDEO_PARADE int parade_init(const void *blob); +#else +static inline int parade_init(const void *blob) { return -1; } +#endif
Actually, it does not related with this patch.. and I know that you are not an author. But.. I'd like ask you, why parade_init function is in exynos header file? If you are agreed, could you please make new header file? (e.g: include/parade.h)
I'm not sure why it's in the exynos header file, it being there surprised me as well. I'm happy to move it around in a next version of the patch though.
And I think you missed removing the CONFIG_VIDEO_PARADE at peach-pi.h
That's on purpose, in the discussion with Simon Glass it became clear that the intention is to start minimizing peach-pi.h (and hopefully make it unnecessary). So i left peach-pi.h untouched for now, in order for a later patchset to clean up the configuration more.
I'll take a look at this next week. Particularly for Pit and Pi we should be able to use the same config (SDRAM is the only barrier).
Regards, Simon
participants (4)
-
Ajay kumar
-
Minkyu Kang
-
Simon Glass
-
Sjoerd Simons