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.

DM8168 EVM with RDK - open /dev/fb0 fiailed

Hello,

 

I am trying to access /dev/fb0 on DM8168 EVM + RDK v01.01.00.04

I followed the steps in the quick guide to setup /dev/fb0:

./init.sh

./load.sh

 

After this, I saw /dev/fb0 was created, and I tried fbset -s

But it said open /dev/fb0 failed. Do I missed something?

 

I also tried in RDK v01.05.00.08, and it returned the same error.

 

Here is the output:


root@dvr:/opt/dvr_rdk/ti816x-2# ./init.sh
numid=1,iface=MIXER,name='PCM Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=127,step=0
  : values=127,127
  | dBscale-min=-63.50dB,step=0.50dB,mute=0
 [c6xdsp ] Remote Debug Shared Memory @ 0xbff00000
 [m3video] Remote Debug Shared Memory @ 0xbff05020
 [m3vpss ] Remote Debug Shared Memory @ 0xbff0a040
SysLink version : 2.00.00.78
SysLink module created on Date:Aug 31 2011 Time:00:11:15
Trace enabled
Trace SetFailureReason enabled
 Setting L3 bandwidth regulator for [HDVICP0 ] to [press=[1,0] BW=2000, WM Cycles=4000]
 Setting L3 bandwidth regulator for [HDVICP1 ] to [press=[1,0] BW=2000, WM Cycles=4000]
 Setting L3 bandwidth regulator for [HDVICP2 ] to [press=[1,0] BW=2000, WM Cycles=4000]
root@dvr:/opt/dvr_rdk/ti816x-2# ./load.sh
Attached to slave procId 2.
Loaded file ../firmware/dvr_rdk_fw_m3vpss.xem3 on slave procId 2.
Started slave procId 2.
After Ipc_loadcallback status [0x00000000]
After Ipc_startcallback status [0x097d2000]
 [m3vpss ] notify_attach  rtnVal  0
 [m3vpss ] initProxyServer  rtnVal  0
Attached to slave procId 1.
 [m3vpss ]  0: SYSTEM  : System Common Init in progress !!!
 [m3vpss ]  0: SYSTEM: IPC init in progress !!!
 [m3vpss ]  0: SYSTEM: Attaching to [HOST] ...
 [m3vpss ]  1000: SYSTEM: Attaching to [HOST] ...
 [m3vpss ]  1001: SYSTEM: Attaching to [HOST] ... SUCCESS !!!
 [m3vpss ]  1002: SYSTEM: Attaching to [VIDEO-M3] ...
Loaded file ../firmware/dvr_rdk_fw_m3video.xem3 on slave procId 1.
Started slave procId 1.
After Ipc_loadcallback status [0x00000000]
 [m3video]  0: SYSTEM  : System Common Init in progress !!!
 [m3vpss ]  2002: SYSTEM: Attaching to [VIDEO-M3] ...
