How to show splash screen instead show booting output

Hi all!

Now, finally, I’m able to integrate the st7789v “staging” driver directly into the kernel 4.9 (the kernel where the driver already works, as module). For the others that have the same problem with this driver, in this version of kernel, this is the part involved with this driver, in my devicetree:

&iomuxc {	
	pinctrl_disp_gpio: disp_gpio_muxgrp {
		fsl,pins = <
			MX7D_PAD_ECSPI2_SS0__GPIO4_IO23      0x14  // DIS_RST   @ SODIMM 65
			MX7D_PAD_ENET1_RGMII_RD2__GPIO7_IO2  0x14  // DIS_D/CX  @ SODIMM 63
		>;
	};
};

&ecspi3 {
	status = "okay";
	
	mcp2515: can@0 {
		compatible = "microchip,mcp2515";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_can_int>;
		reg = <0>;
		clocks = <&clk16m>;
		interrupt-parent = <&gpio5>;
		interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
		spi-max-frequency = <10000000>;
		status = "disabled";
	};

	spidev0: spidev@0 {
		compatible = "toradex,evalspi";
		reg = <0>;
		spi-max-frequency = <23000000>;
		status = "disabled";
	};

	display: display@0{
		compatible = "sitronix,st7789v";
	
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_disp_gpio>;
		
		reg = <0>;                                   // ECSPI3 has only one slave select
		spi-max-frequency = <24000000>;              // 48MHz
		buswidth = <8>;
		
		reset-gpios = <&gpio4 23 GPIO_ACTIVE_HIGH>;  // SODIMM pin 65
		dc-gpios = <&gpio7 2 GPIO_ACTIVE_HIGH>;      // SODIMM pin 63
		
		width = <240>;
		height = <320>;
		rotate = <270>;                              // Rotate to landscape
		
		invert = <1>;              
		
		debug = <0x4000000>;                         // Print init commands to the kernel log

		status = "okay";				
	};
};

For the moment I integrated this part directly in imx7d-colibri-emmc-eval-v3.dts. Fort he moment, I also commented the same pins (that are in use) in imx7-colibri.dtsi, and, consequently, I commented ecspi3 in imx7-colibri-aster.dtsi (my devicetree is imx7d-colibri-emmc-eval-v3.dtb).

In this way I’m able to see the two penguins on the display!

Then I follow this instructions:

I create the boot logo with the the SAME dimension of the display: 320x240 (if I follow the “danger box”, and created an image 291x211, I just see a left and a bottom border, so I don’t really understand this box).

I leave the “framebuffer console support” in menuconfig, if I disabled this, I’m not able to see the splash screen.

Thanks to @emmaperea , to avoid the boot prints at the bottom, under my splash screen I change the “setup” u-boot env variable with:

Colibri iMX7 # print setup
setup=setenv setupargs console=null console=${console},${baudrate}n8 ${memargs} consoleblank=0
Colibri iMX7 # 

Then I’m finally able to see my splash screen!

The only problem is that I see the colors inverted (for example blue, instead of orange), also if I add inverted parameters in devicetree: it seems that this parameter is totally ignored. I’m investigating about this.

So, also for me, this ticket could be considered as solved, for kernel 5.4 and the drm part for st7789v driver, I continues the discussion on this other ticket:

Thank you very much @emmaperea for your support!

Regards, Valerio