[U-Boot] [PATCH v3 1/2] mx6sabresd: Allow probing HSYNC, VSYNC and DISP_CLK signals

From: Fabio Estevam fabio.estevam@freescale.com
HSYNC, VSYNC and DISP_CLK are very useful display signals for debugging.
Configure them as active pins.
Signed-off-by: Fabio Estevam fabio.estevam@freescale.com --- Changes since v2: - Fix typo in HSYNC Changes since v1: - Add a comment in the code explaining that the purpose of configuring these pins are for debugging
board/freescale/mx6sabresd/mx6sabresd.c | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/board/freescale/mx6sabresd/mx6sabresd.c b/board/freescale/mx6sabresd/mx6sabresd.c index 851cbe9..1d5bba6 100644 --- a/board/freescale/mx6sabresd/mx6sabresd.c +++ b/board/freescale/mx6sabresd/mx6sabresd.c @@ -135,6 +135,12 @@ static void setup_spi(void) imx_iomux_v3_setup_multiple_pads(ecspi1_pads, ARRAY_SIZE(ecspi1_pads)); }
+iomux_v3_cfg_t const di0_pads[] = { + MX6_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK, /* DISP0_CLK */ + MX6_PAD_DI0_PIN2__IPU1_DI0_PIN02, /* DISP0_HSYNC */ + MX6_PAD_DI0_PIN3__IPU1_DI0_PIN03, /* DISP0_VSYNC */ +}; + static void setup_iomux_uart(void) { imx_iomux_v3_setup_multiple_pads(uart1_pads, ARRAY_SIZE(uart1_pads)); @@ -386,6 +392,9 @@ static void setup_display(void) struct iomuxc *iomux = (struct iomuxc *)IOMUXC_BASE_ADDR; int reg;
+ /* Setup HSYNC, VSYNC, DISP_CLK for debugging purposes */ + imx_iomux_v3_setup_multiple_pads(di0_pads, ARRAY_SIZE(di0_pads)); + enable_ipu_clock(); imx_setup_hdmi();

From: Fabio Estevam fabio.estevam@freescale.com
mx6sabresd boards have a 18-bit LVDS data width and the correct color format is RGB666.
Suggested-by: Liu Ying Ying.Liu@freescale.com Signed-off-by: Fabio Estevam fabio.estevam@freescale.com --- Changes since v2: - None Changes since v1: - None
board/freescale/mx6sabresd/mx6sabresd.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/board/freescale/mx6sabresd/mx6sabresd.c b/board/freescale/mx6sabresd/mx6sabresd.c index 1d5bba6..55e7961 100644 --- a/board/freescale/mx6sabresd/mx6sabresd.c +++ b/board/freescale/mx6sabresd/mx6sabresd.c @@ -294,15 +294,15 @@ static void enable_lvds(struct display_info_t const *dev) struct iomuxc *iomux = (struct iomuxc *) IOMUXC_BASE_ADDR; u32 reg = readl(&iomux->gpr[2]); - reg |= IOMUXC_GPR2_DATA_WIDTH_CH0_24BIT | - IOMUXC_GPR2_DATA_WIDTH_CH1_24BIT; + reg |= IOMUXC_GPR2_DATA_WIDTH_CH0_18BIT | + IOMUXC_GPR2_DATA_WIDTH_CH1_18BIT; writel(reg, &iomux->gpr[2]); }
static struct display_info_t const displays[] = {{ .bus = -1, .addr = 0, - .pixfmt = IPU_PIX_FMT_LVDS666, + .pixfmt = IPU_PIX_FMT_RGB666, .detect = NULL, .enable = enable_lvds, .mode = {

On 04/12/2013 04:08, Fabio Estevam wrote:
From: Fabio Estevam fabio.estevam@freescale.com
mx6sabresd boards have a 18-bit LVDS data width and the correct color format is RGB666.
Suggested-by: Liu Ying Ying.Liu@freescale.com Signed-off-by: Fabio Estevam fabio.estevam@freescale.com
Applied to u-boot-imx, thanks.
Best regards, Stefano Babic

On 04/12/2013 04:08, Fabio Estevam wrote:
From: Fabio Estevam fabio.estevam@freescale.com
HSYNC, VSYNC and DISP_CLK are very useful display signals for debugging.
Configure them as active pins.
Signed-off-by: Fabio Estevam fabio.estevam@freescale.com
Applied to u-boot-imx, thanks.
Best regards, Stefano Babic
participants (2)
-
Fabio Estevam
-
Stefano Babic