Add i2c device, tp driver development

Hi, I’m developing a touchscreen driver with Hikey.

I added the hi6220.dtsi, followed the example of i2c2, as below:

i2c1: i2c@f7101000 {
			compatible = "snps,designware-i2c";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x0 0xf7101000 0x0 0x1000>;
			interrupts = <0 45 4>;

			clocks = <&clock_sys HI6220_I2C1_CLK>;

			clock-names = "clk_i2c1";
			i2c-sda-hold-time-ns = <300>;
			delay-reg = <0x0 0x0e8 0x0 4>;
			reset-controller-reg = <0x320 0x324 0x328 3>;
			pinctrl-names = "default";
			pinctrl-0 = <&i2c1_pmx_func &i2c1_cfg_func>;
			status = "ok";

                        focaltech_ts@38 {
                                        compatible= "focaltech,focaltech_ts";
                                        reg = <0x38>;
                                        interrupt-parent = <&gpio2>;
                                        interrupts = <2 2>; 
                            };
}
i2c2: i2c@f7102000 {
			compatible = "snps,designware-i2c";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x0 0xf7102000 0x0 0x1000>;
			interrupts = <0 46 4>;

			clocks = <&clock_sys HI6220_I2C2_CLK>;
			clock-names = "clk_i2c2";
			i2c-sda-hold-time-ns = <300>;
			delay-reg = <0x0 0x0f8 0x0 4>;
			reset-controller-reg = <0x330 0x334 0x338 3>;
			pinctrl-names = "default";
			pinctrl-0 = <&i2c2_pmx_func &i2c2_cfg_func>;
			status = "ok";

			adv7533: adv7533@39 {
				compatible = "adi,adv7533";
				reg = <0x39>;
				interrupt-parent = <&gpio1>;
				interrupts = <1 2>;
				pd-gpio = <&gpio0 4 0>;
				adi,input-depth = <8>;
				adi,input-colorspace = "rgb";
				adi,input-clock = "1x";
				adi,clock-delay = <0>;
				adi,embedded-sync;
			};
		 };

as the kernel log showed:

[    2.813844] i2c_designware f7101000.i2c: could not find pctldev for node /smb/pinmux@f7010000/i2c1_pmx_func, deferring probe
[    2.813871] i2c_designware f7102000.i2c: could not find pctldev for node /smb/pinmux@f7010000/i2c2_pmx_func, deferring probe

I tried to access the i2c1, but i got a 121(remote i/o error).

[    6.947623] [FTS] fts_i2c_read_universal. line: 112.  i2c read error.
[    6.954061] FTS, read 0xA8: ret: -121, 00, 00, 00
[    6.958773] FTS, i2c_client.addr: 38, i2c_client.irq: 80

So can someone help out of this?

I am also trying same. Did you try to get something now?