我们的Orin当前版本R35.1,使用了3片max96712,第一片(video0-video3),第二片(video4-7),第三片(video8-11),通过gstreamer测试相机,目前第一路的4个相机使用都是正常,每次上电只使用第二路上的相机的或第三路相机,都可以正常使用,但是一旦两路相机都被gstreamer使用之后,单独再运行gstreamer都没有图像数据,必须两路96712上的都使用才能正常出图,即使某一路没接相机,也必须用gstreamer运行起来,所有图像才正常,我怀疑是csi或vi的配置问题,下面是我csi与vi的device-tree:
tegra-capture-vi {
num-channels = <12>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
ox3cc_vi_in0: endpoint {
vc-id = <0>;
port-index = <0>;
bus-width = <4>;
remote-endpoint = <&ox3cc_csi_out0>;
};
};
port@1 {
reg = <1>;
ox3cc_vi_in1: endpoint {
vc-id = <1>;
port-index = <0>;
bus-width = <4>;
remote-endpoint = <&ox3cc_csi_out1>;
};
};
port@2 {
reg = <2>;
ox3cc_vi_in2: endpoint {
vc-id = <2>;
port-index = <0>;
bus-width = <4>;
remote-endpoint = <&ox3cc_csi_out2>;
};
};
port@3 {
reg = <3>;
ox3cc_vi_in3: endpoint {
vc-id = <3>;
port-index = <0>;
bus-width = <4>;
remote-endpoint = <&ox3cc_csi_out3>;
};
};
port@3 {
reg = <3>;
ox3cc_vi_in3: endpoint {
vc-id = <3>;
port-index = <0>;
bus-width = <4>;
remote-endpoint = <&ox3cc_csi_out3>;
};
};
port@4 {
reg = <4>;
ox3cc_vi_in4: endpoint {
vc-id = <0>;
port-index = <2>;
bus-width = <4>;
remote-endpoint = <&ox3cc_csi_out4>;
};
};
port@5 {
reg = <5>;
ox3cc_vi_in5: endpoint {
vc-id = <1>;
port-index = <2>;
bus-width = <4>;
remote-endpoint = <&ox3cc_csi_out5>;
};
};
port@6 {
reg = <6>;
ox3cc_vi_in6: endpoint {
vc-id = <2>;
port-index = <2>;
bus-width = <4>;
remote-endpoint = <&ox3cc_csi_out6>;
};
};
port@7 {
reg = <7>;
ox3cc_vi_in7: endpoint {
vc-id = <3>;
port-index = <2>;
bus-width = <4>;
remote-endpoint = <&ox3cc_csi_out7>;
};
};
port@8 {
reg = <8>;
ox3cc_vi_in8: endpoint {
vc-id = <0>;
port-index = <4>;
bus-width = <4>;
remote-endpoint = <&ox3cc_csi_out8>;
};
};
port@9 {
reg = <9>;
ox3cc_vi_in9: endpoint {
vc-id = <1>;
port-index = <4>;
bus-width = <4>;
remote-endpoint = <&ox3cc_csi_out9>;
};
};
port@10 {
reg = <10>;
ox3cc_vi_in10: endpoint {
vc-id = <2>;
port-index = <4>;
bus-width = <4>;
remote-endpoint = <&ox3cc_csi_out10>;
};
};
port@11 {
reg = <11>;
ox3cc_vi_in11: endpoint {
vc-id = <3>;
port-index = <4>;
bus-width = <4>;
remote-endpoint = <&ox3cc_csi_out11>;
};
};
};
};
host1x@13e00000 {
nvcsi@15a00000 {
num-channels = <12>;
#address-cells = <1>;
#size-cells = <0>;
channel@0 {
reg = <0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
ox3cc_csi_in0: endpoint@0 {
port-index = <0>;
bus-width = <4>;
remote-endpoint = <&ox3cc_ox3cc_out0>;
};
};
port@1 {
reg = <1>;
ox3cc_csi_out0: endpoint@1 {
remote-endpoint = <&ox3cc_vi_in0>;
};
};
};
};
channel@1 {
reg = <1>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
ox3cc_csi_in1: endpoint@2 {
port-index = <0>;
bus-width = <4>;
remote-endpoint = <&ox3cc_ox3cc_out1>;
};
};
port@1 {
reg = <1>;
ox3cc_csi_out1: endpoint@3 {
remote-endpoint = <&ox3cc_vi_in1>;
};
};
};
};
channel@2 {
reg = <2>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
ox3cc_csi_in2: endpoint@4 {
port-index = <0>;
bus-width = <4>;
remote-endpoint = <&ox3cc_ox3cc_out2>;
};
};
port@1 {
reg = <1>;
ox3cc_csi_out2: endpoint@5 {
remote-endpoint = <&ox3cc_vi_in2>;
};
};
};
};
channel@3 {
reg = <3>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
ox3cc_csi_in3: endpoint@6 {
port-index = <0>;
bus-width = <4>;
remote-endpoint = <&ox3cc_ox3cc_out3>;
};
};
port@1 {
reg = <1>;
ox3cc_csi_out3: endpoint@7 {
remote-endpoint = <&ox3cc_vi_in3>;
};
};
};
};
channel@4 {
reg = <4>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
ox3cc_csi_in4: endpoint@8 {
port-index = <2>;
bus-width = <4>;
remote-endpoint = <&ox3cc_ox3cc_out8>;
};
};
port@1 {
reg = <1>;
ox3cc_csi_out4: endpoint@9 {
remote-endpoint = <&ox3cc_vi_in4>;
};
};
};
};
channel@5 {
reg = <5>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
ox3cc_csi_in5: endpoint@10 {
port-index = <2>;
bus-width = <4>;
remote-endpoint = <&ox3cc_ox3cc_out9>;
};
};
port@1 {
reg = <1>;
ox3cc_csi_out5: endpoint@11 {
remote-endpoint = <&ox3cc_vi_in5>;
};
};
};
};
channel@6 {
reg = <6>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
ox3cc_csi_in6: endpoint@12 {
port-index = <2>;
bus-width = <4>;
remote-endpoint = <&ox3cc_ox3cc_out10>;
};
};
port@1 {
reg = <1>;
ox3cc_csi_out6: endpoint@13 {
remote-endpoint = <&ox3cc_vi_in6>;
};
};
};
};
channel@7 {
reg = <7>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
ox3cc_csi_in7: endpoint@14 {
port-index = <2>;
bus-width = <4>;
remote-endpoint = <&ox3cc_ox3cc_out11>;
};
};
port@1 {
reg = <1>;
ox3cc_csi_out7: endpoint@15 {
remote-endpoint = <&ox3cc_vi_in7>;
};
};
};
};
channel@8 {
reg = <8>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
ox3cc_csi_in8: endpoint@16 {
port-index = <4>;
bus-width = <4>;
remote-endpoint = <&ox3cc_ox3cc_out4>;
};
};
port@1 {
reg = <1>;
ox3cc_csi_out8: endpoint@17 {
remote-endpoint = <&ox3cc_vi_in8>;
};
};
};
};
channel@9 {
reg = <9>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
ox3cc_csi_in9: endpoint@18 {
port-index = <4>;
bus-width = <4>;
remote-endpoint = <&ox3cc_ox3cc_out5>;
};
};
port@1 {
reg = <1>;
ox3cc_csi_out9: endpoint@19 {
remote-endpoint = <&ox3cc_vi_in9>;
};
};
};
};
channel@10 {
reg = <10>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
ox3cc_csi_in10: endpoint@20 {
port-index = <4>;
bus-width = <4>;
remote-endpoint = <&ox3cc_ox3cc_out6>;
};
};
port@1 {
reg = <1>;
ox3cc_csi_out10: endpoint@21 {
remote-endpoint = <&ox3cc_vi_in10>;
};
};
};
};
channel@11 {
reg = <11>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
ox3cc_csi_in11: endpoint@22 {
port-index = <4>;
bus-width = <4>;
remote-endpoint = <&ox3cc_ox3cc_out7>;
};
};
port@1 {
reg = <1>;
ox3cc_csi_out11: endpoint@23 {
remote-endpoint = <&ox3cc_vi_in11>;
};
};
};
};
};
};