After Ipc_startcallback status [0x00000000]
 [m3video]  0: SYSTEM: IPC init in progress !!!
 [c6xdsp ] Remote Debug Shared Memory @ 0xbff00000
 [m3video] Remote Debug Shared Memory @ 0xbff05020
 [m3vpss ] Remote Debug Shared Memory @ 0xbff0a040
 [m3video]  0: SYSTEM: Attaching to [HOST] ...
 [m3video]  1000: SYSTEM: Attaching to [HOST] ...
 [m3video]  1002: SYSTEM: Attaching to [HOST] ... SUCCESS !!!
 [m3video]  1002: SYSTEM: Attaching to [VPSS-M3] ...
 [m3vpss ]  3002: SYSTEM: Attaching to [VIDEO-M3] ...
 [m3video]  2002: SYSTEM: Attaching to [VPSS-M3] ...
 [m3vpss ]  4002: SYSTEM: Attaching to [VIDEO-M3] ...
 [m3video]  2833: SYSTEM: Attaching to [VPSS-M3] ... SUCCESS !!!
 [m3vpss ]  4002: SYSTEM: Attaching to [VIDEO-M3] ... SUCCESS !!!
 [m3video]  2833: SYSTEM: Opening MsgQ Heap [IPC_MSGQ_MSG_HEAP] ...
 [m3vpss ]  4002: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP] ...
 [m3vpss ]  4003: SYSTEM: Creating MsgQ [VPSS-M3_MSGQ] ...
 [m3vpss ]  4003: SYSTEM: Creating MsgQ [VPSS-M3_ACK_MSGQ] ...
 [m3vpss ]  4004: SYSTEM: Notify register to [HOST] line 0, event 12 ...
 [m3vpss ]  4005: SYSTEM: Notify register to [VIDEO-M3] line 0, event 12 ...
 [m3vpss ]  4005: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_0] in region 2 ...
 [m3vpss ]  4005: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_0] in region 2 ...
 [m3vpss ]  4005: SYSTEM: ListElem Shared Addr = 0x8cf80180
 [m3vpss ]  4008: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_1] in region 2 ...
 [m3vpss ]  4008: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_1] in region 2 ...
 [m3vpss ]  4008: SYSTEM: ListElem Shared Addr = 0x8cf83180
 [m3vpss ]  4013: SYSTEM: IPC init DONE !!!
 [m3vpss ] SrID:3    SrBase:a0000000,SrLen:512753664
 [m3vpss ] SrID:1    SrBase:88000000,SrLen:83361792
 [m3vpss ]  4027: SYSTEM  : System Common Init Done !!!
 [m3vpss ]  4027: SYSTEM  : System VPSS Init in progress !!!
 [m3vpss ] === HDVPSS Clocks are enabled ===
 [m3vpss ] === HDVPSS is fully functional ===
 [m3vpss ] === HDVPSS module is not in standby ===
 [m3vpss ] === I2C1 Clk is active ===
 [m3vpss ]  4032: SYSTEM : HDVPSS Drivers Version: HDVPSS_01_00_01_28
 [m3vpss ]  I2C1: Passed for address 0x20 !!!
 [m3video]  3833: SYSTEM: Opening MsgQ Heap [IPC_MSGQ_MSG_HEAP] ...
 [m3vpss ]  I2C1: Passed for address 0x21 !!!
 [m3video]  3833: SYSTEM: Creating MsgQ [VIDEO-M3_MSGQ] ...
 [m3video]  3833: SYSTEM: Creating MsgQ [VIDEO-M3_ACK_MSGQ] ...
 [m3vpss ]  I2C1: Passed for address 0x23 !!!
 [m3video]  3835: SYSTEM: Notify register to [HOST] line 0, event 12 ...
 [m3video]  3835: SYSTEM: Notify register to [VPSS-M3] line 0, event 12 ...
 [m3video]  3835: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_0] in region 2 ...
 [m3video]  3836: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_0] in region 2 ...
 [m3video]  3836: SYSTEM: ListElem Shared Addr = 0x8cf86180
 [m3video]  3838: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_1] in region 2 ...
 [m3video]  3838: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_1] in region 2 ...
 [m3video]  3838: SYSTEM: ListElem Shared Addr = 0x8cf89180
 [m3video]  3847: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_24] in region 0 ...
 [m3video]  3847: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_24] in region 0 ...
 [m3video]  3848: SYSTEM: ListElem Shared Addr = 0xbeb03d00
 [m3video]  3850: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_25] in region 0 ...
 [m3video]  3850: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_25] in region 0 ...
 [m3video]  3850: SYSTEM: ListElem Shared Addr = 0xbeb12880
 [m3video]  3852: SYSTEM: IPC init DONE !!!
 [m3video] SrID:3    SrBase:a0000000,SrLen:512753664
 [m3video] SrID:1    SrBase:88000000,SrLen:83361792
 [m3video]  3866: SYSTEM  : System Common Init Done !!!
 [m3video]  3866: SYSTEM  : System Video Init in progress !!!
 [m3video]  3866: SYSTEM  : System Video Init Done !!!
 [m3video] Entered PRCM for IVHD[0]
 [m3video] Exited PRCM for IVHD[0]
 [m3video] Entered PRCM for IVHD[1]
 [m3video] Exited PRCM for IVHD[1]
 [m3video] Entered PRCM for IVHD[2]
 [m3video] Exited PRCM for IVHD[2]
 [m3video]  3868: SYSTEM  : Initializing Links !!!
 [m3video]  3868: SYSTEM  : Heap Free Space (System = 2090168 bytes, FrmBuf = 512753536 bytes,
 [m3video]          BitBuf = 83361664 bytes, Mbx = 10240 msgs)
 [m3video]  3909: SYSTEM  : Initializing Links ... DONE !!!
 [m3vpss ]  I2C1: Passed for address 0x39 !!!
 [m3vpss ]  I2C1: Passed for address 0x3b !!!
 [m3vpss ]  I2C1: Passed for address 0x3d !!!
 [m3vpss ]  I2C1: Passed for address 0x5c !!!
 [m3vpss ]  I2C1: Passed for address 0x5d !!!
 [m3vpss ]  I2C1: Passed for address 0x60 !!!
 [m3vpss ]  6807: SYSTEM  : System VPSS Init Done !!!
 [m3vpss ]  6807: SYSTEM  : Initializing Links !!!
 [m3vpss ]  6807: SYSTEM  : Heap Free Space (System = 28752 bytes, FrmBuf = 512753536 bytes,
 [m3vpss ]          BitBuf = 83361664 bytes, Mbx = 10240 msgs)
 [m3vpss ]  10073: SYSTEM  : Initializing Links ... DONE !!!
 [m3vpss ] Received character 's'
 [c6xdsp ] Remote Debug Shared Memory @ 0xbff00000
 [m3video] Remote Debug Shared Memory @ 0xbff05020
 [m3vpss ] Remote Debug Shared Memory @ 0xbff0a040
 [m3video] Received character 's'
