Jump to content

Recommended Posts

Posted

I have tried to get the CSI port working on my Radxa Zero 3W with the GEEKOM X1301 HAT, and now I can get the chip to show up in /dev, however there seems to be an issue when I try to access it, as I keep getting ioctl errors.

I started by copying over the .dtbo files from the regular radxa official image, and putting them into the overlay-user folder in /boot. Then I enabled the radxa-zero3-tc358743.dtbo overlay, which gets the devices to show up.

 

I am following this guide from GEEKOM https://wiki.geekworm.com/X1300_Software, however, I keep getting ioctl errors when trying to set the EDID file on the Radxa Zero. On the Raspberry Pi, this was not an issue.

 

Here is the output of my media-ctl:

 

media-ctl -d /dev/media0 -p
Media controller API version 6.1.115

Media device information
------------------------
driver          rkisp-vir0
model           rkisp0
serial          
bus info        platform:rkisp-vir0
hw revision     0x0
driver version  6.1.115

Device topology
- entity 1: rkisp-isp-subdev (4 pads, 8 links, 0 routes)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev0
	pad0: SINK,MUST_CONNECT
		[stream:0 fmt:UYVY8_2X8/640x480 field:none colorspace:srgb
		crop.bounds:(0,0)/640x480
		crop:(0,0)/640x480]
		<- "rkisp-csi-subdev":1 [ENABLED]
		<- "rkisp_rawrd0_m":0 []
		<- "rkisp_rawrd2_s":0 []
	pad1: SINK
		<- "rkisp-input-params":0 [ENABLED]
	pad2: SOURCE
		[stream:0 fmt:YUYV8_2X8/640x480 field:none colorspace:smpte170m quantization:full-range
		crop.bounds:(0,0)/640x480
		crop:(0,0)/640x480]
		-> "rkisp_mainpath":0 [ENABLED]
		-> "rkisp_selfpath":0 [ENABLED]
		-> "rkisp_iqtool":0 [ENABLED]
	pad3: SOURCE
		-> "rkisp-statistics":0 [ENABLED]

- entity 6: rkisp-csi-subdev (6 pads, 5 links, 0 routes)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev1
	pad0: SINK,MUST_CONNECT
		[stream:0 fmt:UYVY8_2X8/640x480 field:none colorspace:srgb]
		<- "rockchip-csi2-dphy0":1 [ENABLED]
	pad1: SOURCE,MUST_CONNECT
		[stream:0 fmt:UYVY8_2X8/640x480 field:none colorspace:srgb]
		-> "rkisp-isp-subdev":0 [ENABLED]
	pad2: SOURCE
		-> "rkisp_rawwr0":0 [ENABLED]
	pad3: SOURCE
	pad4: SOURCE
		-> "rkisp_rawwr2":0 [ENABLED]
	pad5: SOURCE
		-> "rkisp_rawwr3":0 [ENABLED]

