Part Number: TDA4VM
Tool/software:
Hi
We use sdk 10,Custom board。
The current hardware link is as follows(no sensor).

The dts is :
&main_i2c1 {
regulator@2a {
compatible = "maxim,max20087";
reg = <0x2A>;
in-supply = <&evm_12v0>;
vdd-supply = <&vsys_3v3>;
enable-gpios = <&main_gpio0 83 GPIO_ACTIVE_HIGH>;
regulators {
OUT1 {
regulator-name = "VOUT1";
regulator-always-on;
regulator-boot-on;
};
OUT2 {
regulator-name = "VOUT2";
regulator-always-on;
regulator-boot-on;
};
OUT3 {
regulator-name = "VOUT3";
regulator-always-on;
regulator-boot-on;
};
OUT4 {
regulator-name = "VOUT4";
regulator-always-on;
regulator-boot-on;
};
};
};
// MAX96724 Deserializer
max96724: gmsl-deserializer@27 {
status = "okay";
compatible = "maxim,max96724";
reg = <0x27>;
#address-cells = <1>;
#size-cells = <0>;
enable-gpios = <&main_gpio0 32 GPIO_ACTIVE_HIGH>;
ports {
#address-cells = <1>;
#size-cells = <0>;
// Output port connected to CSI2RX
port@0 {
reg = <0>;
status = "okay";
max96724_channelB_out: endpoint {
remote-endpoint = <&csi2rx0_in_sensor>;
bus-type = <4>; // CSI2 D-PHY
clock-lanes = <0>;
data-lanes = <1 2 3 4>;
};
};
};
};
};
/* CSI Receiver Configuration */
&cdns_csi2rx0 {
status = "okay";
virtual-channel;
ports {
#address-cells = <1>;
#size-cells = <0>;
csi0_port0: port@0 {
reg = <0>;
status = "okay";
csi2rx0_in_sensor: endpoint {
remote-endpoint = <&max96724_channelB_out>;
bus-type = <4>; /* CSI2 DPHY */
clock-lanes = <0>;
data-lanes = <1 2 3 4>;
ti,vc-mask = <0x0F>;
};
};
};
};
&ti_csi2rx0 {
status = "okay";
};
&dphy0 {
status = "okay";
};
The max96717 creat RGB888 test data.
We had use the script to set route;
#!/bin/bash # 配置CDNS CSI Bridge的4个VC路由 media-ctl -R '"cdns_csi2rx.4504000.csi-bridge" [0/0->1/0[1]]' # 设置CDNS CSI Bridge各VC的格式(匹配传感器输出格式) media-ctl -V '"cdns_csi2rx.4504000.csi-bridge":0/0 [fmt:RGB888_1X24/1280x720 field:none]' #media-ctl -V '"cdns_csi2rx.4504000.csi-bridge":0/1 [fmt:RGB888_1X24/1280x720 field:none]' #media-ctl -V '"cdns_csi2rx.4504000.csi-bridge":0/2 [fmt:RGB888_1X24/1280x720 field:none]' #media-ctl -V '"cdns_csi2rx.4504000.csi-bridge":0/3 [fmt:RGB888_1X24/1280x720 field:none]' # 配置CSI2RX的路由映射(将4个VC映射到不同context) media-ctl -R '"4500000.ticsi2rx" [0/0->1/0[1]]' # 设置CSI2RX接收格式(需与CSI Bridge输出一致) media-ctl -V '"4500000.ticsi2rx":0/0 [fmt:RGB888_1X24/1280x720 field:none]' #media-ctl -V '"4500000.ticsi2rx":0/1 [fmt:RGB888_1X24/1280x720 field:none]' #media-ctl -V '"4500000.ticsi2rx":0/2 [fmt:RGB888_1X24/1280x720 field:none]' #media-ctl -V '"4500000.ticsi2rx":0/3 [fmt:RGB888_1X24/1280x720 field:none]' # 设置video节点格式(使用RGB24格式) v4l2-ctl -z platform:4500000.ticsi2rx -d "4500000.ticsi2rx context 0" -v width=1280,height=720,pixelformat=XR24 #v4l2-ctl -z platform:4500000.ticsi2rx -d "4500000.ticsi2rx context 1" -v width=1280,height=720,pixelformat=XR24 #v4l2-ctl -z platform:4500000.ticsi2rx -d "4500000.ticsi2rx context 2" -v width=1280,height=720,pixelformat=XR24 #v4l2-ctl -z platform:4500000.ticsi2rx -d "4500000.ticsi2rx context 3" -v width=1280,height=720,pixelformat=XR24
The media-ctl -p is
root@j721e-evm:/mnt# media-ctl -p
Media controller API version 6.6.32[ 230.189328] _max96724_set_routing 4 streams routing ret= 0
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:RGB888_1X24/1280x720 field:none]
<- "cdns_csi2rx.4504000.csi-bridge":1 [ENABLED,IMMUTABLE]
pad1: Source
[stream:0 fmt:RGB888_1X24/1280x720 field:none]
-> "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:RGB888_1X24/1280x720 field:none]
<- "max96724 1-0027":0 [ENABLED,IMMUTABLE]
pad1: Source
[stream:0 fmt:RGB888_1X24/1280x720 field:none]
-> "4500000.ticsi2rx":0 [ENABLED,IMMUTABLE]
pad2: Source
pad3: Source
pad4: Source
- entity 25: max96724 1-0027 (1 pad, 1 link, 4 routes)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
routes:
0/0 -> 0/0 [ACTIVE]
0/0 -> 0/1 [ACTIVE]
0/0 -> 0/2 [ACTIVE]
0/0 -> 0/3 [ACTIVE]
pad0: Source
[stream:0 fmt:RGB888_1X24/1280x720 field:none colorspace:srgb]
[stream:1 fmt:RGB888_1X24/1280x720 field:none colorspace:srgb]
[stream:2 fmt:RGB888_1X24/1280x720 field:none colorspace:srgb]
[stream:3 fmt:RGB888_1X24/1280x720 field:none colorspace:srgb]
-> "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]
then we use
