cancel
Showing results for 
Search instead for 
Did you mean: 

Splashscreen off between u-boot and kernel STM32MP1

bbou
Associate

Hi,

I am using an STM32MP157_SOM interfaced with an LCD-OLinuXino-7TS screen. I have activated the splash screen for U-Boot and psplash in the kernel. The U-Boot splash screen works correctly. However, after the 'Starting kernel...' message, the screen goes black until the psplash is launched (17 seconds with the splash screen). I have included parts of the DTS for U-Boot and the kernel. Is there a way to keep the U-Boot screen displayed until the psplash launches? 

LCD power enable and backlight stay enabled.

 

u-boot dts : 

backlight: backlight {
compatible = "gpio-backlight";
gpios = <&gpiod 13 GPIO_ACTIVE_LOW>;
default-on;
status = "okay";
power-supply = <&vdd>;
};

panel-rgb@0 {
compatible = "simple-panel";
backlight = <&backlight>;

reset-gpios = <&gpioa 14 GPIO_ACTIVE_HIGH>;
enable-gpios = <&gpiof 13 GPIO_ACTIVE_HIGH>;
status = "okay";
port {
lcd_panel_in: endpoint {
remote-endpoint = <&lcd_display_out>;
};
};
display-timings {
timing@0 {
clock-frequency = <33300000>;//OK
hsync-len = <20>;
hback-porch = <26>;
hactive = <800>;
hfront-porch = <210>;
hsync-active = <0>;
vsync-active = <0>;
vsync-len = <10>;
vback-porch = <13>;
vactive = <480>;
vfront-porch = <22>;
de-active = <1>;
pixelclk-active = <0>;
};
};

};
 
 
&ltdc {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&ltdc_pins_b>;
pinctrl-1 = <&ltdc_sleep_pins_b>;
status = "okay";
port {
lcd_display_out: endpoint {
remote-endpoint = <&lcd_panel_in>;
};
};
};
 

 

kernel dts : 


display_bl: display-bl {
        compatible = "pwm-backlight";
        status = "okay";
pwms = <&pwm4 1 500000 PWM_POLARITY_INVERTED>;
        brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
        default-brightness-level = <50>;
power-supply = <&vdd>;
    };

panel {
compatible = "olimex,lcd-olinuxino-7";
status = "okay";
backlight = <&display_bl>;
reset-gpios = <&gpioa 14 GPIO_ACTIVE_HIGH>;
        enable-gpios = <&gpiof 13 GPIO_ACTIVE_HIGH>;
port {
lcd_panel_in: endpoint {
remote-endpoint = <&lcd_display_out>;
};
};
};
 
&ltdc {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&ltdc_pins_b>;
pinctrl-1 = <&ltdc_sleep_pins_b>;
status = "okay";
port {
lcd_display_out: endpoint {
remote-endpoint = <&lcd_panel_in>;
};
};
};
 
Thanks,
1 REPLY 1
bbou
Associate

I checked the LCD clock. The clock is disabled after the 'starting kernel...' Is there a way to maintain this clock?