Please provide an Example for simple-framebuffer on imx8qxp

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Please provide an Example for simple-framebuffer on imx8qxp

1,989 次查看
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 项奖励
6 回复数

1,894 次查看
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 项奖励

1,970 次查看
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi

 

Please try this patch on i.mx8mq

0 项奖励

1,899 次查看
martin_schmiede
Contributor III

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

0 项奖励

1,902 次查看
martin_schmiede
Contributor III

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

0 项奖励

1,978 次查看
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 项奖励

1,618 次查看
afirago
Contributor I

Hi,

Was this patch implemented?

Thanks!

0 项奖励