2011-07-23 271 views
2

我需要为我的 芯片组中的少数控制器编写我自己的驱动程序。我使用SDK开发SoC,它不提供“linux i2c compatible”驱动程序。它具有简单的字符驱动程序为i2c。我想 使用一些标准的i2c RTC驱动程序。I2C linux驱动程序

  • 我想我需要将文件添加到/总线文件夹, 实现标准接口。就这样。这个文件应该是 与i2c-core和i2c-dev合作?

  • 哪个驱动程序是最好的基础?我有〜9 32位寄存器 来处理。从第一眼看i2c-ibm_iic.c对我来说相当于 友善。

I2C是针对该SoC的SPI和USB-gadget驱动程序之前的预热。 你知道吗,对于这样的任务可能是原始的男性/小时估计吗?

我会欣赏任何提示。

BR 巴特洛梅耶Grzeskowiak

回答

3

企业的首要任务是找到,如果你或许IC驱动器已经在Linux内核中或通过第三方实现。您可能会发现您需要的驱动程序已经实施。尝试询问您的SoC供应商是否可以告诉哪个公司生产I2C宏单元,因为您正在寻找替代驱动程序。同样,您可能会发现您需要的驱动程序已经存在。

你正在寻找正确的地方。该文件应该进入总线,并应实现并注册驱动程序接口。您还需要注册一个平台设备,以便内核将像往常一样连接驱动程序设备对。其他SoC有很多这样的例子,如果你没有。我不认为你会发现你需要与i2c-core和i2c-dev进行交互。

我会寻找一个小文件大小和最近修改的驱动程序,如果我不得不选择一个作为基准。

SPI将花费与I2C相同的工作量。 USB小工具可能会更多 - 其他两项任务所需的工作量要多少倍,这取决于需要多少实施工作。我不愿意将任何一个数字放在任何一个任务上。如果幸运的话,不是所有功能都需要(例如,您是否在意低功耗待机?),并且您可能会偷工减料。