Hi all,
I use latest Processor SDK Linux v06.01: u-boot-2019.01+gitAUTOINC+029e4c009a-g029e4c009a.
Currently I am trying to add lcd driver to u-boot source code and parse a simple image as splash screen on my display. The board I use is basically BBB + LCD display (Ampire).
I've used the following thread as reference:
https://e2e.ti.com/support/processors/f/791/t/217383
I've added CONFIG_LCD_TCM to am335x_evm.h in order to add the driver/lcd sources to u-boot image & to the u-boot build. The lcd driver is successfully built within u-boot source code. I've added the following calls in board.c file (in int board_init(void) function) in order to init the display and add the splash screen:
//Request lcd on gpio 3,18
gpio_request(GPIO_LCD_ON, "lcd_on");
udelay(1000);
//Request backlight gpio 3,17
gpio_request(GPIO_BACKLIGHT, "backlight");
gpio_direction_output(GPIO_BACKLIGHT, 0);
/*Initialize LCD*/
Lcd_Init();
udelay(1000);
gpio_direction_output(GPIO_LCD_ON, 1);
udelay(1000);
However I only get the backlight enabled, but display does not seem to be properly initialized (NO SPLASH SCREEN on the display).
I also tried adding the driver to am335x.dtsi:
lcdc: lcdc@4830e000 {
compatible = "ti,lcd_tcm"; //this is my modification
reg = <0x4830e000 0x1000>;
and then in am335x-boneblack.dts
&lcdc {
status = "okay";
}
Also modified the rasterDisplay.c from the above sources by adding:
/*dummy priv_data declaration*/
struct lcd_tcm_priv {
unsigned long int regs;
};
#if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)
static const struct udevice_id lcd_tcm_ids[] = {
{.compatible = "ti,lcd_tcm"},
{}
};
U_BOOT_DRIVER(rasterDisplay) = {
.name = "rasterDisplay",
.id = UCLASS_TCM, //this was
.of_match = "lcd_tcm_ids",
.probe = "lcd_tcm_probe",
.priv_auto_alloc_size = sizeof(struct lcd_tcm_priv),
};
and also a simple probe function:
/*
**dummy LCD probe function, which just calls LcdInit();
*/
static int lcd_tcm_probe (struct udevice *dev)
{
struct lcd_tcm_priv *priv = dev_get_priv(dev);
Lcd_Init();
return 0;
};
to try and bind the rasterDisplay.c to the dts file. But after these modifications the u-boot got stuck at: "Trying to boot from MMC1".
Can you please advise if I am missing something?
Thanks and regards.