/opt/dvr_rdk/ti816x-2
 [vpss] core init
 [vpss] cpu version 1
 [vpss] sbuf init
 [vpss] map 0xbfb00000 to 0xcbc00000 with size 2097152
 [vpss] fvid2 init
 [vpss] FOUND 0xbfb00000, end 0xbfd00000, map vir 0xcbc00000 size 8192
 [vpss] Handshake...
 [vpss] FOUND 0xbfb02000, end 0xbfd00000, map vir 0xcbc02000 size 4096
 [vpss] free mem paddr 0xbfb02000 vaddr 0xcbc02000 size 4096
 [vpss] get firmware version 0x01000128.
 [vpss] enter system init
 [vpss] FOUND 0xbfb02000, end 0xbfd00000, map vir 0xcbc02000 size 4096
 [vpss] Fvid2 handle 0x8ea40114 with notifyno 10 within 0 ms
 [vpss] send control with cmd 0x10080002
 [vpss] control event 0x10080002 return 0 within 0 ms.
 [vpss] dctrl init
 [vpss] FOUND 0xbfb03000, end 0xbfd00000, map vir 0xcbc03000 size 4096
 [vpss] Fvid2 handle 0x8ea40134 with notifyno 11 within 0 ms
 [vpss] send control with cmd 0x1004001a
 [vpss] control event 0x1004001a return 0 within 0 ms.
 [vpss] grpx init
 [vpss] FOUND 0xbfb04000, end 0xbfd00000, map vir 0xcbc04000 size 4096
 [vpss] video init
 [vpss] FOUND 0xbfb05000, end 0xbfd00000, map vir 0xcbc05000 size 8192
