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

相关推荐
热爱学习地派大星4 小时前
Xilinx FPGA功耗评估
fpga开发·verilog·vivado·fpga功耗·xpe
搬砖的小码农_Sky9 小时前
XILINX Ultrascale+ Kintex系列FPGA的架构
fpga开发·架构
XvnNing9 小时前
【Verilog硬件语言学习笔记4】FPGA串口通信
笔记·学习·fpga开发
千宇宙航10 小时前
闲庭信步使用SV搭建图像测试平台:第二十七课——图像的腐蚀
图像处理·计算机视觉·fpga开发
尤老师FPGA10 天前
使用DDR4控制器实现多通道数据读写(十六)
fpga开发·ddr4
HX科技10 天前
STM32给FPGA的外挂FLASH进行升级
stm32·嵌入式硬件·fpga开发·flash·fpga升级
sz66cm11 天前
FPGA基础 -- Verilog 驱动强度(drive strength)与电荷强度(charge strength)
fpga开发
海涛高软11 天前
FPGA深度和突发长度计算
fpga开发
hahaha601611 天前
vivado使用非自带的第三方编辑器
fpga开发
芝士不会写代码11 天前
【FPGA学习】DDS信号发生器设计
学习·fpga开发