Please provide an Example for simple-framebuffer on imx8qxp

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Please provide an Example for simple-framebuffer on imx8qxp

2,042 Views
martin_schmiede
Contributor III

I have the goal to achieve a FlickerFreeBoot.
A good way to get there seams the simple-framebuffer support in linux.
Using the frame buffer initialized from u-boot, until drm is fully in charge.

My first try, see devictree fragment below, doesn't work.

(u-boot starts and the Display show the Logo but goes black during switch to Linux,
2 seconds later goes on showing the Linux Logo)

Could somebody provide me an example for a working config?

 

chosen {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		bootargs = "console=ttyLP1,115200 earlycon";
		stdout-path = &lpuart1;
		
		simplefb_lvds0: framebuffer-lvds0 {
			compatible = "amlogic,simple-framebuffer",
				     "simple-framebuffer";
			reg = <0 0xbf700000 0 0xa00000>;
			width = <1280>;
			height = <800>;
			stride = <5120>;
			format = "x8r8g8b8";
			power-supply = <&reg_12v0>;
			power-domains = <&pd IMX_SC_R_LVDS_0>,
				<&pd IMX_SC_R_LVDS_1>,
				<&pd IMX_SC_R_GPU_0_PID0>,
				<&pd IMX_SC_R_DC_0>,
				<&pd IMX_SC_R_DC_0_PLL_0>,
				<&pd IMX_SC_R_DC_0_PLL_1>,
				<&pd IMX_SC_R_DC_0_VIDEO0>,
				<&pd IMX_SC_R_GPU_0_PID0>;
			clocks = <&clk IMX_SC_R_LVDS_0 IMX_SC_PM_CLK_MISC2>,
				<&clk IMX_SC_R_LVDS_0 IMX_SC_PM_CLK_BYPASS>,
				<&clk IMX_SC_R_LVDS_1 IMX_SC_PM_CLK_MISC2>,
				<&clk IMX_SC_R_LVDS_1 IMX_SC_PM_CLK_BYPASS>,
				<&clk IMX_SC_R_LVDS_0 IMX_SC_PM_CLK_MISC3>,
				<&clk IMX_SC_R_GPU_0_PID0 IMX_SC_PM_CLK_PER>,
				<&clk IMX_SC_R_GPU_0_PID0 IMX_SC_PM_CLK_MISC>,
				<&clk IMX_SC_R_DC_0_PLL_0 IMX_SC_PM_CLK_PLL>,
				<&clk IMX_SC_R_DC_0_PLL_1 IMX_SC_PM_CLK_PLL>,
				<&clk IMX_SC_R_DC_0_VIDEO0 IMX_SC_PM_CLK_BYPASS>,
				<&clk IMX_SC_R_DC_0 IMX_SC_PM_CLK_MISC0>,
				<&clk IMX_SC_R_DC_0 IMX_SC_PM_CLK_MISC1>,
				<&clk IMX_SC_R_DC_0 IMX_SC_PM_CLK_MISC0>,
			 	<&clk IMX_SC_R_DC_0 IMX_SC_PM_CLK_MISC1>,
				<&dc0_cfg_clk>,
			 	<&dc0_axi_ext_clk>,
				<&dc0_disp_lpcg 0>,
				<&dc0_prg8_lpcg 0>,
				<&dc0_prg8_lpcg 1>,
				<&dc0_prg7_lpcg 0>,
				<&dc0_prg7_lpcg 1>,
				<&dc0_prg6_lpcg 0>,
				<&dc0_prg6_lpcg 1>,
				<&dc0_prg5_lpcg 0>,
				<&dc0_prg5_lpcg 1>,
				<&dc0_prg4_lpcg 0>,
				<&dc0_prg4_lpcg 1>,
				<&dc0_prg3_lpcg 0>,
				<&dc0_prg3_lpcg 1>,
				<&dc0_prg2_lpcg 0>,
				<&dc0_prg2_lpcg 1>,
				<&dc0_prg1_lpcg 0>,
				<&dc0_prg1_lpcg 1>,
				<&dc0_prg0_lpcg 0>,
				<&dc0_prg0_lpcg 1>,
			 	<&dc0_rtram0_lpcg 0>,
				<&dc0_rtram0_lpcg 1>,
				<&dc0_rtram1_lpcg 0>,
				<&dc0_rtram1_lpcg 1>,
				<&dc0_dpr0_lpcg 0>,
				<&dc0_dpr0_lpcg 1>,
				<&dc0_dpr1_lpcg 0>,
				<&dc0_dpr1_lpcg 1>,
				<&dc0_cfg_clk>,
			 	<&dc0_axi_ext_clk>;
			status = "okay";
		};

	};
fb_reserved: fb_reserved@bf700000 {
	reg = <0 0xbf700000 0 0xa00000>;
	no-map;
};

 

I am working on "imx kernel 5.4.47" and "imx u-boot 2020.04"

0 Kudos
6 Replies

1,947 Views
martin_schmiede
Contributor III

My u-boot is running and showing a logo, that's not the problem.
I'm searching for an example for simple-framebuffer support in Linux.

0 Kudos

2,023 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi

 

Please try this patch on i.mx8mq

0 Kudos

1,952 Views
martin_schmiede
Contributor III

I am not sure what exactly you patch do and how it is related to my question?

0 Kudos

1,955 Views
martin_schmiede
Contributor III

I have problems applying your patch, can you tell me what u-boot version you used.

0 Kudos

2,031 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi

 

I will try to generate a patch to support this and update here later.

The idea is transfer fb io from uboot to kernel with cmdline, and using this to display uboot logo before linux logo shown.

 

BR

Zhiming

0 Kudos

1,671 Views
afirago
Contributor I

Hi,

Was this patch implemented?

Thanks!

0 Kudos