Tool/software:
Hey,
I would like to capture videos from the tc358743 connected to csi2. The driver is loaded and I get following media-ctl topology:
Media controller API version 6.6.32
Media device information
------------------------
driver j721e-csi2rx
model TI-CSI2RX
serial
bus info platform:4500000.ticsi2rx
hw revision 0x1
driver version 6.6.32
Device topology
- entity 1: 4500000.ticsi2rx (17 pads, 17 links, 1 route)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
routes:
0/0 -> 1/0 [ACTIVE]
pad0: Sink
[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
<- "cdns_csi2rx.4504000.csi-bridge":1 [ENABLED,IMMUTABLE]
pad1: Source
[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
-> "4500000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
pad2: Source
-> "4500000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE]
pad3: Source
-> "4500000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE]
pad4: Source
-> "4500000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE]
pad5: Source
-> "4500000.ticsi2rx context 4":0 [ENABLED,IMMUTABLE]
pad6: Source
-> "4500000.ticsi2rx context 5":0 [ENABLED,IMMUTABLE]
pad7: Source
-> "4500000.ticsi2rx context 6":0 [ENABLED,IMMUTABLE]
pad8: Source
-> "4500000.ticsi2rx context 7":0 [ENABLED,IMMUTABLE]
pad9: Source
-> "4500000.ticsi2rx context 8":0 [ENABLED,IMMUTABLE]
pad10: Source
-> "4500000.ticsi2rx context 9":0 [ENABLED,IMMUTABLE]
pad11: Source
-> "4500000.ticsi2rx context 10":0 [ENABLED,IMMUTABLE]
pad12: Source
-> "4500000.ticsi2rx context 11":0 [ENABLED,IMMUTABLE]
pad13: Source
-> "4500000.ticsi2rx context 12":0 [ENABLED,IMMUTABLE]
pad14: Source
-> "4500000.ticsi2rx context 13":0 [ENABLED,IMMUTABLE]
pad15: Source
-> "4500000.ticsi2rx context 14":0 [ENABLED,IMMUTABLE]
pad16: Source
-> "4500000.ticsi2rx context 15":0 [ENABLED,IMMUTABLE]
- entity 19: cdns_csi2rx.4504000.csi-bridge (5 pads, 2 links, 1 route)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
routes:
0/0 -> 1/0 [ACTIVE]
pad0: Sink
[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
<- "tc358743 6-000f":0 [ENABLED,IMMUTABLE]
pad1: Source
[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
-> "4500000.ticsi2rx":0 [ENABLED,IMMUTABLE]
pad2: Source
pad3: Source
pad4: Source
- entity 25: tc358743 6-000f (1 pad, 1 link, 0 routes)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev2
pad0: Source
[stream:0 fmt:RGB888_1X24/640x480 field:none colorspace:srgb]
[dv.caps:BT.656/1120 min:640x350@13000000 max:1920x1200@165000000 stds:CEA-861,DMT,CVT,GTF caps:progressive,reduced-blanking,custom]
[dv.query:no-link]
[dv.current:BT.656/1120 640x480p59 (800x525) stds:CEA-861,DMT flags:has-cea861-vic]
-> "cdns_csi2rx.4504000.csi-bridge":0 [ENABLED,IMMUTABLE]
- entity 31: 4500000.ticsi2rx context 0 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "4500000.ticsi2rx":1 [ENABLED,IMMUTABLE]
- entity 37: 4500000.ticsi2rx context 1 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Sink
<- "4500000.ticsi2rx":2 [ENABLED,IMMUTABLE]
- entity 43: 4500000.ticsi2rx context 2 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video4
pad0: Sink
<- "4500000.ticsi2rx":3 [ENABLED,IMMUTABLE]
- entity 49: 4500000.ticsi2rx context 3 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video5
pad0: Sink
<- "4500000.ticsi2rx":4 [ENABLED,IMMUTABLE]
- entity 55: 4500000.ticsi2rx context 4 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video6
pad0: Sink
<- "4500000.ticsi2rx":5 [ENABLED,IMMUTABLE]
- entity 61: 4500000.ticsi2rx context 5 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video7
pad0: Sink
<- "4500000.ticsi2rx":6 [ENABLED,IMMUTABLE]
- entity 67: 4500000.ticsi2rx context 6 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video8
pad0: Sink
<- "4500000.ticsi2rx":7 [ENABLED,IMMUTABLE]
- entity 73: 4500000.ticsi2rx context 7 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video9
pad0: Sink
<- "4500000.ticsi2rx":8 [ENABLED,IMMUTABLE]
- entity 79: 4500000.ticsi2rx context 8 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video10
pad0: Sink
<- "4500000.ticsi2rx":9 [ENABLED,IMMUTABLE]
- entity 85: 4500000.ticsi2rx context 9 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video11
pad0: Sink
<- "4500000.ticsi2rx":10 [ENABLED,IMMUTABLE]
- entity 91: 4500000.ticsi2rx context 10 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video12
pad0: Sink
<- "4500000.ticsi2rx":11 [ENABLED,IMMUTABLE]
- entity 97: 4500000.ticsi2rx context 11 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video13
pad0: Sink
<- "4500000.ticsi2rx":12 [ENABLED,IMMUTABLE]
- entity 103: 4500000.ticsi2rx context 12 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video14
pad0: Sink
<- "4500000.ticsi2rx":13 [ENABLED,IMMUTABLE]
- entity 109: 4500000.ticsi2rx context 13 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video15
pad0: Sink
<- "4500000.ticsi2rx":14 [ENABLED,IMMUTABLE]
- entity 115: 4500000.ticsi2rx context 14 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video16
pad0: Sink
<- "4500000.ticsi2rx":15 [ENABLED,IMMUTABLE]
- entity 121: 4500000.ticsi2rx context 15 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video17
pad0: Sink
<- "4500000.ticsi2rx":16 [ENABLED,IMMUTABLE]
My Devicetree overlay:
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/**
* DT Overlay for dual RPi Camera V2.1 (Sony IMX219) interfaced with CSI2
* on J721E SK, AM68 SK or AM69-SK board.
* datasheets.raspberrypi.org/.../camera-v2-schematic.pdf
*
* Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include "k3-pinctrl.h"
&{/} {
clk_tc358743_fixed: tc358743-xclk {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <27000000>;
};
};
&csi_mux {
idle-state = <1>;
};
/* CAM0 I2C */
&cam0_i2c {
#address-cells = <1>;
#size-cells = <0>;
tc358743: tc358743-0@f {
compatible = "toshiba,tc358743";
reg = <0x0f>;
clocks = <&clk_tc358743_fixed>;
clock-names = "refclk";
port {
csi2_cam0: endpoint {
remote-endpoint = <&csi2rx0_in_sensor>;
link-frequencies = /bits/ 64 <297000000>;
clock-lanes = <0>;
data-lanes = <1 2>;
};
};
};
};
&cdns_csi2rx0 {
ports {
#address-cells = <1>;
#size-cells = <0>;
csi0_port0: port@0 {
reg = <0>;
status = "okay";
csi2rx0_in_sensor: endpoint {
remote-endpoint = <&csi2_cam0>;
bus-type = <4>; /* CSI2 DPHY. */
clock-lanes = <0>;
data-lanes = <1 2>;
};
};
csi0_port1: port@1 {
reg = <1>;
status = "disabled";
};
csi0_port2: port@2 {
reg = <2>;
status = "disabled";
};
csi0_port3: port@3 {
reg = <3>;
status = "disabled";
};
csi0_port4: port@4 {
reg = <4>;
status = "disabled";
};
};
};
&dphy0 {
status = "okay";
};
&ti_csi2rx0 {
status = "okay";
};
Have anybody an idea how to capture the video?
Regards,
Tom