cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
VictorJames97
Newbie
Newbie
207 Views
Registered: ‎04-14-2021

V4L2 VIDIOC_STREAMON : Broken Pipe Error

I am trying to setup a video pipeline path from Camera -> Deserializer -> CSI2 -> VIN and capture the raw video frames on a Renesas R-Car V3H Condor board. Currently the V4L2 Capture application is giving VIDIOC_STREAMON : Broken Pipe Error upon execution. 

When I tried to execute the media-ctl command to output the current routing setup, this is the output I am getting :

--------------------------

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

Media device information
------------------------
driver rcar_vin
model renesas,vin-r8a779880
serial
bus info platform:e6ef0000.video
hw revision 0x0
driver version 4.14.75

Device topology
- entity 1: VIN0 output (1 pad, 0 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink

---------------------------------------------------------------------------------------

It looks like all the entities, source and sink pads are not coming. I am new to this, so I can't seem to identify where the problem is. I am using the default device tree source file that got generated with the Yocto build setup for R-Car V3H Condor board.

The relevant part of the device tree is posted below :

---------------------------------------------------------------------------------------------

&csi40 {
status = "okay";

virtual,channel {
csi2_vc0 {
data,type = "ycbcr422";
receive,vc = <0>;
};
csi2_vc1 {
data,type = "ycbcr422";
receive,vc = <1>;
};
csi2_vc2 {
data,type = "ycbcr422";
receive,vc = <2>;
};
csi2_vc3 {
data,type = "ycbcr422";
receive,vc = <3>;
};
};

port {
#address-cells = <1>;
#size-cells = <0>;

csi40_ep: endpoint {
clock-lanes = <0>;
data-lanes = <1 2 3 4>;
csi-rate = <300>;
};
};
};

&i2c1 {
pinctrl-0 = <&i2c1_pins>;
pinctrl-names = "default";

status = "okay";
clock-frequency = <400000>;

ov106xx@0 {
compatible = "ovti,ov106xx";
reg = <0x60>;

port@0 {
ov106xx_in0: endpoint {
clock-lanes = <0>;
data-lanes = <1 2 3 4>;
remote-endpoint = <&vin0ep0>;
};
};
port@1 {
ov106xx_max9286_des0ep0: endpoint@0 {
remote-endpoint = <&max9286_des0ep0>;
};
};
};

max9286@0 {
compatible = "maxim,max9286";
reg = <0x48>;
gpios = <&io_expander0 0 GPIO_ACTIVE_LOW>; /* MAX9286 PWDN */
maxim,gpio0 = <0>;
maxim,sensor_delay = <100>;
maxim,links = <4>;
maxim,lanes = <4>;
maxim,resetb-gpio = <1>;
maxim,fsync-mode = "automatic";
maxim,timeout = <100>;

port@0 {
max9286_des0ep0: endpoint@0 {
max9271-addr = <0x50>;
dvp-order = <1>;
remote-endpoint = <&ov106xx_in0>;
};
};
port@1 {
max9286_csi0ep0: endpoint {
csi-rate = <700>;
remote-endpoint = <&csi40_ep>;
};
};
};
};

&vin0 {
status = "okay";

ports {
#address-cells = <1>;
#size-cells = <0>;

port@0 {
vin0ep0: endpoint {
csi,select = "csi40";
virtual,channel = <0>;
data-lanes = <1 2 3 4>;
remote-endpoint = <&ov106xx_in0>;
};
};
port@1 {
csi0ep0: endpoint {
remote-endpoint = <&csi40_ep>;
};
};
port@2 {
vin0_max9286_des0ep0: endpoint@0 {
remote-endpoint = <&max9286_des0ep0>;
};
};
};
};

0 Kudos
0 Replies