GPIO到I2C内核驱动程序(与i2c-gpio相反)

时间:2016-07-16 02:52:57

标签: linux-device-driver gpio i2c device-tree zynq

我的Zynq主板有SPI,I2C但没有内核级GPIO(MIO上的GPIO被发送到其他一些东西)所以我无法从头部获取它。我这么说的时候请相信我。

我需要一些内核级GPIO,因此我可以驱动触摸屏界面。我需要将一些GPIO映射到stmpe610触摸屏驱动程序(Device Tree compatible =“st,stmpe610”)。这一切都很好。所以我想要做的是以某种方式将I2C映射到GPIO(将连接到显示器),并通过I2C将驱动器传送到接口。这样我就可以从内核空间访问i2c扩展器的GPIO引脚。

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

我有一个i2c扩展器迷你板,它将采用I2C并吐出GPIO。所以,如果我有一个非常好的gpio-i2C。

也许我已经远远地徘徊在人迹罕至的地方。 stmpe610有i2c驱动吗?这也可以缓解我的问题。

<<

1 个答案:

答案 0 :(得分:3)

如果我理解正确,您可以使用GPIO扩展板连接到Zync主板。

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

如果芯片还没有驱动程序,则必须为芯片编写GPIO驱动程序。一个很好的例子是MAX 7300的GPIO驱动器,它也通过I2C连接。请查看gpio-max7300.cgpio-max730x.c