- entity 13: rkisp_mainpath (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video0
	pad0: SINK
		<- "rkisp-isp-subdev":2 [ENABLED]

- entity 19: rkisp_selfpath (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video1
	pad0: SINK
		<- "rkisp-isp-subdev":2 [ENABLED]

- entity 25: rkisp_rawwr0 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video2
	pad0: SINK
		<- "rkisp-csi-subdev":2 [ENABLED]

- entity 31: rkisp_rawwr2 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video3
	pad0: SINK
		<- "rkisp-csi-subdev":4 [ENABLED]

- entity 37: rkisp_rawwr3 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video4
	pad0: SINK
		<- "rkisp-csi-subdev":5 [ENABLED]

- entity 43: rkisp_iqtool (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video5
	pad0: SINK
		<- "rkisp-isp-subdev":2 [ENABLED]

- entity 49: rkisp_rawrd0_m (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video6
	pad0: SOURCE
		-> "rkisp-isp-subdev":0 []

- entity 55: rkisp_rawrd2_s (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video7
	pad0: SOURCE
		-> "rkisp-isp-subdev":0 []

- entity 61: rkisp-statistics (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video8
	pad0: SINK
		<- "rkisp-isp-subdev":3 [ENABLED]

- entity 67: rkisp-input-params (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video9
	pad0: SOURCE
		-> "rkisp-isp-subdev":1 [ENABLED]

- entity 73: rockchip-csi2-dphy0 (2 pads, 2 links, 0 routes)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev2
	pad0: SINK,MUST_CONNECT
		[stream:0 fmt:UYVY8_2X8/640x480@10000/600000 field:none colorspace:srgb]
		<- "m00_b_tc35874x 2-000f":0 [ENABLED]
	pad1: SOURCE,MUST_CONNECT
		-> "rkisp-csi-subdev":0 [ENABLED]

- entity 76: m00_b_tc35874x 2-000f (1 pad, 1 link, 0 routes)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev3
	pad0: SOURCE
		[stream:0 fmt:UYVY8_2X8/640x480@10000/600000 field:none colorspace:srgb]
		[dv.caps:BT.656/1120 min:1x1@0 max:10000x10000@310000000 stds:CEA-861,DMT,CVT,GTF caps:interlaced,progressive,reduced-blanking,custom]
		[dv.query:no-link]
		[dv.current:BT.656/1120 640x480p59 (800x525) stds:CEA-861,DMT flags:has-cea861-vic]
		-> "rockchip-csi2-dphy0":0 [ENABLED]

 

The GEEKOM does seem to require some GPIOs, as shown in the second picture from this link https://geekworm.com/products/x1301, however, these all seem to be for audio functionality, which I have disabled. I currently only have the GEEKOM X1301 connected through the CSI Port to the Radxa Zero, as it physically cannot have the GPIOs and the CSI port connected at the same time.


Here is the output of my /dev folder

autofs           crypto    fuse         hugepages    input  loop3         mem          port    rga     stdout   tty13  tty20  tty28  tty35  tty42  tty5   tty57  tty7      urandom      vcs2   vcsa3  vcsu4        video0  video8
block            cuse      gpiochip0    hwrng        iomux  loop4         mmcblk1      ppp     rk_cec  sw_sync  tty14  tty21  tty29  tty36  tty43  tty50  tty58  tty8      v4l          vcs3   vcsa4  vcsu5        video1  video9
btrfs-control    disk      gpiochip1    i2c-0        kmsg   loop5         mmcblk1p1    psaux   rtc     tty      tty15  tty22  tty3   tty37  tty44  tty51  tty59  tty9      v4l-subdev0  vcs4   vcsa5  vcsu6        video2  watchdog
bus              dma_heap  gpiochip2    i2c-2        kvm    loop6         mmcblk1p2    ptmx    rtc0    tty0     tty16  tty23  tty30  tty38  tty45  tty52  tty6   ttyFIQ0   v4l-subdev1  vcs5   vcsa6  vfio         video3  watchdog0
cec0             dri       gpiochip3    i2c-3        log    loop7         mpp_service  pts     shm     tty1     tty17  tty24  tty31  tty39  tty46  tty53  tty60  ttyS1     v4l-subdev2  vcs6   vcsu   vga_arbiter  video4  zero
char             fb0       gpiochip4    i2c-6        loop0  loop-control  mqueue       ram0    snd     tty10    tty18  tty25  tty32  tty4   tty47  tty54  tty61  ubi_ctrl  v4l-subdev3  vcsa   vcsu1  vhci         video5  zram0
console          fd        gpiochip5    iio:device0  loop1  mapper        net          random  stderr  tty11    tty19  tty26  tty33  tty40  tty48  tty55  tty62  uhid      vcs          vcsa1  vcsu2  vhost-net    video6  zram1
cpu_dma_latency  full      hdmi_hdcp1x  initctl      loop2  media0        null         rfkill  stdin   tty12    tty2   tty27  tty34  tty41  tty49  tty56  tty63  uinput    vcs1         vcsa2  vcsu3  vhost-vsock  video7  zram2

 

This is the error that I get when I run the command to set the EDID file.

v4l2-ctl -d /dev/v4l-subdev3 --set-edid=file=1080P60EDID.txt
VIDIOC_SUBDEV_S_CLIENT_CAP: failed: Inappropriate ioctl for device

Is there any way that I can resolve this issue? The HAT's power LED doesn't light up for some reason, and the device also isn't detected when I plug in any other devices HDMI out into the HDMI IN on the HAT.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines