Toybrick

标题: imx258摄像头 mipi 错误 [打印本页]

作者: dorightthingsri    时间: 2020-12-22 22:37
标题: imx258摄像头 mipi 错误
RK3399Pro-toybrick-prod, 1.8 linux固件,最新kernel
imx258摄像头 mipi0

按照:http://t.rock-chips.com/wiki.php?mod=view&id=49说明配置
按照:http://t.rock-chips.com/wiki.php?mod=view&id=26编译然后刷boot_linux.img



dtsi配置:
&cif_isp0 {
        rockchip,camera-modules-attached = <&camera0>;
        status = "okay";
};

&isp0 {
        status = "okay";
};

&isp0_mmu {
        status = "okay";
};

&pinctrl {
        cam_mclk {
                cam_default_pins: cam-default-pins {
                        rockchip,pins = <2 11 RK_FUNC_3 &pcfg_pull_none>;
                };
        };
};

&i2c1 {
        status = "okay";
        i2c-scl-rising-time-ns = <300>;
        i2c-scl-falling-time-ns = <15>;
        clock-frequency=<400000>;

        afc0: af-controller@0 {
                status = "okay";
                compatible = "dongwoon,dw9714-v4l2-i2c-subdev";
                reg = <0x0C>;

                rockchip,vcm-start-current = <20>;
                rockchip,vcm-rated-current = <76>;
                rockchip,vcm-step-mode = <0>;
        };

        camera0: camera-module@1a {
                status = "okay";
                compatible = "sony,imx258-v4l2-i2c-subdev";
                reg = <0x1a>;
                device_type = "v4l2-i2c-subdev";
                clocks = <&cru SCLK_CIF_OUT>;
                clock-names = "clk_cif_out";

                pinctrl-names = "default";
                pinctrl-0 = <&cam_default_pins>;

                rockchip,pd-gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_LOW>;
                rockchip,rst-gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_LOW>;

                rockchip,camera-module-mclk-name = "clk_cif_out";
                rockchip,camera-module-facing = "back";
                rockchip,camera-module-name = "MDG001";
                rockchip,camera-module-len-name = "NONE";
                rockchip,camera-module-fov-h = "80";
                rockchip,camera-module-fov-v = "65";
                rockchip,camera-module-orientation = <0>;
                rockchip,camera-module-iq-flip = <0>;
                rockchip,camera-module-iq-mirror = <0>;
                rockchip,camera-module-flip = <1>;
                rockchip,camera-module-mirror = <1>;
                rockchip,af-ctrl = <&afc0>;

                rockchip,camera-module-defrect0 = <2096 1560 0 0 2096 1560>;
                rockchip,camera-module-defrect1 = <4208 3120 0 0 4208 3120>;
                rockchip,camera-module-flash-support = <0>;
                rockchip,camera-module-mipi-dphy-index = <0>;
                as-master = <0>;
        };
};
};




作者: troy    时间: 2020-12-23 08:59
你的日志里没看到mipi错误,imx258已经正常通信,video节点也生成了。
作者: dorightthingsri    时间: 2021-1-8 11:54
版主你好!


接着上面的问题,环境与上面完全一致。

使用luvcview工具,有如下问题:
1. luvcview -d /dev/video0时,图像非常暗,见附件图片,
   好像没找到合适的格式,工具取了默认的YUYV
   fps也没取到
   开了日志,见附件log.zip,里面有句“v4l2_enum_fmt_cap(1631) ERR: index 16”

2. luvcview -L (列出全部video formats)报错,见附list.zip


顺便说一下,使用toybrick官方usb LG摄像头时,luvcview都可以达到预期。

请问:我还需要在哪里努力才能达到预期呢?

作者: troy    时间: 2021-1-8 14:46
dorightthingsri 发表于 2021-1-8 11:54
版主你好!

参考下http://t.rock-chips.com/wiki.php?mod=view&id=57
Linux上目前需要用户自己使用V4L2编程,并且调用我们公司的3A库(自动曝光,自动对焦,自动白平衡)才能获取到正常颜色和亮度的图像。因为sensor默认的曝光时间和增益一般都比较小,没有调用3A库动态调节就会出现图像很暗的情况。
如果你比较着急,可以参考链接自行编程。
如果不着急,近期我们会对camera的驱动做一次大的升级,3A功能将会以守护进程的方式自动运行。无需额外编程,直接可以从vlc或者cheese等播放器获取到正常亮度的图像。
作者: dorightthingsri    时间: 2021-1-8 15:48
帮助很大,感谢回复!
我先参考链接自行处理,同时也期待着你们的升级!

作者: troy    时间: 2021-1-28 16:21
dorightthingsri 发表于 2021-1-8 15:48
帮助很大,感谢回复!
我先参考链接自行处理,同时也期待着你们的升级!
...

最新V3.0测试版固件已经升级到ISP1,http://t.rock-chips.com/forum.ph ... &extra=page%3D1




欢迎光临 Toybrick (https://t.rock-chips.com/) Powered by Discuz! X3.3