[module] vpss probe done.
 [vpss] (0)- get resolution.
 [vpss] enter get output format
 [vpss] (1)- get resolution.
 [vpss] enter get output format
 [vpss] (0)- get resolution.
 [vpss] enter get output format
 [vpss] (1)- get resolution.
 [vpss] enter get output format
 [vpss] (0)- get region params.
 [vpss] (0)- get resolution.
 [vpss] enter get output format
 [vpss] (0)- get sc params.
 [vpss] (0)- set region params.
 [vpss] (0)- apply changes into FVID2_FRAME.
 [vpss] (1)- get region params.
 [vpss] (1)- get resolution.
 [vpss] enter get output format
 [vpss] (1)- get sc params.
 [vpss] (1)- set region params.
 [vpss] (1)- apply changes into FVID2_FRAME.
 [vpss] (1) - get timing
 [vpss] (0)- get resolution.
 [vpss] enter get output format
 [vpss] (0)- apply changes into FVID2_FRAME.
 [vpss] (0)- set format bpp 32 df 4104, pitch 7680.
 [vpss] (0)- add buffer 0x86c00000
 [vpss] (0)- apply changes into FVID2_FRAME.
 [vpss] (1)- get resolution.
 [vpss] enter get output format
 [vpss] (1)- apply changes into FVID2_FRAME.
 [vpss] (1)- set format bpp 32 df 4104, pitch 7680.
 [vpss] (1)- add buffer 0x873eae00
 [vpss] (1)- apply changes into FVID2_FRAME.
[module] ti81xxfb probe done.
 
 ORG 0x46c00524: 0
 NEW 0x46c00524: 2
 
root@dvr:/opt/dvr_rdk/ti816x-2# fbset -s
 [vpss] create grpx0
 [vpss] Fvid2 handle 0x00000000 with notifyno 12 within 0 ms
 [vpss-err] create handle is NULL
ti81xxfb ti81xxfb: fvid2(0) create failed.
open /dev/fb0: Invalid argument

  • BTW, do you have any plan to port PowerVR driver to RDK?

    We need 3D graphic acceleration.

  • Hi,

    For the graphics question, the reason why you might be seeing a fbdev creation failure is because the graphics link is active on the M3 side. We have used the graphics driver turned on and handled through our M3 code, by default. In the Demo User Guide, we have a section at the end that mentions, how you can turn on fbdev. We have the demo to use fbdev also, which needs a small compile time #define change as mentioned in demo user guide.

    BTW, we have made a much more mautre release (v 01.05.00.08) on Sept 30th. I would recommend you to move to that. We are using a complete GUI on fbdev in that release, which could be used for reference.

    Regards,

    Anshuman

    PS: Please mark this post as verified, if you think it has answered your question. Thanks.

  • Hi,

     

    Thanks for your reply.

    I wrote an initializing program.

    Now I can get access to fbdev.

     

    #1

    However, it makes me confused.

    Is there any more simple way to initialize fbdev?

     

    #2

    I still can't get SGX530 work.

    I downloaded graphics-sdk_4.04.00.03 from TI site, and recompiled kernel modules, and manually inserted them:

    insmod pvrsrvkm.ko
    insmod omaplfb.ko

     

    However, the kernel reports error at the last step:

    omaplfb: no symbol version for vps_grpx_register_isr
    omaplfb: Unknown symbol vps_grpx_register_isr (err -22)
    omaplfb: no symbol version for vps_grpx_unregister_isr
    omaplfb: Unknown symbol vps_grpx_unregister_isr (err -22)

    I'm sure that vpss.ko is running, but the symbols still can't be found by omaplfb.ko.

     

    I executed service_test provided in the graphics SDK, it just returned error:

    ----------------------- Start -----------------------
    Try calling PVRSRVConnect with an invalid argument:
     OK
    Call PVRSRVConnect with a valid argument:
     FAIL - PVRSRV_ERROR_BRIDGE_CALL_FAILED

     

    Do you have any comment about these issues?

  • hi,

    Do you rebuild the vpss.ko before building omaplfb.ko? please build uImage, kernel moduel and then graphics_sdk modules.

    Your problems should be solved.

    Regards,

    yihe

  • Hi,

     

    I cleaned the kernel & drivers, and then rebuilt them.

    Now they seem to work, thanks!