RV1103与FPGA通过MIPI CSI-2实现视频传输,实现网络推流

RV1103与FPGA通过MIPI CSI-2实现视频传输,实现网络推流。

一:图像格式

支持图像格式如下:

0\]: 'NV16' (Y/CbCr 4:2:2) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[1\]: 'NV61' (Y/CrCb 4:2:2) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[2\]: 'NV12' (Y/CbCr 4:2:0) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[3\]: 'NV21' (Y/CrCb 4:2:0) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[4\]: 'YUYV' (YUYV 4:2:2) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[5\]: 'YVYU' (YVYU 4:2:2) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[6\]: 'UYVY' (UYVY 4:2:2) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[7\]: 'VYUY' (VYUY 4:2:2) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[8\]: 'RGB3' (24-bit RGB 8-8-8) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[9\]: 'BGR3' (24-bit BGR 8-8-8) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[10\]: 'RGBP' (16-bit RGB 5-6-5) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[11\]: 'BGRH' (18-bit BGRX 6-6-6-14) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[12\]: 'RGGB' (8-bit Bayer RGRG/GBGB) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[13\]: 'GRBG' (8-bit Bayer GRGR/BGBG) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[14\]: 'GBRG' (8-bit Bayer GBGB/RGRG) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[15\]: 'BA81' (8-bit Bayer BGBG/GRGR) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[16\]: 'RG10' (10-bit Bayer RGRG/GBGB) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[17\]: 'BA10' (10-bit Bayer GRGR/BGBG) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[18\]: 'GB10' (10-bit Bayer GBGB/RGRG) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[19\]: 'BG10' (10-bit Bayer BGBG/GRGR) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[20\]: 'RG12' (12-bit Bayer RGRG/GBGB) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[21\]: 'BA12' (12-bit Bayer GRGR/BGBG) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[22\]: 'GB12' (12-bit Bayer GBGB/RGRG) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[23\]: 'BG12' (12-bit Bayer BGBG/GRGR) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[24\]: 'BYR2' (16-bit Bayer BGBG/GRGR) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[25\]: 'GB16' (16-bit Bayer GBGB/RGRG) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[26\]: 'GR16' (16-bit Bayer GRGR/BGBG) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[27\]: 'RG16' (16-bit Bayer RGRG/GBGB) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[28\]: 'Y16 ' (16-bit Greyscale) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[29\]: 'GREY' (8-bit Greyscale) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[30\]: 'EBD8' (Embedded data 8-bit) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[31\]: 'SPD6' (Shield pix data 16-bit) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[32\]: 'Y12 ' (12-bit Greyscale) Size: Stepwise 64x64 - 2304x1296 with step 8/8 \[33\]: 'Y10 ' (10-bit Greyscale) Size: Stepwise 64x64 - 2304x1296 with step 8/8 **二:DTS配置** 配置DTS: \&csi2_dphy_hw { status = "okay"; }; \&csi2_dphy0 { status = "okay"; ports { #address-cells = \<1\>; #size-cells = \<0\>; port@0 { reg = \<0\>; #address-cells = \<1\>; #size-cells = \<0\>; csi_dphy_input0: endpoint@0 { reg = \<0\>; remote-endpoint = \<\&sc3336_out\>; data-lanes = \<1 2\>; }; csi_dphy_input1: endpoint@1 { reg = \<1\>; remote-endpoint = \<\&sc4336_out\>; data-lanes = \<1 2\>; }; csi_dphy_input2: endpoint@2 { reg = \<2\>; remote-endpoint = \<\&sc530ai_out\>; data-lanes = \<1 2\>; }; }; port@1 { reg = \<1\>; #address-cells = \<1\>; #size-cells = \<0\>; csi_dphy_output: endpoint@0 { reg = \<0\>; remote-endpoint = \<\&mipi_csi2_input\>; }; }; }; }; \&i2c4 { status = "okay"; clock-frequency = \<400000\>; pinctrl-names = "default"; pinctrl-0 = \<\&i2c4m2_xfer\>; sc3336: sc3336@30 { compatible = "smartsens,sc3336"; status = "okay"; reg = \<0x30\>; clocks = \<\&cru MCLK_REF_MIPI0\>; clock-names = "xvclk"; pwdn-gpios = \<\&gpio3 RK_PC5 GPIO_ACTIVE_HIGH\>; pinctrl-names = "default"; pinctrl-0 = \<\&mipi_refclk_out0\>; rockchip,camera-module-index = \<0\>; rockchip,camera-module-facing = "back"; rockchip,camera-module-name = "CMK-OT2119-PC1"; rockchip,camera-module-lens-name = "30IRC-F16"; port { sc3336_out: endpoint { remote-endpoint = \<\&csi_dphy_input0\>; data-lanes = \<1 2\>; }; }; }; sc4336: sc4336@30 { compatible = "smartsens,sc4336"; status = "okay"; reg = \<0x30\>; clocks = \<\&cru MCLK_REF_MIPI0\>; clock-names = "xvclk"; pwdn-gpios = \<\&gpio3 RK_PC5 GPIO_ACTIVE_HIGH\>; pinctrl-names = "default"; pinctrl-0 = \<\&mipi_refclk_out0\>; rockchip,camera-module-index = \<0\>; rockchip,camera-module-facing = "back"; rockchip,camera-module-name = "OT01"; rockchip,camera-module-lens-name = "40IRC_F16"; port { sc4336_out: endpoint { remote-endpoint = \<\&csi_dphy_input1\>; data-lanes = \<1 2\>; }; }; }; sc530ai: sc530ai@30 { compatible = "smartsens,sc530ai"; status = "okay"; reg = \<0x30\>; clocks = \<\&cru MCLK_REF_MIPI0\>; clock-names = "xvclk"; pwdn-gpios = \<\&gpio3 RK_PC5 GPIO_ACTIVE_HIGH\>; pinctrl-names = "default"; pinctrl-0 = \<\&mipi_refclk_out0\>; rockchip,camera-module-index = \<0\>; rockchip,camera-module-facing = "back"; rockchip,camera-module-name = "CMK-OT2115-PC1"; rockchip,camera-module-lens-name = "30IRC-F16"; port { sc530ai_out: endpoint { remote-endpoint = \<\&csi_dphy_input2\>; data-lanes = \<1 2\>; }; }; }; }; \&i2s0_8ch { #sound-dai-cells = \<0\>; status = "okay"; }; \&mipi0_csi2 { status = "okay"; ports { #address-cells = \<1\>; #size-cells = \<0\>; port@0 { reg = \<0\>; #address-cells = \<1\>; #size-cells = \<0\>; mipi_csi2_input: endpoint@1 { reg = \<1\>; remote-endpoint = \<\&csi_dphy_output\>; }; }; port@1 { reg = \<1\>; #address-cells = \<1\>; #size-cells = \<0\>; mipi_csi2_output: endpoint@0 { reg = \<0\>; remote-endpoint = \<\&cif_mipi_in\>; }; }; }; }; \&pwm0 { status = "okay"; }; \&rkcif { status = "okay"; }; \&rkcif_mipi_lvds { status = "okay"; pinctrl-names = "default"; pinctrl-0 = \<\&mipi_pins\>; port { /\* MIPI CSI-2 endpoint \*/ cif_mipi_in: endpoint { remote-endpoint = \<\&mipi_csi2_output\>; }; }; }; \&rkcif_mipi_lvds_sditf { status = "okay"; port { /\* MIPI CSI-2 endpoint \*/ mipi_lvds_sditf: endpoint { remote-endpoint = \<\&isp_in\>; }; }; }; \&rkisp { status = "okay"; }; \&rkisp_vir0 { status = "okay"; port@0 { isp_in: endpoint { remote-endpoint = \<\&mipi_lvds_sditf\>; }; }; }; \&saradc { status = "okay"; vref-supply = \<\&vcc_1v8\>; }; **三:驱动配置** 配置分辨率,数据类型。 static const struct sc3336_mode supported_modes\[\] = { { .width = 2304, .height = 1296, .max_fps = { .numerator = 10000, .denominator = 250000, }, .exp_def = 0x0080, .hts_def = 0x05dc, .vts_def = 0x0654, .bus_fmt = MEDIA_BUS_FMT_SBGGR8_1X8, .reg_list = sc3336_linear_10_2304x1296_25fps_regs, .hdr_mode = NO_HDR, .xvclk_freq = 27000000, .link_freq_idx = 0, .vc\[PAD0\] = V4L2_MBUS_CSI2_CHANNEL_0, }, { .width = 2304, .height = 1296, .max_fps = { .numerator = 10000, .denominator = 300000, }, .exp_def = 0x0080, .hts_def = 0x0578 \* 2, .vts_def = 0x0550, .bus_fmt = MEDIA_BUS_FMT_SBGGR8_1X8, .reg_list = sc3336_linear_10_2304x1296_30fps_regs, .hdr_mode = NO_HDR, .xvclk_freq = 24000000, .link_freq_idx = 1, .vc\[PAD0\] = V4L2_MBUS_CSI2_CHANNEL_0, } }; **四:注册查询** Media controller API version 5.10.110 Media device information ------------------------ driver rkcif model rkcif-mipi-lvds serial bus info hw revision 0x0 driver version 5.10.110 Device topology - entity 1: stream_cif_mipi_id0 (1 pad, 11 links) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink \<- "rockchip-mipi-csi2":1 \[ENABLED

<- "rockchip-mipi-csi2":2 []

<- "rockchip-mipi-csi2":3 []

<- "rockchip-mipi-csi2":4 []

<- "rockchip-mipi-csi2":5 []

<- "rockchip-mipi-csi2":6 []

<- "rockchip-mipi-csi2":7 []

<- "rockchip-mipi-csi2":8 []

<- "rockchip-mipi-csi2":9 []

<- "rockchip-mipi-csi2":10 []

<- "rockchip-mipi-csi2":11 []

  • entity 5: stream_cif_mipi_id1 (1 pad, 11 links)

type Node subtype V4L flags 0

device node name /dev/video1

pad0: Sink

<- "rockchip-mipi-csi2":1 []

<- "rockchip-mipi-csi2":2 [ENABLED]

<- "rockchip-mipi-csi2":3 []

<- "rockchip-mipi-csi2":4 []

<- "rockchip-mipi-csi2":5 []

<- "rockchip-mipi-csi2":6 []

<- "rockchip-mipi-csi2":7 []

<- "rockchip-mipi-csi2":8 []

<- "rockchip-mipi-csi2":9 []

<- "rockchip-mipi-csi2":10 []

<- "rockchip-mipi-csi2":11 []

  • entity 9: stream_cif_mipi_id2 (1 pad, 11 links)

type Node subtype V4L flags 0

device node name /dev/video2

pad0: Sink

<- "rockchip-mipi-csi2":1 []

<- "rockchip-mipi-csi2":2 []

<- "rockchip-mipi-csi2":3 [ENABLED]

<- "rockchip-mipi-csi2":4 []

<- "rockchip-mipi-csi2":5 []

<- "rockchip-mipi-csi2":6 []

<- "rockchip-mipi-csi2":7 []

<- "rockchip-mipi-csi2":8 []

<- "rockchip-mipi-csi2":9 []

<- "rockchip-mipi-csi2":10 []

<- "rockchip-mipi-csi2":11 []

  • entity 13: stream_cif_mipi_id3 (1 pad, 11 links)

type Node subtype V4L flags 0

device node name /dev/video3

pad0: Sink

<- "rockchip-mipi-csi2":1 []

<- "rockchip-mipi-csi2":2 []

<- "rockchip-mipi-csi2":3 []

<- "rockchip-mipi-csi2":4 [ENABLED]

<- "rockchip-mipi-csi2":5 []

<- "rockchip-mipi-csi2":6 []

<- "rockchip-mipi-csi2":7 []

<- "rockchip-mipi-csi2":8 []

<- "rockchip-mipi-csi2":9 []

<- "rockchip-mipi-csi2":10 []

<- "rockchip-mipi-csi2":11 []

  • entity 17: rkcif_scale_ch0 (1 pad, 11 links)

type Node subtype V4L flags 0

device node name /dev/video4

pad0: Sink

<- "rockchip-mipi-csi2":1 []

<- "rockchip-mipi-csi2":2 []

<- "rockchip-mipi-csi2":3 []

<- "rockchip-mipi-csi2":4 []

<- "rockchip-mipi-csi2":5 [ENABLED]

<- "rockchip-mipi-csi2":6 []

<- "rockchip-mipi-csi2":7 []

<- "rockchip-mipi-csi2":8 []

<- "rockchip-mipi-csi2":9 []

<- "rockchip-mipi-csi2":10 []

<- "rockchip-mipi-csi2":11 []

  • entity 21: rkcif_scale_ch1 (1 pad, 11 links)

type Node subtype V4L flags 0

device node name /dev/video5

pad0: Sink

<- "rockchip-mipi-csi2":1 []

<- "rockchip-mipi-csi2":2 []

<- "rockchip-mipi-csi2":3 []

<- "rockchip-mipi-csi2":4 []

<- "rockchip-mipi-csi2":5 []

<- "rockchip-mipi-csi2":6 [ENABLED]

<- "rockchip-mipi-csi2":7 []

<- "rockchip-mipi-csi2":8 []

<- "rockchip-mipi-csi2":9 []

<- "rockchip-mipi-csi2":10 []

<- "rockchip-mipi-csi2":11 []

  • entity 25: rkcif_scale_ch2 (1 pad, 11 links)

type Node subtype V4L flags 0

device node name /dev/video6

pad0: Sink

<- "rockchip-mipi-csi2":1 []

<- "rockchip-mipi-csi2":2 []

<- "rockchip-mipi-csi2":3 []

<- "rockchip-mipi-csi2":4 []

<- "rockchip-mipi-csi2":5 []

<- "rockchip-mipi-csi2":6 []

<- "rockchip-mipi-csi2":7 [ENABLED]

<- "rockchip-mipi-csi2":8 []

<- "rockchip-mipi-csi2":9 []

<- "rockchip-mipi-csi2":10 []

<- "rockchip-mipi-csi2":11 []

  • entity 29: rkcif_scale_ch3 (1 pad, 11 links)

type Node subtype V4L flags 0

device node name /dev/video7

pad0: Sink

<- "rockchip-mipi-csi2":1 []

<- "rockchip-mipi-csi2":2 []

<- "rockchip-mipi-csi2":3 []

<- "rockchip-mipi-csi2":4 []

<- "rockchip-mipi-csi2":5 []

<- "rockchip-mipi-csi2":6 []

<- "rockchip-mipi-csi2":7 []

<- "rockchip-mipi-csi2":8 [ENABLED]

<- "rockchip-mipi-csi2":9 []

<- "rockchip-mipi-csi2":10 []

<- "rockchip-mipi-csi2":11 []

  • entity 33: rkcif_tools_id0 (1 pad, 11 links)

type Node subtype V4L flags 0

device node name /dev/video8

pad0: Sink

<- "rockchip-mipi-csi2":1 []

<- "rockchip-mipi-csi2":2 []

<- "rockchip-mipi-csi2":3 []

<- "rockchip-mipi-csi2":4 []

<- "rockchip-mipi-csi2":5 []

<- "rockchip-mipi-csi2":6 []

<- "rockchip-mipi-csi2":7 []

<- "rockchip-mipi-csi2":8 []

<- "rockchip-mipi-csi2":9 [ENABLED]

<- "rockchip-mipi-csi2":10 []

<- "rockchip-mipi-csi2":11 []

  • entity 37: rkcif_tools_id1 (1 pad, 11 links)

type Node subtype V4L flags 0

device node name /dev/video9

pad0: Sink

<- "rockchip-mipi-csi2":1 []

<- "rockchip-mipi-csi2":2 []

<- "rockchip-mipi-csi2":3 []

<- "rockchip-mipi-csi2":4 []

<- "rockchip-mipi-csi2":5 []

<- "rockchip-mipi-csi2":6 []

<- "rockchip-mipi-csi2":7 []

<- "rockchip-mipi-csi2":8 []

<- "rockchip-mipi-csi2":9 []

<- "rockchip-mipi-csi2":10 [ENABLED]

<- "rockchip-mipi-csi2":11 []

  • entity 41: rkcif_tools_id2 (1 pad, 11 links)

type Node subtype V4L flags 0

device node name /dev/video10

pad0: Sink

<- "rockchip-mipi-csi2":1 []

<- "rockchip-mipi-csi2":2 []

<- "rockchip-mipi-csi2":3 []

<- "rockchip-mipi-csi2":4 []

<- "rockchip-mipi-csi2":5 []

<- "rockchip-mipi-csi2":6 []

<- "rockchip-mipi-csi2":7 []

<- "rockchip-mipi-csi2":8 []

<- "rockchip-mipi-csi2":9 []

<- "rockchip-mipi-csi2":10 []

<- "rockchip-mipi-csi2":11 [ENABLED]

  • entity 45: rockchip-mipi-csi2 (12 pads, 122 links)

type V4L2 subdev subtype Unknown flags 0

device node name /dev/v4l-subdev0

pad0: Sink

fmt:SBGGR8_1X8/2304x1296 field:none crop.bounds:(0,0)/2304x1296 crop:(0,0)/2304x1296

<- "rockchip-csi2-dphy0":1 [ENABLED]

pad1: Source

-> "stream_cif_mipi_id0":0 [ENABLED]

-> "stream_cif_mipi_id1":0 []

-> "stream_cif_mipi_id2":0 []

-> "stream_cif_mipi_id3":0 []

-> "rkcif_scale_ch0":0 []

-> "rkcif_scale_ch1":0 []

-> "rkcif_scale_ch2":0 []

-> "rkcif_scale_ch3":0 []

-> "rkcif_tools_id0":0 []

-> "rkcif_tools_id1":0 []

-> "rkcif_tools_id2":0 []

pad2: Source

-> "stream_cif_mipi_id0":0 []

-> "stream_cif_mipi_id1":0 [ENABLED]

-> "stream_cif_mipi_id2":0 []

-> "stream_cif_mipi_id3":0 []

-> "rkcif_scale_ch0":0 []

-> "rkcif_scale_ch1":0 []

-> "rkcif_scale_ch2":0 []

-> "rkcif_scale_ch3":0 []

-> "rkcif_tools_id0":0 []

-> "rkcif_tools_id1":0 []

-> "rkcif_tools_id2":0 []

pad3: Source

-> "stream_cif_mipi_id0":0 []

-> "stream_cif_mipi_id1":0 []

-> "stream_cif_mipi_id2":0 [ENABLED]

-> "stream_cif_mipi_id3":0 []

-> "rkcif_scale_ch0":0 []

-> "rkcif_scale_ch1":0 []

-> "rkcif_scale_ch2":0 []

-> "rkcif_scale_ch3":0 []

-> "rkcif_tools_id0":0 []

-> "rkcif_tools_id1":0 []

-> "rkcif_tools_id2":0 []

pad4: Source

-> "stream_cif_mipi_id0":0 []

-> "stream_cif_mipi_id1":0 []

-> "stream_cif_mipi_id2":0 []

-> "stream_cif_mipi_id3":0 [ENABLED]

-> "rkcif_scale_ch0":0 []

-> "rkcif_scale_ch1":0 []

-> "rkcif_scale_ch2":0 []

-> "rkcif_scale_ch3":0 []

-> "rkcif_tools_id0":0 []

-> "rkcif_tools_id1":0 []

-> "rkcif_tools_id2":0 []

pad5: Source

-> "stream_cif_mipi_id0":0 []

-> "stream_cif_mipi_id1":0 []

-> "stream_cif_mipi_id2":0 []

-> "stream_cif_mipi_id3":0 []

-> "rkcif_scale_ch0":0 [ENABLED]

-> "rkcif_scale_ch1":0 []

-> "rkcif_scale_ch2":0 []

-> "rkcif_scale_ch3":0 []

-> "rkcif_tools_id0":0 []

-> "rkcif_tools_id1":0 []

-> "rkcif_tools_id2":0 []

pad6: Source

-> "stream_cif_mipi_id0":0 []

-> "stream_cif_mipi_id1":0 []

-> "stream_cif_mipi_id2":0 []

-> "stream_cif_mipi_id3":0 []

-> "rkcif_scale_ch0":0 []

-> "rkcif_scale_ch1":0 [ENABLED]

-> "rkcif_scale_ch2":0 []

-> "rkcif_scale_ch3":0 []

-> "rkcif_tools_id0":0 []

-> "rkcif_tools_id1":0 []

-> "rkcif_tools_id2":0 []

pad7: Source

-> "stream_cif_mipi_id0":0 []

-> "stream_cif_mipi_id1":0 []

-> "stream_cif_mipi_id2":0 []

-> "stream_cif_mipi_id3":0 []

-> "rkcif_scale_ch0":0 []

-> "rkcif_scale_ch1":0 []

-> "rkcif_scale_ch2":0 [ENABLED]

-> "rkcif_scale_ch3":0 []

-> "rkcif_tools_id0":0 []

-> "rkcif_tools_id1":0 []

-> "rkcif_tools_id2":0 []

pad8: Source

-> "stream_cif_mipi_id0":0 []

-> "stream_cif_mipi_id1":0 []

-> "stream_cif_mipi_id2":0 []

-> "stream_cif_mipi_id3":0 []

-> "rkcif_scale_ch0":0 []

-> "rkcif_scale_ch1":0 []

-> "rkcif_scale_ch2":0 []

-> "rkcif_scale_ch3":0 [ENABLED]

-> "rkcif_tools_id0":0 []

-> "rkcif_tools_id1":0 []

-> "rkcif_tools_id2":0 []

pad9: Source

-> "stream_cif_mipi_id0":0 []

-> "stream_cif_mipi_id1":0 []

-> "stream_cif_mipi_id2":0 []

-> "stream_cif_mipi_id3":0 []

-> "rkcif_scale_ch0":0 []

-> "rkcif_scale_ch1":0 []

-> "rkcif_scale_ch2":0 []

-> "rkcif_scale_ch3":0 []

-> "rkcif_tools_id0":0 [ENABLED]

-> "rkcif_tools_id1":0 []

-> "rkcif_tools_id2":0 []

pad10: Source

-> "stream_cif_mipi_id0":0 []

-> "stream_cif_mipi_id1":0 []

-> "stream_cif_mipi_id2":0 []

-> "stream_cif_mipi_id3":0 []

-> "rkcif_scale_ch0":0 []

-> "rkcif_scale_ch1":0 []

-> "rkcif_scale_ch2":0 []

-> "rkcif_scale_ch3":0 []

-> "rkcif_tools_id0":0 []

-> "rkcif_tools_id1":0 [ENABLED]

-> "rkcif_tools_id2":0 []

pad11: Source

-> "stream_cif_mipi_id0":0 []

-> "stream_cif_mipi_id1":0 []

-> "stream_cif_mipi_id2":0 []

-> "stream_cif_mipi_id3":0 []

-> "rkcif_scale_ch0":0 []

-> "rkcif_scale_ch1":0 []

-> "rkcif_scale_ch2":0 []

-> "rkcif_scale_ch3":0 []

-> "rkcif_tools_id0":0 []

-> "rkcif_tools_id1":0 []

-> "rkcif_tools_id2":0 [ENABLED]

  • entity 58: rockchip-csi2-dphy0 (2 pads, 2 links)

type V4L2 subdev subtype Unknown flags 0

device node name /dev/v4l-subdev1

pad0: Sink

fmt:SBGGR8_1X8/2304x1296@10000/250000 field:none

<- "m00_b_sc3336 4-0030":0 [ENABLED]

pad1: Source

-> "rockchip-mipi-csi2":0 [ENABLED]

  • entity 63: m00_b_sc3336 4-0030 (1 pad, 1 link)

type V4L2 subdev subtype Sensor flags 0

device node name /dev/v4l-subdev2

pad0: Source

fmt:SBGGR8_1X8/2304x1296@10000/250000 field:none

-> "rockchip-csi2-dphy0":0 [ENABLED]

五:FPGA端MIPI CSI-2发送调试

确认FPGA端发送正常

六:图像VLC推流查看

FPGA发送动态图像模板显示效果

七:欢迎讨论交流

微:moning_hello

相关推荐
FakeOccupational1 小时前
fpga系列 HDL:verilog latch在fpga中的作用 & 避免latch的常见做法
fpga开发
S&Z34632 小时前
[FPGA基础] RAM篇
fpga开发
绿算技术7 小时前
存储新势力:助力DeepSeek一体机
人工智能·科技·缓存·fpga开发
9527华安14 小时前
国产紫光同创FPGA视频采集转SDI编码输出,基于HSSTHP高速接口,提供2套工程源码和技术支持
fpga开发·音视频·紫光同创·sdi·高速接口·hssthp
S&Z346315 小时前
[FPGA基础] 原语简介篇
fpga开发
Dlrbw15 小时前
FPGA——DDS信号发生器设计
笔记·fpga开发
FPGA开源工坊20 小时前
FPGA上实现YOLOv5的一般过程
yolo·fpga开发
S&Z34631 天前
[FPGA基础] UART篇
fpga开发
szxinmai主板定制专家1 天前
国产RK3568+FPGA以 ‌“实时控制+高精度采集+灵活扩展”‌ 为核心的解决方案
大数据·运维·网络·人工智能·fpga开发·机器人
FPGA_ADDA1 天前
基于FPGA 和DSP 的高性能6U VPX 采集处理板
fpga开发·dsp·6u vpx·8通道采集