We are having some issues with the display settings in the device tree not being set. I am seeing the same issue on our imx53 based board and on the imx53-qsb eval board (formally LOCO).
Basically when I check settings with fbset, they are not what's in the dts.
For example here is the eval board dts...
display@di0 {
compatible = "fsl,imx-parallel-display";
crtcs = <&ipu 0>;
interface-pix-fmt = "rgb565";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ipu_disp0_1>;
status = "disabled";
display-timings {
claawvga {
native-mode;
clock-frequency = <27000000>;
hactive = <800>;
vactive = <480>;
hback-porch = <40>;
hfront-porch = <60>;
vback-porch = <10>;
vfront-porch = <10>;
hsync-len = <20>;
vsync-len = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
};
};
And here is fbset output...
root@freescale ~$ fbset
mode "1024x768"
geometry 1024 768 1024 768 16
timings 0 0 0 0 0 0 0
accel true
rgba 5/11,6/5,5/0,0/0
endmode
As you can see the setting are not correct and the timings are all zero's.
Here's the relevant sys.log excerpt...
imx-drm imx-drm: No connectors reported connected with modes
[drm] Cannot find any crtc or sizes - going 1024x768
Console: switching to colour frame buffer device 128x48
imx-drm imx-drm: fb0: frame buffer device
imx-drm imx-drm: registered panic notifier
Our custom board behaves about the same way with similar sys.log messages.
The eval board display has a bunch of lines. Our board seems a bit better with just the colors being off. Presumably because the timings are all zero's. I'm also seeing the same issue on our mx51 based system.
I was really hoping the eval board was going to work with the latest kernel since we are in the middle of upgrading also. Am I missing something? Any help would be greatly appreciated as to why the dts display settings are not being set.
Hi,
Comparing with this example I found:
disp1: display@disp1 {
compatible = "fsl,imx-parallel-display";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_disp1_1>;
crtcs = <&ipu 1>;
interface-pix-fmt = "rgb24";
status = "okay";
display-timings {
tx14d11vm1cpd {
clock-frequency = <5847953>;
hactive = <320>;
vactive = <240>;
hfront-porch = <30>;
hback-porch = <30>;
hsync-len = <5>;
vback-porch = <5>;
vfront-porch = <6>;
vsync-len = <2>;
pixelclk-active = <1>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
};
};
};
I noticed that you are not enabling the device. The status is disabled.
Can you try changing that property?
/Alejandro
Hi Alejandro,
I set the status to ok after I posted my initial question, but it did not solve the issue.
What solved the color issue in our case was to set interface-pix-fmt = "bgr666".
fbset still reports all zero's for timings though, even though they are ok internally. Looks like the DRM doesn't report it.
Hi,
I found this discussion in linux-arm-kernel
http://lists.infradead.org/pipermail/linux-arm-kernel/2013-June/180781.html
DRM doesn't provide full information via fbdev - its fbdev is just a
compatibility later nothing more.
/Alejandro