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

相关推荐
stm 学习ing1 小时前
FPGA 第二讲 初始FPGA
c语言·开发语言·stm32·fpga开发·c#·visual studio·嵌入式实时数据库
搬砖的小码农_Sky4 小时前
Xilinx FPGA的Vivado开发流程
fpga开发
stm 学习ing4 小时前
FPGA 第4讲 初识Verilog HDL
c语言·单片机·嵌入式硬件·学习·fpga开发·集成测试·fpga
FPGA小迷弟11 小时前
FPGA在航空航天领域的应用案例解析!!!
stm32·物联网·fpga开发·verilog·fpga
国产化嵌入式平台解决方案11 小时前
PCIE板卡:基于国产化双FPGA主板的高性能解决方案
嵌入式硬件·fpga开发·信息与通信·fpga·赛灵思
胡狼FPGA16 小时前
FPGA图像处理.从认识噪声到去噪算法
图像处理·算法·fpga开发
乌恩大侠21 小时前
O-RAN前传Spilt Option 7-2x
fpga开发·架构
ZxsLoves21 小时前
【【简单systyem verilog 语言学习使用二--- 新adder加法器 】】
学习·fpga开发
Lightning-py1 天前
Verilog的注释、关键字、程序框架
fpga开发
一个废号别练了1 天前
FPGA 实现CAN通信
fpga开发