Other Parts Discussed in Thread: TCA6408
Tool/software: Linux
I'm using the AM335X-EVM board with the linux SDK. The expand I/O use two TCA6408A.
I have checked the kernel config "tisdk_am335x-evm_defconfig"
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCA953X_IRQ=y
So the driver have be added into the kernel.
And the PCA953X driver can also support TCA6498
{ .compatible = "ti,tca6408", .data = OF_953X( 8, PCA_INT), },
Then I have changed the device tree with
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;
status = "okay";
clock-frequency = <100000>;
tps: tps@2d {
reg = <0x2d>;
};
tca6408: tca6408@20 {
compatible = "tca6408";
reg = <0x20>;
};
};
When I check the node, it has been added.
root@am335x-evm:/sys/bus/i2c/devices# ls
0-0020 0-002d 1-0018 1-001b 1-0039 1-0048 i2c-0 i2c-1
But I can't find the device under /dev. I tried to compile the pca95x.c to pca953x.ko and insmod this modules but it said that it had been registered...
So what's wrong with my operations? How can I correct it?