https://e2e.ti.com/support/interface-group/interface/f/interface-forum/824134/linux-tca9539-student
器件型号:TCA9539主题中讨论的其他器件: DM3730、 PCA9539、 TCA8418E、 TCA8418
工具/软件:Linux
你(们)好
我使用两个 tca9539器件具有20个输入密钥、这两个器件 通过 i2c 连接到 dm3730。 Linux 内核为2.6.3。 但是,内核只有驱动程序 pca953x.c、所以我在 pca953x.c 中添加了一些代码:
静态常量结构 i2c_device_id pca953x_id[]={ "pca9534"、8、}、 {"pca9535"、16、 }、 {"pca9536"、4、}、 {"pca9537"、 4、}、 {"pca9538"、8、}、 {"pca9539"、16、}、 {"pca9554"、8、 }、 {"pca9555"、16、}、 {"pca9556"、 8、}、 {"pca9557"、8、}、 {"max7310"、8、}、 {"max7315"、8、 }、 {"pca6107"、8、}、 {"tca6408"、 8、}、 {"tca6416"、16、}、 {"tca9539"、16、}、/*由 ME-20190723*/* nyet:{"tca6424"、24、}、*/ {} };
此外、我还在 board-omap3devkit8500.c 中添加了一些代码:
静态结构 pca953x_platform_data gpio_tca9539[]={ [0]={ .gpio_BASE = 500、 }、 [1]={ .gpio_BASE = 550、 }、 }; 静态结构 i2c_board_info __initdata devkit8500_i2c3_boardinfo[]={"i2c_board_info" 、0x9539 (tca9539) .platform_data =&GPIO_tca9539[0]、 } 、{ I2C_Board_info ("tca9539"、0x76)、 .platform_data =&gpio_tca9539[1]、 }、 }; static int __init omap3_devkit8500_i2c_init (void) { omap_register_i2c_bus (1、2600、devkit8500_i2c1_boardinfo、 array_size (devkit2c_i2c1_boardinfo )、i8500 400、devkit8500_i2c2_boardinfo、 array_size (devkit8500_i2c2_boardinfo)); //将总线3连接到 DVI 端口、其中诸如 pico DLP *投影仪的设备无法在400kHz 下可靠运行*//omap_register_i2c_bus (3、100、NULL、0); iomap_register 3c (3); 100、devkit8500_i2c3_boardinfo、 array_size (devkit8500_i2c3_boardinfo)); 返回0; }
我不知道两个 tca9539器件20个键 GPIO_base、因此我给出了500和550、
在 make menuconfig 中、我有 include
[*]/sys/class/gpio/...(syses 界面)
<*>pca953x、pca955x、tca64xx 和 max7310 I/O 端口
<*>映射 i2c 适配器
问题是
1) 1)我是否正确配置了 tca9539驱动程序?
2)如何在 用户级别使用这20个密钥?
请告诉我,非常感谢。