I add the patch filepcie_cap_patch.patch.zip to the kernel, the version is L3.0.35-4.1 and change the kernel configure within make menuconfig to enable tw6865.My board is I.MX6Q sabresd.when boot the kernel,i find the driver seems not to be executed.The log is :
iMX6 PCIe PCIe RC mode imx_pcie_pltfm_probe entering.
PCIE: imx_pcie_pltfm_probe start link up.
IMX PCIe port: link up.
PCI: bus0: Fast back to back transfers disabled
liutest start fixup imx6dq pcie tw6869
pci 0000:01:00.0: Setting PCI class for tw6868 PCIe device
liutest END fixup imx6dq pcie tw6869
PCI: bus1: Fast back to back transfers disabled
pci 0000:00:00.0: BAR 0: assigned [mem 0x01000000-0x010fffff 64bit pref]
pci 0000:00:00.0: BAR 0: set to [mem 0x01000000-0x010fffff 64bit pref] (PCI address [0x1000000-0x10fffff])
pci 0000:00:00.0: BAR 9: assigned [mem 0x01100000-0x011fffff pref]
pci 0000:00:00.0: BAR 6: assigned [mem 0x01200000-0x0120ffff pref]
pci 0000:01:00.0: BAR 0: assigned [mem 0x01100000-0x01100fff pref]
pci 0000:01:00.0: BAR 0: set to [mem 0x01100000-0x01100fff pref] (PCI address [0x1100000-0x1100fff])
pci 0000:00:00.0: PCI bridge to [bus 01-01]
pci 0000:00:00.0: bridge window [io disabled]
pci 0000:00:00.0: bridge window [mem disabled]
pci 0000:00:00.0: bridge window [mem 0x01100000-0x011fffff pref]
liutest PCI: r->start =0x1000000 r->end =0x10fffff..........
Linux video capture interface: v2.00
mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video16
mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video17
mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video18
mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video19..........
There is no other messges about TW68** whin log file.
root@freescale ~$ lspci
00:00.0 Class 0604: 16c3:abcd
01:00.0 Class 0004: 1797:6869root@freescale /sys/bus/pci$ ls drivers
e1000e ehci_hcd pcieportroot@freescale /sys/bus/pci$ ls devices/
0000:00:00.0 0000:01:00.0root@freescale /dev$ ls
...........
ptyq7 tty11 ttyq4 video
ptyq8 tty12 ttyq5 video0
ptyq9 tty13 ttyq6 video1
ptyqa tty14 ttyq7 video16
ptyqb tty15 ttyq8 video17
ptyqc tty16 ttyq9 video18
ptyqd tty17 ttyqa video19
ptyqe tty18 ttyqb watchdog
..........there is video0 in /dev file,but i dont kown wheth it is TW6865.
When I test it with the command of gst-launch v4l2src device=/dev/video0 ! 'video/x-raw-yuv, format=(fourcc)UYVY' ! mfw_isink disp-width=800 disp-height=400 &
it replys as follows:
Setting pipeline to PAUSED ...
ERROR: v4l2 capture: slave not found!
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Could not open device '/dev/video0' for reading and writing.
Additional debug info:
v4l2_calls.c(507): gst_v4l2_open (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
system error: Resource temporarily unavailable
Setting pipeline to NULL ...
Freeing pipeline ...
[--->FINALIZE isinkDo anyone meet a similar problem and help me please!
Hello Sunny,
Do you check the comments on the document iMX6Q Surround view patch
Please make sure you config file about pcie aligned to the following:
#
# MX6 Options:
#
CONFIG_IMX_PCIE=y
# CONFIG_IMX_PCIE_EP_MODE_IN_EP_RC_SYS is not set
# CONFIG_IMX_PCIE_RC_MODE_IN_EP_RC_SYS is not set
Hi jamesbone,
thanks for your reply.
II have confirmed that my config file is the same as the link mentioned above.
When I use the lspci command to display the PCI devices, I can see the TW6865, does it mean that there is no problem with the PCIe link?