Hi, everyone
My platform AM3352, SDK8.0 DTS file is am335x-evmsk.dts
I2C0 Bus have a PCA-953XGPIOExpander IC(PCA9538)
Add PCA9538 support in dts file:
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;
status = "okay";
clock-frequency = <400000>;
tps: tps@2d {
reg = <0x2d>;
};
s35390a: s35390a@30 {
compatible = "s35390a";
reg = <0x30>;
status = "okay";
};
pca9538: pca953x@73 {
compatible = "nxp,pca9538";
reg = <0x73>;
status = "okay";
linux,gpio-base = <200>;
};
};
Go to Linux OS, PCA9538 function is OK, But Loading Kernel hvae some error information:
[ 1.765106] rtc-s35390a 0-0030: rtc core: registered rtc-s35390a as rtc0
[ 1.879007] ------------[ cut here ]------------
[ 1.883887] WARNING: CPU: 0 PID: 6 at drivers/gpio/gpio-pca953x.c:634 pca953x_probe+0x364/0x3d4()
[ 1.893231] pca953x_get_alt_pdata: device-tree property 'linux,gpio-base' is deprecated!
[ 1.901539] Modules linked in:
[ 1.904932] CPU: 0 PID: 6 Comm: kworker/u2:0 Not tainted 3.14.26-svn216 #5
[ 1.912166] Workqueue: deferwq deferred_probe_work_func
[ 1.917642] Backtrace:
[ 1.920237] [<c00111ec>] (dump_backtrace) from [<c0011388>] (show_stack+0x18/0x1c)
[ 1.928173] r6:0000027a r5:00000009 r4:dd891b58 r3:c080dd40
[ 1.934144] [<c0011370>] (show_stack) from [<c05a49c4>] (dump_stack+0x20/0x28)
[ 1.941741] [<c05a49a4>] (dump_stack) from [<c0034d0c>] (warn_slowpath_common+0x6c/0x8c)
[ 1.950240] [<c0034ca0>] (warn_slowpath_common) from [<c0034dd0>] (warn_slowpath_fmt+0x38/0x40)
Debuging , I found "linux,gpio-base = <200>;" delete is OK
Now, Device Tree & SDK8.0 is studying!
1. Add PCA9538 don't use Device Tree file, refer to SDK6.0, call function: omap_register_i2c_bus(1, 100, am335x_i2c0_boardinfo,ARRAY_SIZE(am335x_i2c0_boardinfo));
2. Add PCA9538 use DTS, but DTS add some context?