iqfile文件中存有ISP运行的参数,想要ISP正常运行,那么就需要正确加载该文件。
1、iqfile文件的生成
在RV1106平台上,iqfile文件为JSON格式,他的生成通常借助RKISP TURN工具,完成ISP调试后,该文件既生成成功。这里要注意TURN工具与设备端运行的AIQ工具版本需要匹配。具体匹配规则参考《Rockchip_IQ_Tools_Guide》。
2、iqfile文件的加载。
在RV1106平台上,iqfile文件加载包括两部分
1、搜索路径的指定
在初始化isp时,直接用全局变量定义g_iq_file_dir即可,通常可以定义为/etc/iqfiles
rk_aiq_uapi2_sysctl_init(aiq_static_info.sensor_info.sensor_name, g_iq_file_dir, NULL, NULL);
以上代码在通常在isp.c中
2、文件名的确定
iqfile的文件名由sensor名,模组名,镜头名和后缀四部分组成。
前三部分的定义在设备树文件中,以gc2093示例,其在设备树中定义如下
&i2c4 {status = "okay";clock-frequency = <400000>;pinctrl-names = "default";pinctrl-0 = <&i2c4m2_xfer>;gc2093_0: gc2093_0@37 {compatible = "galaxycore,gc2093";status = "okay";reg = <0x37>;clocks = <&cru MCLK_REF_MIPI0>;clock-names = "xvclk";// power-domains = <&power RV1106_PD_VI>;pinctrl-names = "default";pinctrl-0 = <&mipi_refclk_out0>;pwdn-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>;reset-gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_LOW>;rockchip,camera-module-index = <0>;rockchip,camera-module-facing = "back";rockchip,camera-module-name = "SIDA209300469";rockchip,camera-module-lens-name = "60IRC_F20";port {ucam_out0: endpoint {remote-endpoint = <&csi_dphy_input0>;data-lanes = <1 2>;};};};
};
其中这两部分定义了其模组名和镜头名,而sensor名可能写在驱动中
rockchip,camera-module-name = "SIDA209300469";rockchip,camera-module-lens-name = "60IRC_F20"
所以我们将标定好的iqfile文件命名为 gc2093_SIDA209300469_60IRC_F20.json 并将其放置在上文说的/etc/iqfiles路径下,当正常加载设备文件后,相机运行时就能读到该json文件了。