首页 文章

访问通过GPIO连接到FPGA的RTC I2C芯片

提问于
浏览
0

我需要通过I2C从RTC设备(stm41t83)获取数据 . 该器件直接连接到GPIO的两个引脚 . 我尝试使用i2c-gpio驱动程序和下面的代码,

#include <linux/module.h>
#include <linux/init.h>
#include <linux/i2c-gpio.h>
#include <linux/i2c.h>
#include <linux/platform_device.h>
#include <linux/kernel.h>

#define GPIO_RTC_SDA        100
#define GPIO_RTC_SCL        99


MODULE_DESCRIPTION("i2c via gpio module");
MODULE_LICENSE("GPL");

static struct i2c_gpio_platform_data rtc_device_data = {
    .sda_pin = GPIO_RTC_SDA,
    .scl_pin = GPIO_RTC_SCL,
    .udelay  = 25
};

static struct platform_device i2c_gpio_bus_rtc = {
    .name   = "i2c-gpio",
    .id     = 0,
    .dev    = {
        .platform_data = &rtc_device_data,
    }
};

static int __init i2c_gpio_bus_init(void)
{
    return platform_device_register(&i2c_gpio_bus_rtc);
}

static void __exit i2c_gpio_bus_exit(void)
{
    platform_device_unregister(&i2c_gpio_bus_rtc);
}

module_init(i2c_gpio_bus_init);
module_exit(i2c_gpio_bus_exit);

但是当我使用i2c工具包中的i2cdetect实用程序时,我看不到我的RTC设备位于0x68 . 我是否需要添加其他东西才能使其正常工作?

谢谢你的回答!

JRM

1 回答

  • 0

    我终于解决了我的问题!我不是软件问题,而是FPGA配置问题 . 关注this link,发布#13以了解答案 .

    谢谢大家 ;-)

相关问题