你好,我们想在J3上,做mipiTX RX直连测试,请问怎么开启J3mipi tx 功能,可以让mipi rx 接收到数据信号,从而完成测试呢?
你好,我们想在J3上,做mipiTX RX直连测试,请问怎么开启J3mipi tx 功能,可以让mipi rx 接收到数据信号,从而完成测试呢?


J3 mipi bypass数据有2种方式:
a. 通过sif的配置
该字段为十进制分段功能:
个位: = 0~4 – mux选择,见上2.1.6;
百十进制: = 0~15 – mask使能掩码,每个bit表示一路,如3表示(0+1路使能),0默认使能为1;
千位: =0/1 – mux无效标志,0-配置mux,1-不改mux,只开关。
/etc/vio/xxx.json:
{
"pipeline0": {
"sif": {
"mipi": {
"enable_bypass": 1, -- 使能bypass功能配置,选路由set_bypass_channels配置
"set_bypass_channels": 3, -- 选bypass源mux及sel: 3即为只选通Host1-IPI1到VC0
...
},
,,,
},
...
}
libcam库提供有3个API供bypass开关及配置,如下:
/* bypass 相关API位于libcam.so */
#include "hb_vin.h"
/* fun: hb_vin_chn_bypass
* -- mipi rx bypass的配置及使能;
* port: dev设备使能配置所在host设备索引号entry_num;
* enable: 0-禁止bypass功能, 1-使能bypass功能;
* mux_sel: mux选择0~4(不可为2), 参见上述2.1.6;
* chn_mask: 单路掩码,bit[3:0]对应4路,0默认为1(要全关请通过enable);
*/
/* fun: hb_vin_iar_bypass
* -- iar ipi bypass的配置及使能(mux自动设为2,chn只有1路);
* port: dev设备使能配置所在host设备索引号entry_num;
* enable: 0-禁止bypass功能, 1-使能bypass功能;
* enable_frame_id: 0-关闭frameid, 1-使能frameid功能;
* init_frame_id: frameid的初始值(使能后有效);
*/
/* fun: hb_vin_set_bypass
* -- X2兼容接口,开关bypass(默认只使能第1路);
* port: dev设备使能配置所在host设备索引号entry_num;
* enable: 0-禁止bypass功能, 1-使能bypass功能;
*/