rk3128 camera sensor的注册

来源:互联网 发布:windows资源管理器黑屏 编辑:程序博客网 时间:2024/05/17 07:52


       

      rk3128 camera注册通过填写rk312x-cif-sensor.dtsi 实现。如下,后置gc2145,前置gc0328:

     

gc2145{is_front = <0>; rockchip,powerdown = <&gpio3 GPIO_B3 GPIO_ACTIVE_HIGH>;pwdn_active = <gc2145_PWRDN_ACTIVE>;pwr_active = <PWR_ACTIVE_HIGH>;mir = <0>;flash_attach = <0>;resolution = <gc2145_FULL_RESOLUTION>;powerup_sequence = <gc2145_PWRSEQ>;orientation = <0>;i2c_add = <gc2145_I2C_ADDR>;i2c_rata = <100000>;i2c_chl = <2>;cif_chl = <0>;mclk_rate = <24>;};        gc0328{is_front = <1>; rockchip,powerdown = <&gpio3 GPIO_D7 GPIO_ACTIVE_HIGH>;pwdn_active = <gc0328_PWRDN_ACTIVE>;pwr_active = <PWR_ACTIVE_HIGH>;mir = <0>;flash_attach = <0>;resolution = <gc0328_FULL_RESOLUTION>;powerup_sequence = <gc0328_PWRSEQ>;orientation = <0>;i2c_add = <gc0328_I2C_ADDR>;i2c_rata = <100000>;i2c_chl = <2>;cif_chl = <0>;mclk_rate = <24>;};
注意以下几点:

       1.中括号外边sensor的名字和驱动一致。如果前后置一样,可以这样写gc0328_b,gc0328_f分别代表前后置。

       2.is_front代表前后置,值可以为1和0。

       3.rockchip,powerdown,sensor的powerdown引脚。

       4.pwdn_active代表休眠的电平

       5.pwr_active电源有效电平

       6.mir代表镜像

       7.flash_attach

       8.resolution代表分辨率

       9.powerup_sequence上电顺序

       10.orientation方向,可以填写0,90,180,270.

       11.i2c_chl与主控连接的I2C通道

       12.cif_chl控制器,不用改

       13.mclk_rate输入时钟频率

     所有这些宏定义在arch/arm/mach-rockchip/rk_camera_sensor_info.h

    注意驱动的宏定义在arch/arm/mach-rockchip/rk_camera.h

    还要注意驱动V4L2_IDENT_XXX定义在include/media/v4l2-chip-ident.h


      rk3128代码已经兼容了常见的camera,只需要将这些填写在这个rk312x-cif-sensor.dtsi即可。


      对于增加闪光灯的,要选择CONFIG_SENSOR_FLASH_IOCTL_USR = <1>;

   并增加rockchip,flash = <&gpio0 GPIO_B3 GPIO_ACTIVE_HIGH>;保证flash_attach = <1>;

   还要注意rk3128上层限制了30万,不打开闪光灯。

   

0 0
原创粉丝点击