Skip to contentSkip to conversation

dm video question

U-Boot Peng Fan 2 participants 4 messages Aug 15, 2016 – Aug 18, 2016

lore
Share & tools
lore

Peng Fan

author
#0 lore raw

Hi Simon,

I am trying to coverting mxsfb.c to support dm.

But met the following issue.
"
mxsfb_lcd_bind: Frame buffer size 200400
Video device 'lcdif at 021c8000' cannot allocate frame buffer memory -ensure the device is set up before relocation "

I add "u-boot, dm-pre-reloc" in dts as the following, but no help.

&lcdif {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_lcdif_dat
		     &pinctrl_lcdif_ctrl
		     &pinctrl_lcdif_reset>;
	display = <&display0>;
	status = "okay";
	u-boot,dm-pre-reloc;

	display0: display {
		bits-per-pixel = <16>;
		bus-width = <24>;
		u-boot,dm-pre-reloc;
		status = "okay";

		display-timings {
			native-mode = <&timing0>;
			u-boot,dm-pre-reloc;
			timing0: timing0 {
			u-boot,dm-pre-reloc;
			clock-frequency = <9200000>;
			hactive = <480>;
			vactive = <272>;
			hfront-porch = <8>;
			hback-porch = <4>;
			hsync-len = <41>;
			vback-porch = <2>;
			vfront-porch = <4>;
			vsync-len = <10>;

			hsync-active = <0>;
			vsync-active = <0>;
			de-active = <1>;
			pixelclk-active = <0>;
			};
		};
	};
};
#1 lore raw

Hi Peng,

Quoted 5 lines · Peng Fan

Hi Simon,

I am trying to coverting mxsfb.c to support dm.

Quoted 8 lines

But met the following issue.
"
mxsfb_lcd_bind: Frame buffer size 200400
Video device 'lcdif at 021c8000' cannot allocate frame buffer memory -ensure the device is set up before relocation "

I add "u-boot, dm-pre-reloc" in dts as the following, but no help.

Can you check that you have that property in each node leading to the root also? You can use fdtdump to display the tree.

Did you add a bind() method to handle the pre-relocaiton setup?

Quoted 30 lines
&lcdif {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_lcdif_dat
                     &pinctrl_lcdif_ctrl
                     &pinctrl_lcdif_reset>;
        display = <&display0>;
        status = "okay";
        u-boot,dm-pre-reloc;

        display0: display {
                bits-per-pixel = <16>;
                bus-width = <24>;
                u-boot,dm-pre-reloc;
                status = "okay";

                display-timings {
                        native-mode = <&timing0>;
                        u-boot,dm-pre-reloc;
                        timing0: timing0 {
                        u-boot,dm-pre-reloc;
                        clock-frequency = <9200000>;
                        hactive = <480>;
                        vactive = <272>;
                        hfront-porch = <8>;
                        hback-porch = <4>;
                        hsync-len = <41>;
                        vback-porch = <2>;
                        vfront-porch = <4>;
                        vsync-len = <10>;
Quoted 8 lines
                        hsync-active = <0>;
                        vsync-active = <0>;
                        de-active = <1>;
                        pixelclk-active = <0>;
                        };
                };
        };
};

Regards,
Simon

author
#2 lore raw

Hi Simon,

Quoted 14 lines · Simon Glass

Hi Peng,

Quoted 11 lines · Peng Fan

Hi Simon,

I am trying to coverting mxsfb.c to support dm.

But met the following issue.
"
mxsfb_lcd_bind: Frame buffer size 200400
Video device 'lcdif at 021c8000' cannot allocate frame buffer memory -ensure the device is set up before relocation "

Quoted 5 lines
Quoted 2 lines

I add "u-boot, dm-pre-reloc" in dts as the following, but no help.

Can you check that you have that property in each node leading to the root also? You can use fdtdump to display the tree.

I did not know that I need to add u-boot,dm-pre-reloc for the nodes in the path of root -> lcdif.

Now I works. Thanks.

Still have a question.
When enabled DM_VIDEO, do you know how to let the screen show a logo, just like what cfb_console supports?

Thanks,
PPeng.

Quoted 44 lines

Did you add a bind() method to handle the pre-relocaiton setup?

Quoted 30 lines
&lcdif {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_lcdif_dat
                     &pinctrl_lcdif_ctrl
                     &pinctrl_lcdif_reset>;
        display = <&display0>;
        status = "okay";
        u-boot,dm-pre-reloc;

        display0: display {
                bits-per-pixel = <16>;
                bus-width = <24>;
                u-boot,dm-pre-reloc;
                status = "okay";

                display-timings {
                        native-mode = <&timing0>;
                        u-boot,dm-pre-reloc;
                        timing0: timing0 {
                        u-boot,dm-pre-reloc;
                        clock-frequency = <9200000>;
                        hactive = <480>;
                        vactive = <272>;
                        hfront-porch = <8>;
                        hback-porch = <4>;
                        hsync-len = <41>;
                        vback-porch = <2>;
                        vfront-porch = <4>;
                        vsync-len = <10>;
Quoted 8 lines
                        hsync-active = <0>;
                        vsync-active = <0>;
                        de-active = <1>;
                        pixelclk-active = <0>;
                        };
                };
        };
};

Regards,
Simon

#3 lore raw

Hi Peng,

Quoted 20 lines · Peng Fan

Hi Simon,

Quoted 17 lines · Simon Glass

Hi Peng,

Quoted 13 lines · Peng Fan

Hi Simon,

I am trying to coverting mxsfb.c to support dm.

But met the following issue.
"
mxsfb_lcd_bind: Frame buffer size 200400
Video device 'lcdif at 021c8000' cannot allocate frame buffer memory -ensure the device is set up before relocation "

I add "u-boot, dm-pre-reloc" in dts as the following, but no help.

Quoted 7 lines
Quoted 2 lines

Can you check that you have that property in each node leading to the root also? You can use fdtdump to display the tree.

I did not know that I need to add u-boot,dm-pre-reloc for the nodes in the path of root -> lcdif.

Now I works. Thanks.

Great! If you have time you could create a little doc/driver-model/video-howto.txt with this information.

Quoted 4 lines

Still have a question.
When enabled DM_VIDEO, do you know how to let the screen show a logo, just like what cfb_console supports?

That is not implemented yet. But if you can move over the code and tidy it, it would be a great feature to have.

[..]

Regards,
Simon