This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/TCA6408A: TCA6408A device can't found

Part Number: TCA6408A
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?