首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将恩智浦PN7150驱动和设备信息集成到安卓x86内核,设备信息该何去何从?

将恩智浦PN7150驱动和设备信息集成到安卓x86内核,设备信息该何去何从?
EN

Stack Overflow用户
提问于 2019-01-24 23:18:17
回答 1查看 195关注 0票数 0

我正在尝试将恩智浦7150驱动程序集成到基于x86的平台的Android P中。

下面是给出的集成指南:https://www.nxp.com/docs/en/application-note/AN11690.pdf

因为x86目前还不支持设备树,所以我需要使用平台数据。但我不确定我应该将此信息放在哪个文件中:

代码语言:javascript
复制
static struct pn544_i2c_platform_data nfc_pdata = {
.irq_gpio = GPIO_TO_PIN(1,29),
.ven_gpio = GPIO_TO_PIN(0,30),
.firm_gpio = GPIO_UNUSED
.clkreq_gpio = GPIO_UNUSED
};
static struct i2c_board_info __initdata nfc_board_info[] = {
{
I2C_BOARD_INFO("pn547", 0x28),
.platform_data = &nfc_pdata,
},
};

我只有很少的驱动程序开发知识,因此我不能弄清楚。我已经将驱动程序构建为一个内置模块。我知道我需要插入PN7150加密狗,然后将设备信息放在内核代码中的某个地方,它可以在启动时调用驱动程序的探测器。请帮帮忙。

EN

回答 1

Stack Overflow用户

发布于 2019-01-25 16:42:20

正如我在我的评论中所说的;但是如果你没有任何板级文件(我假设在你的X86架构代码中没有),那么你可以简单地创建一个新的内核模块。在内核模块的初始化函数中,您可以注册您的I2C设备信息:

代码语言:javascript
复制
static int __init dummy_nfc_init(void) {

i2c_register_board_info(1, nfc_board_info,
            ARRAY_SIZE(nfc_board_info));
}

module_init(dummy_nfc_init);

在本例中,在注册电路板信息时,1的I2C总线编号。在您的示例中,您需要修改总线编号。您可以将此虚拟驱动程序作为内置驱动程序。因此,当您的.-name驱动程序与I2C_BOARD_INFO名称匹配时,"pn547"驱动程序将调用probe函数,而对于其他回调函数和read/write操作,则应匹配从属地址0x28I2C总线编号。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54349885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档