打印
[i.MX]

i.MX6 I2C配置为GPIO问题

[复制链接]
2401|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wlw234|  楼主 | 2015-1-6 13:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我们有一个需求需要软件在运行过程中将I2C_SDAI2C_SCL配置为GPIO,使用完毕后再恢复为I2C功能。我们使用的引脚如下表所示。
  
PAD
  
Signal
Signal2
CSI0_DAT8
I2C1_SDA
GPIO5_IO26
CSI0_DAT9
I2C1_SCL
GPIO5_IO27
软件使用yocto版本,由于在DTS文件中做了相应的配置如下代码
&i2c1 {
        clock-frequency = <100000>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_i2c1_2>;
        status = "okay";
}
我准备在自己编写的驱动中通过修改寄存器的方式修改但不成功,以下是我设置GPIO5_IO26为低电平的代码,但通过测试发现输出为高电平。
#defineI2C_GPIO_BASE       0x20AC000 //GPIO5_DR
#defineSDA_PIN            26
#defineSCL_PIN            27
typedef struct _gpio_struct {
    u32 dr;
    u32gdir;   
}T_GPIO_STRUCT;
    static T_GPIO_STRUCT*s_i2c_gpio;
    u32 pin, data;
    int ret = 0;
    u32 *regmap;
    u32 reg_addr =0x20E0648;//IOMUXC_SW_PAD_CTL_PAD_CSI0_DATA08
    regmap =ioremap(reg_addr, sizeof(reg_addr));
    *regmap = 0x1B0B0;
    iounmap(regmap);
   
    reg_addr =0x20E0278; //IOMUXC_SW_MUX_CTL_PAD_CSI0_DATA08
    regmap =ioremap(reg_addr, sizeof(reg_addr));
    *regmap = 0x05;
    iounmap(regmap);
    s_i2c_gpio =ioremap(I2C_GPIO_BASE, sizeof(T_GPIO_STRUCT));
    s_i2c_gpio->gdir |=(1 << SDA_PIN);
通过测试读取0x20AC000寄存器中的数据为0xC0000000x20AC004 寄存器中的数据为0x7D00001
请帮忙分析问题,还有是否还有其它方法实现我所需要的功能?谢谢!

相关帖子

沙发
FSL_TICS_Rita| | 2015-1-6 15:21 | 只看该作者
楼主你好,我先帮你看一下,确认一下哈。

使用特权

评论回复
板凳
FSL_TICS_Rita| | 2015-1-6 15:24 | 只看该作者
对了,你这里板子是哪块?板子上使用的是哪个版本的BSP?

使用特权

评论回复
地板
wlw234|  楼主 | 2015-1-6 15:30 | 只看该作者
FSL_TICS_Rita 发表于 2015-1-6 15:24
对了,你这里板子是哪块?板子上使用的是哪个版本的BSP?

自己开发的板子,BSP版本为3.10.17

使用特权

评论回复
5
FSL_TICS_Rita| | 2015-1-6 17:16 | 只看该作者
wlw234 发表于 2015-1-6 15:30
自己开发的板子,BSP版本为3.10.17

是i.mx6哪个系列的处理器,i.mx6q还是i.mx6dl还是i.mx6solo?

使用特权

评论回复
6
wlw234|  楼主 | 2015-1-6 18:39 | 只看该作者
FSL_TICS_Rita 发表于 2015-1-6 17:16
是i.mx6哪个系列的处理器,i.mx6q还是i.mx6dl还是i.mx6solo?

是i.MX6q

使用特权

评论回复
7
FSL_TICS_Rita| | 2015-1-8 16:13 | 只看该作者
楼主你好,我这边帮你确认过了,寄存器你复用为什么就是什么的,你需要的功能我们这边没有办法实现。很抱歉~~
欢迎有问题继续在本论坛中交流讨论~~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

88

帖子

3

粉丝