This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DRA726: Vision SDK Linux: /dev/fb0

Part Number: DRA726


Hi,expert, 

My customer has a requirement, They use the fb0 to display when upgrading the system. 

In our VISION-SDK, I have checked /dev/fb0 node, It's not exist. I have checked the kernel. and enable the DISPLAY_ON_A15_LINUX. Also in dtb  enable the DSS  . The result is same

+++ b/drivers/gpu/drm/omapdrm/omap_drv.c
@@ -34,7 +34,7 @@
#define DRIVER_MINOR 0
#define DRIVER_PATCHLEVEL 0

-#define DISPLAY_ON_A15_LINUX 0
+#define DISPLAY_ON_A15_LINUX 1

+++ b/arch/arm/boot/dts/dra72-evm-infoadas.dts
@@ -24,10 +24,7 @@ DISABLE_COMPLETE(i2c5);
DISABLE_COMPLETE(wdt2);
DISABLE_COMPLETE(vpe);
DISABLE_COMPLETE(ocmcram1);
-DISABLE_COMPLETE(hdmi);
-DISABLE_COMPLETE(hdmi0);
-DISABLE_COMPLETE(dss);
-DISABLE_COMPLETE(dispc);
+

My questions as below: 

1. Can I use framebuffer in VSDK ?

2. If the answer is yes, how to use generate the node and using it  when the display controlled by linux ?

3. In VSDK, We use vDRM to display. I know we use /dev/dri/card0 to display, Can we use this node to replace the fb0 node?

Thanks & Regards,

Fredy

  • Hi Fredy,

    I don't know the answers to your questions. As display is controlled from M4 not sure if enabling framebuffer device is possible or not.

    Along with DISPLAY_ON_A15_LINUX change you need to revert one commit on infoadas-kernel

    a0735426f874209214170dc04e7f156c444aa0e3

    Please have a look at above commit. Here in dev_load() function, after omap_gem_init(), the function is returning with below

               drm_mode_config_init(dev);

               dev_set_drvdata(dev->dev, dev);

               return 0;

    so it misses 

    priv->fbdev = omap_fbdev_init(dev); 

    so please revert this commit and give a try and check if you can see /dev/fb0

    Thanks

    Ram

    drm_mode_config_init(dev);
    756 dev_set_drvdata(dev->dev, dev);
    757 return 0;