Hi Team,
Currently I am using the U-Boot 2009.08 . In order to upgrade the U-Boot to 2014 can I know what are all the modifications need to be done for the LCD to get Enabled.
Thanks & Regards,
C.Himabindu.
Which board and version BSP are you using? About the LCD porting you can refer to https://community.nxp.com/docs/DOC-172312 .
Hi Rita Wang,
I am thankful to your response. I am currently working on uboot version:2014.04(imx6sl) to provide the LCD Support.
My LCD Pins Initialization in arch/arm/include/asm/arch-mx6/mx6sl_pins.h are as follows:
MX6_PAD_LCD_CLK__LCD_CLK = IOMUX_PAD(0x04B4, 0x01AC, 0, 0x0000, 0, 0),
MX6_PAD_LCD_ENABLE__LCD_ENABLE = IOMUX_PAD(0x0518, 0x0210, 0, 0x0000, 0, 0),
MX6_PAD_LCD_HSYNC__LCD_HSYNC = IOMUX_PAD(0x051C, 0x0214, 0, 0x0774, 0, 0),
MX6_PAD_LCD_RESET__LCD_RESET = IOMUX_PAD(0x0520, 0x0218, 0, 0x0000, 0, 0),
MX6_PAD_LCD_VSYNC__LCD_VSYNC = IOMUX_PAD(0x0524, 0x021C, 0, 0x0000, 0, 0),
MX6_PAD_LCD_DAT0__LCD_DAT00 = IOMUX_PAD(0x04B8, 0x01B0, 0, 0x0778, 1, 0),
MX6_PAD_LCD_DAT1__LCD_DAT01 = IOMUX_PAD(0x04BC, 0x01B4, 0, 0x077C, 1, 0),
MX6_PAD_LCD_DAT2__LCD_DAT02 = IOMUX_PAD(0x04E8, 0x01E0, 0, 0x0780, 1, 0),
MX6_PAD_LCD_DAT3__LCD_DAT03 = IOMUX_PAD(0x04FC, 0x01F4, 0, 0x0784, 1, 0),
MX6_PAD_LCD_DAT4__LCD_DAT04 = IOMUX_PAD(0x0500, 0x01F8, 0, 0x0788, 1, 0),
MX6_PAD_LCD_DAT5__LCD_DAT05 = IOMUX_PAD(0x0504, 0x01FC, 0, 0x078C, 1, 0),
MX6_PAD_LCD_DAT6__LCD_DAT06 = IOMUX_PAD(0x0508, 0x0200, 0, 0x0790, 1, 0),
MX6_PAD_LCD_DAT7__LCD_DAT07 = IOMUX_PAD(0x050C, 0x0204, 0, 0x0794, 1, 0),
MX6_PAD_LCD_DAT8__LCD_DAT08 = IOMUX_PAD(0x0510, 0x0208, 0, 0x0798, 1, 0),
MX6_PAD_LCD_DAT9__LCD_DAT09 = IOMUX_PAD(0x0514, 0x020C, 0, 0x079C, 1, 0),
MX6_PAD_LCD_DAT10__LCD_DAT10 = IOMUX_PAD(0x04C0, 0x01B8, 0, 0x07A0, 1, 0),
MX6_PAD_LCD_DAT11__LCD_DAT11 = IOMUX_PAD(0x04C4, 0x01BC, 0, 0x07A4, 1, 0),
MX6_PAD_LCD_DAT12__LCD_DAT12 = IOMUX_PAD(0x04C8, 0x01C0, 0, 0x07A8, 1, 0),
MX6_PAD_LCD_DAT13__LCD_DAT13 = IOMUX_PAD(0x04CC, 0x01C4, 0, 0x07AC, 1, 0),
MX6_PAD_LCD_DAT14__LCD_DAT14 = IOMUX_PAD(0x04D0, 0x01C8, 0, 0x07B0, 1, 0),
MX6_PAD_LCD_DAT15__LCD_DAT15 = IOMUX_PAD(0x04D4, 0x01CC, 0, 0x07B4, 1, 0),
MX6_PAD_LCD_DAT16__LCD_DAT16 = IOMUX_PAD(0x04D8, 0x01D0, 0, 0x07B8, 1, 0),
MX6_PAD_LCD_DAT17__LCD_DAT17 = IOMUX_PAD(0x04DC, 0x01D4, 0, 0x07BC, 1, 0),
In the file board/freescale/mx6slevk/mx6slevk.c :
static iomux_v3_cfg_t const lcd_pads[] = {
MX6_PAD_LCD_CLK__LCD_CLK | MUX_PAD_CTRL(NO_PAD_CTRL),
MX6_PAD_LCD_ENABLE__LCD_ENABLE | MUX_PAD_CTRL(NO_PAD_CTRL),
MX6_PAD_LCD_HSYNC__LCD_HSYNC | MUX_PAD_CTRL(NO_PAD_CTRL),
MX6_PAD_LCD_VSYNC__LCD_VSYNC | MUX_PAD_CTRL(NO_PAD_CTRL),
MX6_PAD_LCD_RESET__LCD_RESET | MUX_PAD_CTRL(NO_PAD_CTRL),
MX6_PAD_LCD_DAT0__LCD_DAT00 | MUX_PAD_CTRL(NO_PAD_CTRL),
MX6_PAD_LCD_DAT1__LCD_DAT01 | MUX_PAD_CTRL(NO_PAD_CTRL),
MX6_PAD_LCD_DAT2__LCD_DAT02 | MUX_PAD_CTRL(NO_PAD_CTRL),
MX6_PAD_LCD_DAT3__LCD_DAT03 | MUX_PAD_CTRL(NO_PAD_CTRL),
MX6_PAD_LCD_DAT4__LCD_DAT04 | MUX_PAD_CTRL(NO_PAD_CTRL),
MX6_PAD_LCD_DAT5__LCD_DAT05 | MUX_PAD_CTRL(NO_PAD_CTRL),
MX6_PAD_LCD_DAT6__LCD_DAT06 | MUX_PAD_CTRL(NO_PAD_CTRL),
MX6_PAD_LCD_DAT7__LCD_DAT07 | MUX_PAD_CTRL(NO_PAD_CTRL),
MX6_PAD_LCD_DAT8__LCD_DAT08 | MUX_PAD_CTRL(NO_PAD_CTRL),
MX6_PAD_LCD_DAT9__LCD_DAT09 | MUX_PAD_CTRL(NO_PAD_CTRL),
MX6_PAD_LCD_DAT10__LCD_DAT10 | MUX_PAD_CTRL(NO_PAD_CTRL),
MX6_PAD_LCD_DAT11__LCD_DAT11 | MUX_PAD_CTRL(NO_PAD_CTRL),
MX6_PAD_LCD_DAT12__LCD_DAT12 | MUX_PAD_CTRL(NO_PAD_CTRL),
MX6_PAD_LCD_DAT13__LCD_DAT13 | MUX_PAD_CTRL(NO_PAD_CTRL),
MX6_PAD_LCD_DAT14__LCD_DAT14 | MUX_PAD_CTRL(NO_PAD_CTRL),
MX6_PAD_LCD_DAT15__LCD_DAT15 | MUX_PAD_CTRL(NO_PAD_CTRL),
MX6_PAD_LCD_DAT16__LCD_DAT16 | MUX_PAD_CTRL(NO_PAD_CTRL),
MX6_PAD_LCD_DAT17__LCD_DAT17 | MUX_PAD_CTRL(NO_PAD_CTRL),
};
static void setup_iomux_lcd(void)
{
imx_iomux_v3_setup_multiple_pads(lcd_pads, ARRAY_SIZE(lcd_pads));
}
In the file common/stdio.c:-
printf("LCD Drv_Init\n");
drv_lcd_init ();
When the function lcd_drv_init is called in the file common/stdio.c assigning of the framebuffer address is being done.
At this point my device stops booting and i am not able to identify the issue. The below Log will show where exactly
the device stops its booting. Kindly help me to move forward.
U-Boot 2014.04 (Sep 16 2017 - 12:02:31)
CPU: Freescale i.MX6SL rev1.2 at 396 MHz
CPU: Temperature 33 C, calibration data: 0x5c25365f
Reset cause: POR
Board: MX6SLEVK
I2C: ready
DRAM: 1 GiB
MMC:
Setup LCD
LCD Power ON----->
LCD BackLight ON---->
FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
MMC Device
*** Warning - bad CRC, using default environment
LCD Drv_Init
LCD Initialization
Initializing LCD frambuffer at 87b00000