OK, I got the dtc file to compile and installed under /boot/overlay-user/. The machine comes up and the video devices show up under /dev:
gollumm64% v4l2-ctl --list-devices
cedrus (platform:cedrus):
/dev/video1
/dev/media1
sun6i-csi (platform:csi):
/dev/video0
Allwinner Video Capture Device (platform:sun6i-csi):
/dev/media0
gollumm64% v4l2-ctl -d 0 --list-formats --list-ctrls
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture
[0]: 'BA81' (8-bit Bayer BGBG/GRGR)
[1]: 'GBRG' (8-bit Bayer GBGB/RGRG)
[2]: 'GRBG' (8-bit Bayer GRGR/BGBG)
[3]: 'RGGB' (8-bit Bayer RGRG/GBGB)
[4]: 'BG10' (10-bit Bayer BGBG/GRGR)
[5]: 'GB10' (10-bit Bayer GBGB/RGRG)
[6]: 'BA10' (10-bit Bayer GRGR/BGBG)
[7]: 'RG10' (10-bit Bayer RGRG/GBGB)
[8]: 'BG12' (12-bit Bayer BGBG/GRGR)
[9]: 'GB12' (12-bit Bayer GBGB/RGRG)
[10]: 'BA12' (12-bit Bayer GRGR/BGBG)
[11]: 'RG12' (12-bit Bayer RGRG/GBGB)
[12]: 'YUYV' (YUYV 4:2:2)
[13]: 'YVYU' (YVYU 4:2:2)
[14]: 'UYVY' (UYVY 4:2:2)
[15]: 'VYUY' (VYUY 4:2:2)
[16]: 'RGBP' (16-bit RGB 5-6-5)
[17]: 'RGBO' (16-bit A/XRGB 1-5-5-5)
[18]: 'HM12' (YUV 4:2:0 (16x16 Macroblocks))
[19]: 'NV12' (Y/CbCr 4:2:0)
[20]: 'NV21' (Y/CrCb 4:2:0)
[21]: 'YU12' (Planar YUV 4:2:0)
[22]: 'YV12' (Planar YVU 4:2:0)
[23]: 'NV16' (Y/CbCr 4:2:2)
[24]: 'NV61' (Y/CrCb 4:2:2)
[25]: '422P' (Planar YUV 4:2:2)
[26]: 'RGBP' (16-bit RGB 5-6-5)
[27]: 'RGBR' (16-bit RGB 5-6-5 BE)
[28]: 'JPEG' (JFIF JPEG, compressed)
gollumm64% v4l2-ctl -d 1 --list-formats --list-ctrls
Codec Controls
mpeg_2_slice_parameters 0x009909fa (unknown): type=103 flags=has-payload
mpeg_2_quantization_matrices 0x009909fb (unknown): type=104 flags=has-payload
h264_sequence_parameter_set 0x00990ce8 (unknown): type=110 flags=has-payload
h264_picture_parameter_set 0x00990ce9 (unknown): type=111 flags=has-payload
h264_scaling_matrix 0x00990cea (unknown): type=112 flags=has-payload
h264_slice_parameters 0x00990ceb (unknown): type=113 flags=has-payload
h264_decode_parameters 0x00990cec (unknown): type=114 flags=has-payload
h264_decode_mode 0x00990ced (menu) : min=0 max=0 default=0 value=0
h264_start_code 0x00990cee (menu) : min=0 max=0 default=0 value=0
hevc_sequence_parameter_set 0x00990cf0 (unknown): type=120 flags=has-payload
hevc_picture_parameter_set 0x00990cf1 (unknown): type=121 flags=has-payload
hevc_slice_parameters 0x00990cf2 (unknown): type=122 flags=has-payload
hevc_decode_mode 0x00990cf7 (menu) : min=0 max=0 default=0 value=0
hevc_start_code 0x00990cf8 (menu) : min=0 max=0 default=0 value=0
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture
[0]: 'ST12' (Sunxi Tiled NV12 Format, compressed)
[1]: 'NV12' (Y/CbCr 4:2:0)
gollumm64% media-ctl --device /dev/media0 -p
Media controller API version 5.7.15
Media device information
------------------------
driver sun6i-csi
model Allwinner Video Capture Device
serial
bus info
hw revision 0x0
driver version 5.7.15
Device topology
- entity 1: sun6i-csi (1 pad, 0 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
gollumm64% media-ctl --device /dev/media1 -p
Media controller API version 5.7.15
Media device information
------------------------
driver cedrus
model cedrus
serial
bus info platform:cedrus
hw revision 0x0
driver version 5.7.15
Device topology
- entity 1: cedrus-source (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Source
-> "cedrus-proc":0 [ENABLED,IMMUTABLE]
- entity 3: cedrus-proc (2 pads, 2 links)
type Node subtype Unknown flags 0
pad0: Sink
<- "cedrus-source":0 [ENABLED,IMMUTABLE]
pad1: Source
-> "cedrus-sink":0 [ENABLED,IMMUTABLE]
- entity 6: cedrus-sink (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "cedrus-proc":1 [ENABLED,IMMUTABLE]
But I am not able to capture any video and neigher cheese or chromium see the camera. What am I missing?