GPIO 转 I2C 内核驱动(与 i2c-gpio 相反)

GPIO to I2C kernel driver (opposite of i2c-gpio)

我的 Zynq 开发板有 SPI、I2C,但没有内核级 GPIO(MIO 上的 GPIO 被发送到一堆其他东西)所以我无法从头文件中获取它。相信我的话。

我需要一些内核级别的 GPIO,以便我可以驱动触摸屏界面。我需要将一些 GPIO 映射到 stmpe610 触摸屏驱动程序(兼容设备树 = "st,stmpe610")。这一切都很好。所以我想做的是以某种方式将 I2C 映射到 GPIO(它将连接到显示器),并通过 I2C 将驱动程序通过管道连接到接口。这样我就可以从内核 space.

访问我的 i2c 扩展器的 GPIO 引脚

我查看了 i2c-gpio 驱动程序,但它与我想要的相反 (http://lwn.net/Articles/230571/)。它采用 GPIO 并通过位碰撞使其成为 I2C。

我有一个 i2c 扩展器迷你板,可以接受 I2C 并输出 GPIO。所以如果我有一个 gpio-i2C 那就太好了。

可能是我走得太远,走偏了。 stmpe610 有 i2c 驱动吗?这也可以缓解我的问题。

<<

如果我没听错的话,你有一个可以连接到 Zync 主板的 GPIO 扩展板。

如果以上假设是正确的,您要做的就是为您的GPIO扩展板找到正确的驱动程序。你有什么型号?上面有什么芯片?也许内核中已经有它的驱动程序。如果是这样,那么您只需在设备树中的 I2C 基本控制器节点下声明它,这样它的 GPIO 就可以在设备树中为您的 stmpe610 触摸屏节点引用。

如果该芯片还没有驱动,那么您就需要为该芯片编写一个GPIO驱动。一个很好的例子是 MAX 7300 的 GPIO 驱动程序,它也通过 I2C 连接。看看gpio-max7300.c and gpio-max730x.c