/************************************************************************
*  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 3686

    The Windy's Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 3791   Accepted: 1631 Descr ...

  2. LA 3713

    The Bandulu Space Agency (BSA) has plans for the following three space missions: Mission A: Landing ...

  3. servlet 项目

    1.Servlet基础类,必须继承HttpServlet package com.fan; import java.io.IOException; import java.io.PrintWriter ...

  4. 安装DirectX SDK (June 2010) 失败(Error Code S1023)(转)

    解决: 在控制面板里面搜索“Microsoft Visual C++*”,然后卸载,这个工具的名字大概是: Microsoft Visual C++ 2010 x86/x64 redistribuab ...

  5. 重温《js权威指南》 第2-3章

    第二章 语法结构         2.1 js区分大小写,html不区分大小写         2.5 注意分号,如果没有分号,解释器会试图解析js,并在不能解析的地方加分号 第三章 值和变量     ...

  6. ios 监听app从后台恢复到前台

    正常情况下,在AppDelegate中实现下面两个方法,能够监听从后台恢复到前台 [cpp] - (void)applicationDidEnterBackground:(UIApplication ...

  7. Bootstrap全屏

    1.由于bootstrap中的.containter是根据媒体查询定死了width,所以页面不会占满全屏,若要全屏,则最外面的div的class不能用container(或改用.container-f ...

  8. 配置Linux系统网卡连接网络

    本实验需要两台虚拟机来完成,环境如下: 主机名称 操作系统 ip地址 本地主机 RHEL7_64 192.168.157.134 -> 192.168.129.127 远程主机 CentOS 6 ...

  9. 【推荐】《Netty in action》书籍

    最近准备开始阅读一下<Netty in action>并且准备构架设计一个分布式系统.用于新项目. 貌似压力很大啊.压力就是东西.希望自己能够调节好. Netty in action是Ne ...

  10. URAL 1233 Amusing Numbers 好题

    参照了nocow上的解法,照搬过来…… 易知一个数X在数列中在另一个数Y前,当且仅当X前缀小于Y或前缀相等X短,那么我们分布考虑,比如对于数48561: 5位上:10000~48560; 4位上:10 ...