TI中文支持网
TI专业的中文技术问题搜集分享网站

关于使用实时时钟ds1307时,am335x硬件端口初始化配置问题?

使用的是am335x,,sdk6.0开发包里面的Kernel,实时时钟使用芯片为ds1337,接am335x的I2C0口,现在的问题是,添加实时时钟驱动后,实时时钟可读可写,但我在board-am335xevm.c里面就是没有看到关于I2C0硬件端口初始化的代码(应该将I2C0_SCLy与I2C0_SDA初始化为I2C口),请问这是什么原因?

static struct i2c_board_info i2c0_boardinfo[] = {
 {
  I2C_BOARD_INFO("tps65217", TPS65217_I2C_ID),
  .platform_data  = &beaglebone_tps65217_info,
 },
 {
    I2C_BOARD_INFO("ds1307", 0x68),
 },
   {
            I2C_BOARD_INFO("24c256", 0x50),
   },
};

 static void __init am335x_evm_i2c_init(void)
{
 /* Initially assume General Purpose EVM Config */
 am335x_evm_id = EVM_SK;
 omap_register_i2c_bus(1, 100, i2c0_boardinfo,ARRAY_SIZE(i2c0_boardinfo));
}

关于初始化的就只有上面这些代码,搜遍整个board-am335xevm.c文件均没有初始化I2C0硬件端口的代码。

WTMEC-Fone Chang:

omap_register_i2c_bus(1, 100, i2c0_boardinfo,ARRAY_SIZE(i2c0_boardinfo));

這裡的bus id 1就是I2C0, i2c底層在driver/i2c/busses/i2c-omap

Mak he:

回复 WTMEC-Fone Chang:

我感觉am335x芯片配置里面应该有一个关于I2C配置端口配置的,如将I2C_SCL引脚配置为/TIMER7/UART2_RTSN/ECAP1_IN_PWM1_OUT/GPIO3_6口的话,那么就不是I2C了,所以我觉得I2C端口应该有个配置,但就是找不到在哪里配置的。

Jian Zhou:

回复 Mak he:

请问你指的是对应管脚的pinmux么?

WTMEC-Fone Chang:

回复 Mak he:

應該是如上面TI所說的pinmux mode設置, 感覺樓主都忽視了Bootloader所設置過的部分

leo chen:

回复 WTMEC-Fone Chang:

有可能在uboot中已经初始化了

uboot的时候也会读EEPROM的信息

Steven Liu1:

回复 leo chen:

印象中I2C0的PINMUX信息等的初始化在UBOOT里面就配置了,而且kernel的前面部分也是会再次初始化的。因为这个接口是可以控制PMIC的,在进入kernel的时候,调频时会通过I2C0来进行PMIC的调压,所以此前就是需要初始化了的。

Mak he:

回复 Steven Liu1:

I2C0在UBOOT里面会配置,这个我倒是知道,但在kernel里面在哪个位置配置的就没有找到。

赞(0)
未经允许不得转载:TI中文支持网 » 关于使用实时时钟ds1307时,am335x硬件端口初始化配置问题?
分享到: 更多 (0)