Firefly开源社区

打印 上一主题 下一主题

[Linux] RK3399开发板调试Mipi接口OV13850摄像头报错

62

积分

0

威望

0

贡献

技术小白

积分
62

RK3399开发板调试Mipi接口OV13850摄像头报错

发表于 2018-9-21 11:56:31      浏览:17208 | 回复:8        打印      只看该作者   [复制链接] 楼主
本渣参考http://dev.t-firefly.com/thread-13810-2-1.html做的修改,修改如下:
  1. diff --git a/arch/arm64/boot/dts/rockchip/rk3399-firefly-linux.dts b/arch/arm64/boot/dts/rockchip/rk3399-firefly-linux.dts
  2. index beffd8dbb219..4e7890ff1355 100644
  3. --- a/arch/arm64/boot/dts/rockchip/rk3399-firefly-linux.dts
  4. +++ b/arch/arm64/boot/dts/rockchip/rk3399-firefly-linux.dts
  5. @@ -663,6 +663,46 @@
  6.                 io-channels = <&saradc 4>;
  7.                 hp-det-adc-value = <500>;
  8.         };
  9. +// MIPI-CIF 位于主板正面外侧, (引脚参考原理图 J22)
  10. +        camera0: camera-module@10 {
  11. +                status = "okay";
  12. +                compatible = "omnivision,ov13850-v4l2-i2c-subdev";
  13. +                reg = < 0x10 >;
  14. +                device_type = "v4l2-i2c-subdev";
  15. +
  16. +                clocks = <&cru SCLK_CIF_OUT>;
  17. +                clock-names = "clk_cif_out";
  18. +                rockchip,camera-module-mclk-name = "clk_cif_out";
  19. +                rockchip,camera-module-dovdd = "1.8v";
  20. +               
  21. +
  22. +                pinctrl-names = "rockchip,camera_default", "rockchip,camera_sleep";
  23. +                pinctrl-0 = <&cam0_default_pins>;
  24. +                pinctrl-1 = <&cam0_sleep_pins>;
  25. +
  26. +                /*GPIO2  B4 = 12 B6 = 14 MIPI0 D4 = 27 C7 = 23 */
  27. +                rockchip,pwr-gpio = <&gpio1 23 GPIO_ACTIVE_HIGH>;        /*Power                        GPIO1_C7 */
  28. +                rockchip,pd-gpio  = <&gpio2 12 GPIO_ACTIVE_LOW>;        /*Power Down        GPIO2_B4  OR GPIO2_D4 */
  29. +
  30. +                // rst 硬件上拉 无需配置
  31. +                //rockchip,rst-gpio = <&gpio0 8 GPIO_ACTIVE_LOW>;                /*Reset                        GPIO0_B0 */
  32. +               
  33. +                rockchip,camera-module-facing = "back";
  34. +                rockchip,camera-module-name = "cmk-cb0695-fv1";
  35. +                rockchip,camera-module-len-name = "lg9569a2";
  36. +                rockchip,camera-module-fov-h = "66.0";
  37. +                rockchip,camera-module-fov-v = "50.1";
  38. +                rockchip,camera-module-orientation = <0>;
  39. +                rockchip,camera-module-iq-flip = <0>;
  40. +                rockchip,camera-module-iq-mirror = <0>;
  41. +                rockchip,camera-module-flip = <0>;
  42. +                rockchip,camera-module-mirror = <0>;
  43. +
  44. +                rockchip,camera-module-defrect0 = <3264 2448 0 0 3264 2448>;
  45. +
  46. +                rockchip,camera-module-flash-support = <0>;                        /*闪光灯控制开关*/
  47. +                rockchip,camera-module-mipi-dphy-index = <0>;                /*MIPI 接口索引*/
  48. +        };
  49. };

  50. &i2c3 {
  51. @@ -1028,3 +1068,12 @@
  52. &vpu {
  53.         status = "okay";
  54. };
  55. +&cif_isp0 {
  56. +        rockchip,camera-modules-attached = <&camera0>;
  57. +        rockchip,gpio-cifpower = <&gpio1 22 GPIO_ACTIVE_HIGH>;
  58. +
  59. +        status = "okay";
  60. +};
  61. +&isp0_mmu {
  62. +    status = "okay";
  63. +};
  64. diff --git a/drivers/media/i2c/soc_camera/rockchip/Kconfig b/drivers/media/i2c/soc_camera/rockchip/Kconfig
  65. index fcde42cccf09..30ef3b46c0df 100644
  66. --- a/drivers/media/i2c/soc_camera/rockchip/Kconfig
  67. +++ b/drivers/media/i2c/soc_camera/rockchip/Kconfig
  68. @@ -65,7 +65,7 @@ config VIDEO_NT99230
  69. config VIDEO_OV13850
  70.         tristate "ov13850 driver adapt to rockchip cif isp platform"
  71.         depends on VIDEO_V4L2 && VIDEO_RK_CIF_ISP10 && I2C
  72. -        default n
  73. +        default y
  74.         ---help---
  75.           This is ov13850 camera driver adapt to rockchip cif isp platform.

  76. diff --git a/drivers/media/platform/rk-isp10/Kconfig b/drivers/media/platform/rk-isp10/Kconfig
  77. index 1b25033d6fce..f48c3c478837 100644
  78. --- a/drivers/media/platform/rk-isp10/Kconfig
  79. +++ b/drivers/media/platform/rk-isp10/Kconfig
  80. @@ -6,7 +6,7 @@ config VIDEO_RK_CIF_ISP10
  81.         select VIDEOBUF_GEN
  82.         select VIDEOBUF2_DMA_SG
  83.         select VIDEOBUF2_VMALLOC
  84. -        default n
  85. +        default y

  86.         ---help---
  87.           Say Y here to enable selecting the
  88. diff --git a/drivers/media/platform/rk-isp10/cif_isp10_pltfrm.c b/drivers/media/platform/rk-isp10/cif_isp10_pltfrm.c
  89. old mode 100644
  90. new mode 100755
  91. index 66d694ef8140..55124d69e767
  92. --- a/drivers/media/platform/rk-isp10/cif_isp10_pltfrm.c
  93. +++ b/drivers/media/platform/rk-isp10/cif_isp10_pltfrm.c
  94. @@ -19,6 +19,7 @@
  95. #endif

  96. #include <linux/of.h>
  97. +#include <linux/of_gpio.h>
  98. #include <linux/platform_device.h>
  99. #include <linux/interrupt.h>
  100. #include <linux/kernel.h>
  101. @@ -98,6 +99,29 @@ void cif_isp10_pltfrm_debug_register_print_cb(
  102.         pdata->dbgfs.print_func = print;
  103. #endif
  104. }
  105. +void init_cif_power(struct device *dev)
  106. +{
  107. +        enum of_gpio_flags flags;
  108. +        int cifpower_io;
  109. +        int io_ret;
  110. +        
  111. +    cifpower_io = of_get_named_gpio_flags(dev->of_node, "rockchip,gpios-cifpower", 0, &flags);
  112. +    cif_isp10_pltfrm_pr_info(dev,"1-gpios-cifpower: gpio=%d", cifpower_io);
  113. +    if(gpio_is_valid(cifpower_io)) {
  114. +        cifpower_io = of_get_named_gpio_flags(dev->of_node, "rockchip,gpios-cifpower", 0, &flags);
  115. +        cif_isp10_pltfrm_pr_info(dev,"gpios-cifpower: gpio_request");
  116. +        io_ret = gpio_request(cifpower_io,"cifpower");
  117. +        cif_isp10_pltfrm_pr_info(dev,"1-gpios-cifpower: gpio_request=%d", io_ret);
  118. +        if(io_ret < 0){
  119. +            cif_isp10_pltfrm_pr_err(dev,"Request %s(%d) failed","cifpower", cifpower_io);
  120. +        } else {
  121. +            gpio_direction_output(cifpower_io, 1);
  122. +            gpio_set_value(cifpower_io, 1);
  123. +            cif_isp10_pltfrm_pr_info(dev,"gpios-cifpower: %d high", cifpower_io);
  124. +        }
  125. +    }
  126. +        return;
  127. +}

  128. #ifndef CONFIG_DEBUG_FS
  129. #define CIF_ISP10_DBGFS_BUF_SIZE 1024
  130. @@ -1161,7 +1185,7 @@ int cif_isp10_pltfrm_dev_init(

  131.         dev_set_drvdata(dev, cif_isp10_dev);
  132.         cif_isp10_dev->dev = dev;
  133. -
  134. +        init_cif_power(dev);
  135.         pdata = devm_kzalloc(dev, sizeof(*pdata), GFP_KERNEL);
  136.         if (!pdata) {
  137.                 cif_isp10_pltfrm_pr_err(dev,
复制代码

串口错误信息如下:
[   13.176502] ov13850.ov_camera_module_write_config(182) ERR: no active sensor configuration
[   13.177250] ov13850.ov_camera_module_write_config(233) ERR: failed with error -14
[   13.178200] usb 1-1: new high-speed USB device number 2 using ehci-platform
[   13.178310] ov13850.pltfrm_camera_module_read_reg(1007) ERR: i2c read from offset 0x0000300a failed with error -6
[   13.179087] ov13850.pltfrm_camera_module_read_reg(1007) ERR: i2c read from offset 0x0000300b failed with error -6
[   13.179097] ov13850.ov13850_check_camera_id(1820) ERR: register read failed, camera module powered off?
[   13.179103] ov13850.ov13850_check_camera_id(1838) ERR: failed with error (-6)
[   13.179215] ov13850.ov_camera_module_attach(256) ERR: failed with error -6
[   13.179260] cif_isp10_img_src_v4l2_i2c_subdev_to_img_src(59) ERR: failed with error -6
[   13.179266] cif_isp10_img_src_to_img_src(70) ERR: to_img_src failed!
[   13.179272] cif_isp10_img_src_to_img_src(78) ERR: failed with error -14
[   13.179279] cif_isp10_img_srcs_init(1099) ERR: failed with error -14
[   13.179284] cif_isp10_create(5772) ERR: cif_isp10_img_srcs_init failed
[   13.179289] cif_isp10_create(5808) ERR: failed with error -14

请问这是少修改了哪个文件么?请帮忙分析
回复

使用道具 举报

60

积分

0

威望

0

贡献

技术小白

积分
60
发表于 2018-11-14 10:02:43        只看该作者  沙发
楼主,你调试成功了吗?
回复

使用道具 举报

14

积分

0

威望

0

贡献

技术小白

积分
14
发表于 2018-12-29 15:43:00        只看该作者  板凳
有谁调试成功了
回复

使用道具 举报

49

积分

0

威望

0

贡献

技术小白

积分
49
发表于 2019-6-17 14:29:22        只看该作者  地板
C:\Users\EDZ\Desktop\微信图片_20190617142758.jpg
回复

使用道具 举报

312

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
312
发表于 2019-6-18 14:43:54        只看该作者  5#
camera在IIC1上,不是在IIC3上
回复

使用道具 举报

31

积分

0

威望

0

贡献

技术小白

积分
31
发表于 2019-8-10 11:55:24        只看该作者  6#
有调试成功的嘛
回复

使用道具 举报

18

积分

0

威望

0

贡献

技术小白

积分
18
发表于 2019-8-13 20:21:50        只看该作者  7#
sensor的I2C地址和挂的I2C BUS号是不是错了
回复

使用道具 举报

26

积分

0

威望

0

贡献

技术小白

积分
26
发表于 2021-6-24 20:31:01        只看该作者  8#
楼主成功了吗
回复

使用道具 举报

26

积分

0

威望

0

贡献

技术小白

积分
26
发表于 2021-6-26 11:26:19        只看该作者  9#
遇到同样问题,I2C通信失败
回复

使用道具 举报

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

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表