Custom IMX7D and tsc2004 not working

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Custom IMX7D and tsc2004 not working

692 Views
atakanakbulut
Contributor II

Hello i am triying to use tsc2004 with imx7d custom board added tsc2004 hardware over i2c . i am using kernel 4.1.15 and 4.9.11 but doesnt working 

KERNEL 

CONFIG_TOUCHSCREEN_TSC200X_CORE=y
CONFIG_TOUCHSCREEN_TSC2004=y

devicetree

.. .. .

&i2c1 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c1>;
status = "okay";

touch@48 {
compatible = "ti,tsc2004";
reg = <0x48>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_epdc_elan_touch>;
interrupts-extended = <&gpio6 12 IRQ_TYPE_EDGE_FALLING>;
wakeup-gpios = <&gpio6 12 GPIO_ACTIVE_LOW>;
};

pmic: pfuze3000@08 {
compatible = "fsl,pfuze3000";
reg = <0x08>;
regulators {
sw1a_reg: sw1a {
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <6250>;
};

/* use sw1c_reg to align with pfuze100/pfuze200 */
sw1c_reg: sw1b {
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <1475000>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <6250>;
};

sw2_reg: sw2 {
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1850000>;
regulator-boot-on;
regulator-always-on;
};

sw3a_reg: sw3 {
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1650000>;
regulator-boot-on;
regulator-always-on;
};

swbst_reg: swbst {
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5150000>;
};

snvs_reg: vsnvs {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <3000000>;
regulator-boot-on;
regulator-always-on;
};

vref_reg: vrefddr {
regulator-boot-on;
regulator-always-on;
};

vgen1_reg: vldo1 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};

vgen2_reg: vldo2 {
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1550000>;
};

vgen3_reg: vccsd {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};

vgen4_reg: v33 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};

vgen5_reg: vldo3 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};

vgen6_reg: vldo4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
};
};
};

pinctrl_epdc_elan_touch: epdc_elan_touch_grp {
fsl,pins = <
MX7D_PAD_SAI1_RX_DATA__GPIO6_IO12 0x7d
>;
};

=====================================================

dmesg output # 

$dmesg | grep -i tsc

error 1

tsc2004 0-0056: Error applying setting, reverse things back
tsc2004: probe of 0-0056 failed with error -22

@@ changed values 

tsc2004 2-0048: no irq

@@ changed value 

same errors

i tried a lot of times but doest work i tried 0x7d 0x59  . .. 

How can i fix my error 

0 Kudos
2 Replies

573 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi Atakan,

tsc2046 touch is supported for i.MX7D in linux/arch/arm/boot/dts/imx7d-sdb.dts

imx7d-sdb.dts\dts\boot\arm\arch - linux-imx - i.MX Linux kernel 

so one can use them as example for porting new driver, starting with probe function:

linux/drivers/input/touchscreen

Regards

0 Kudos

573 Views
atakanakbulut
Contributor II

i already added tsc2004 driver its have kernel 4.9.4 and enabled in kernel , and preparing 

my pin settings here MX7D_PAD_SAI1_RX_DATA__GPIO6_IO12  

my devicetree is wrong ?

0 Kudos