diff mbox

[U-Boot] i.MX6: nitrogen6x: force HDMI onto IPU0/DI0

Message ID 1377024283-18359-1-git-send-email-eric.nelson@boundarydevices.com
State Awaiting Upstream
Delegated to: Stefano Babic
Headers show

Commit Message

Eric Nelson Aug. 20, 2013, 6:44 p.m. UTC
Our Linux kernel switches the HDMI connector onto IPU0/DI1,
but the U-Boot display driver only supports IPU0/DI0 for the
time being.

Because of this, a soft re-boot will leave the HDMI output
connected to the wrong display port and prevent video from
being displayed.

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
---
 board/boundary/nitrogen6x/nitrogen6x.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Stefano Babic Aug. 21, 2013, 10:33 a.m. UTC | #1
Hi Eric,

On 20/08/2013 20:44, Eric Nelson wrote:
> Our Linux kernel switches the HDMI connector onto IPU0/DI1,
> but the U-Boot display driver only supports IPU0/DI0 for the
> time being.
> 
> Because of this, a soft re-boot will leave the HDMI output
> connected to the wrong display port and prevent video from
> being displayed.
> 
> Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
> ---
>  board/boundary/nitrogen6x/nitrogen6x.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/board/boundary/nitrogen6x/nitrogen6x.c b/board/boundary/nitrogen6x/nitrogen6x.c
> index 79ab449..1419f36 100644
> --- a/board/boundary/nitrogen6x/nitrogen6x.c
> +++ b/board/boundary/nitrogen6x/nitrogen6x.c
> @@ -666,7 +666,8 @@ static void setup_display(void)
>  	writel(reg, &iomux->gpr[2]);
>  
>  	reg = readl(&iomux->gpr[3]);
> -	reg = (reg & ~IOMUXC_GPR3_LVDS0_MUX_CTL_MASK)
> +	reg = (reg & ~(IOMUXC_GPR3_LVDS0_MUX_CTL_MASK
> +			|IOMUXC_GPR3_HDMI_MUX_CTL_MASK))
>  	    | (IOMUXC_GPR3_MUX_SRC_IPU1_DI0
>  	       <<IOMUXC_GPR3_LVDS0_MUX_CTL_OFFSET);
>  	writel(reg, &iomux->gpr[3]);
> 

Applied to u-boot-imx, thanks.

Best regards,
Stefano Babic
diff mbox

Patch

diff --git a/board/boundary/nitrogen6x/nitrogen6x.c b/board/boundary/nitrogen6x/nitrogen6x.c
index 79ab449..1419f36 100644
--- a/board/boundary/nitrogen6x/nitrogen6x.c
+++ b/board/boundary/nitrogen6x/nitrogen6x.c
@@ -666,7 +666,8 @@  static void setup_display(void)
 	writel(reg, &iomux->gpr[2]);
 
 	reg = readl(&iomux->gpr[3]);
-	reg = (reg & ~IOMUXC_GPR3_LVDS0_MUX_CTL_MASK)
+	reg = (reg & ~(IOMUXC_GPR3_LVDS0_MUX_CTL_MASK
+			|IOMUXC_GPR3_HDMI_MUX_CTL_MASK))
 	    | (IOMUXC_GPR3_MUX_SRC_IPU1_DI0
 	       <<IOMUXC_GPR3_LVDS0_MUX_CTL_OFFSET);
 	writel(reg, &iomux->gpr[3]);