/************************************************************************
*  I.MX6 ov5640 camera
* 说明:
* 记录ov5640摄像头的设备注册方式。
*
* 2016-6-8 深圳 南山平山村 曾剑锋
***********************************************************************/ 一、设备注册:
cat arch/arm/mach-mx6/board-mx6q_sabresd.c
......
static void mx6q_csi0_io_init(void)
{
if (cpu_is_mx6q())
mxc_iomux_v3_setup_multiple_pads(mx6q_sabresd_csi0_sensor_pads,
ARRAY_SIZE(mx6q_sabresd_csi0_sensor_pads));
else if (cpu_is_mx6dl())
mxc_iomux_v3_setup_multiple_pads(mx6dl_sabresd_csi0_sensor_pads,
ARRAY_SIZE(mx6dl_sabresd_csi0_sensor_pads)); /* Camera reset */
gpio_request(SABRESD_CSI0_RST, "cam-reset");
gpio_direction_output(SABRESD_CSI0_RST, ); /* Camera power down */
gpio_request(SABRESD_CSI0_PWN, "cam-pwdn");
gpio_direction_output(SABRESD_CSI0_PWN, );
msleep();
gpio_set_value(SABRESD_CSI0_PWN, );
msleep();
gpio_set_value(SABRESD_CSI0_RST, );
msleep();
gpio_set_value(SABRESD_CSI0_RST, );
msleep();
gpio_set_value(SABRESD_CSI0_PWN, ); /* For MX6Q:
* GPR1 bit19 and bit20 meaning:
* Bit19: 0 - Enable mipi to IPU1 CSI0
* virtual channel is fixed to 0
* 1 - Enable parallel interface to IPU1 CSI0
* Bit20: 0 - Enable mipi to IPU2 CSI1
* virtual channel is fixed to 3
* 1 - Enable parallel interface to IPU2 CSI1
* IPU1 CSI1 directly connect to mipi csi2,
* virtual channel is fixed to 1
* IPU2 CSI0 directly connect to mipi csi2,
* virtual channel is fixed to 2
*
* For MX6DL:
* GPR13 bit 0-2 IPU_CSI0_MUX
* 000 MIPI_CSI0
* 100 IPU CSI0
*/
if (cpu_is_mx6q())
mxc_iomux_set_gpr_register(, , , );
else if (cpu_is_mx6dl())
mxc_iomux_set_gpr_register(, , , );
}
......
static void mx6q_mipi_sensor_io_init(void)
{
if (cpu_is_mx6q())
mxc_iomux_v3_setup_multiple_pads(mx6q_sabresd_mipi_sensor_pads,
ARRAY_SIZE(mx6q_sabresd_mipi_sensor_pads));
else if (cpu_is_mx6dl())
mxc_iomux_v3_setup_multiple_pads(mx6dl_sabresd_mipi_sensor_pads,
ARRAY_SIZE(mx6dl_sabresd_mipi_sensor_pads)); /* Camera reset */
gpio_request(SABRESD_MIPICSI_RST, "cam-reset");
gpio_direction_output(SABRESD_MIPICSI_RST, ); /* Camera power down */
gpio_request(SABRESD_MIPICSI_PWN, "cam-pwdn");
gpio_direction_output(SABRESD_MIPICSI_PWN, );
msleep();
gpio_set_value(SABRESD_MIPICSI_PWN, );
msleep();
gpio_set_value(SABRESD_MIPICSI_RST, );
msleep();
gpio_set_value(SABRESD_MIPICSI_RST, );
msleep();
gpio_set_value(SABRESD_MIPICSI_PWN, ); /*for mx6dl, mipi virtual channel 1 connect to csi 1*/
if (cpu_is_mx6dl())
mxc_iomux_set_gpr_register(, , , );
}
......
static struct fsl_mxc_camera_platform_data mipi_csi2_data = {
.mclk = ,
.mclk_source = ,
.csi = ,
.io_init = mx6q_mipi_sensor_io_init,
.pwdn = mx6q_mipi_powerdown,
};
......
static struct fsl_mxc_camera_platform_data camera_data = {
.mclk = ,
.mclk_source = ,
.csi = ,
.io_init = mx6q_csi0_io_init,
.pwdn = mx6q_csi0_cam_powerdown,
};
......
static struct i2c_board_info mxc_i2c0_board_info[] __initdata = {
......
{
I2C_BOARD_INFO("ov564x", 0x3c),
.platform_data = (void *)&camera_data,
},
......
}
......
static struct i2c_board_info mxc_i2c2_board_info[] __initdata = {
......
{
I2C_BOARD_INFO("ov5640_mipi", 0x3c),
.platform_data = (void *)&mipi_csi2_data,
},
......
}
...... 二、dmesg信息查看:
root@android:/ # dmesg | grep
<>camera ov5640 is found
<>camera ov5640_mipi is found
root@android:/ #

