Toybrick

imx258摄像头 mipi 错误

dorightthingsri

注册会员

积分
129
楼主
发表于 2020-12-22 22:37:16    查看: 12148|回复: 5 | [复制链接]    打印 | 只看该作者
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>;
        };
};
};



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

troy

版主

积分
2376
沙发
发表于 2020-12-23 08:59:40 | 只看该作者
你的日志里没看到mipi错误,imx258已经正常通信,video节点也生成了。
回复

使用道具 举报

dorightthingsri

注册会员

积分
129
板凳
 楼主| 发表于 2021-1-8 11:54:39 | 只看该作者
版主你好!


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

使用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都可以达到预期。

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

troy

版主

积分
2376
地板
发表于 2021-1-8 14:46:14 | 只看该作者

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

使用道具 举报

dorightthingsri

注册会员

积分
129
5#
 楼主| 发表于 2021-1-8 15:48:58 | 只看该作者
帮助很大,感谢回复!
我先参考链接自行处理,同时也期待着你们的升级!
回复

使用道具 举报

troy

版主

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

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表