[U-Boot] dm video question

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@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>; }; }; }; };

Hi Peng,
On 15 August 2016 at 04:05, Peng Fan van.freenix@gmail.com wrote:
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@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?
&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>; }; }; };
};
Regards, Simon

Hi Simon,
On Tue, Aug 16, 2016 at 10:16:00PM -0600, Simon Glass wrote:
Hi Peng,
On 15 August 2016 at 04:05, Peng Fan van.freenix@gmail.com wrote:
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@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.
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.
Did you add a bind() method to handle the pre-relocaiton setup?
&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>; }; }; };
};
Regards, Simon

Hi Peng,
On 18 August 2016 at 00:19, Peng Fan van.freenix@gmail.com wrote:
Hi Simon,
On Tue, Aug 16, 2016 at 10:16:00PM -0600, Simon Glass wrote:
Hi Peng,
On 15 August 2016 at 04:05, Peng Fan van.freenix@gmail.com wrote:
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@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.
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.
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
participants (2)
-
Peng Fan
-
Simon Glass