I.MX6 ov5640 camera的更多相关文章

  1. I.MX6 USB Camera

    /************************************************************************* * I.MX6 USB Camera * 说明: ...

  2. 第46章 DCMI—OV5640摄像头—零死角玩转STM32-F429系列

    第46章     DCMI—OV5640摄像头 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com ...

  3. MTK6577+Android之Camera驱动

    MTK6577+Android之Camera驱动 <MTK安卓平台的Camera效果在线调试> 1.     Camera拍照相关概念 1.1  ISP isp--(Image Signa ...

  4. OV5640全景模式预览倒180度,拍照正常的问题

    此方法基本上适用于所有android平台上全景模式预览倒180度,拍照正常的问题. 首先说明的是,影响camera方向的有三个地方,分别是系统方向,内核camera方向和驱动镜像.全景模式预览只跟系统 ...

  5. i.mx6 Android5.1.1 系统属性

    属性变更的请求时init事件循环处理的另一个事件,在Android平台中,为了让运行中的所有进程共享系统运行时所需要的各种设置值,系统开辟了属性存储区域,并提供了访问该区域的API.属性由键(key) ...

  6. I.MX6 PLL5 clock hakcing

    /************************************************************************** * I.MX6 PLL5 clock hakci ...

  7. 迅为I.MX6开发板工业级嵌入式开发平台

    迅为-i.MX6开发板是是基于ARM Cortex™-A9架构的高扩展性多核系列应用处理器, i.MX6系列芯片而且根据应用场合的不同,提供了可供选择的单核.双核和四核产品供客户选择.i.MX6系列的 ...

  8. [Unity3D]巧妙利用父级子级实现Camera场景平面漫游

    本文系作者原创,转载请注明出处 入门级的笔者想了一上午才搞懂那个欧拉角的Camera旋转..=.= 在调试场景的时候,每次都本能的按下W想前进,但是这是不可能的(呵呵) 于是便心血来潮想顺便添加个Ke ...

  9. [游戏开发-学习笔记]菜鸟慢慢飞(四)-Camera

    游戏开发中,主相机应该是最重要的GameObject之一,毕竟游戏呈现给玩家,就是通过它. 相机的使用,在不同的游戏中,有很大的不同.这里总结一下自己学到的一些相关知识. 固定位置-游戏过程中相机的T ...

随机推荐

  1. POJ 2464 Brownie Points II (树状数组,难题)

    题意:在平面直角坐标系中给你N个点,stan和ollie玩一个游戏,首先stan在竖直方向上画一条直线,该直线必须要过其中的某个点,然后ollie在水平方向上画一条直线,该直线的要求是要经过一个sta ...

  2. POJ 3034 Whac-a-Mole(DP)

    题目链接 题意 : 在一个二维直角坐标系中,有n×n个洞,每个洞的坐标为(x,y), 0 ≤ x, y < n,给你一把锤子可以打到地鼠,最开始的时候,你可以把锤子放在任何地方,如果你上一秒在( ...

  3. Spring REST for DELETE Request Method Not Supoorted

    http://stackoverflow.com/questions/22055251/sending-data-with-angularjs-http-delete-request I have a ...

  4. C#获取根目录的方法集合

    1.取得控制台应用程序的根目录方法      方法1.Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径      方法2.AppDomain.Curren ...

  5. NoSQL数据库有哪些

    NoSQL太火,冒出太多产品了,保守估计也成百上千了. 互联网公司常用的基本集中在以下几种,每种只举一个比较常见或者应用比较成功的例子吧. 1. In-Memory KV Store : Redis ...

  6. Hibernate笔记——hql总结

    原文:http://www.cnblogs.com/xiaoluo501395377/p/3376256.html ------------------------------------------ ...

  7. CSS3通配符

    在 CSS3 中,追加了三个属性选择器分别为: [att*=val] ----内容包含 [att^=val] ----开头匹配 [att$=val] ----结尾匹配 示例: <!DOCTYPE ...

  8. 关闭Centos写磁盘功能

    一个Linux文件默认有3个时间.atime:对此文件的访问时间. ctime:此文件inode发生变化的时间. mtime:此文件的修改时间. 如果有多个小文件(比如Web服务器的页面上有多个小图片 ...

  9. 关于strlen

    strlen的实现是通过4个字节4个字节进行枚举,然后通过位运算来判断这4个字节中是否有一个字节含有0,这样的话,效率就提高了4倍. 这个效率提高是假设a&b&c&d与a&am ...

  10. TCP三次握手和四次挥手过程及套接字在各个过程中的状态解析

    说起TCP,我们一般都需要知道发起一个tcp连接和终止一个tcp连接是所发生的事情,下边,我将跟大家介绍下tcp的三次握手及四次挥手的过程. TCP三路握手 (1)服务器必须准备好接受外来的连接.这通 ...