Atmel touch controller Required properties: - compatible : should be "atmel,mxt-ts" - reg : i2c slave address of the device - interrupt-parent : parent of interrupt - interrupts : touch sample interrupt to indicate presense or release of fingers on the panel. - atmel,panel-coords : touch panel minimum x, minimum y, maximum x and maximum y resolution - atmel,display-coords : LCD display minimum x, minimum y, maximum x and maximum y resolution - vdd_ana-supply : Analog power supply needed to power device - atmel,irq-gpio : irq gpio - atmel,reset-gpio : reset gpio - atmel,family-id : family identification of the controller - atmel,variant-id : variant identification of the controller - atmel,version : firmware version of the controller - atmel,build : firmware build number of the controller Required for firmware update only: - atmel,fw-name : firmware name to use for flashing firmware - atmel,bootldr-id : bootloader identification of the controller Optional property: - atmel,bl-addr : bootloader address, by default is looked up in mxt_slave_addresses structure - atmel,config : configuration parameter for the controller - atmel,i2c-pull-up : specify to indicate pull up is needed - vcc_i2c-supply : Power source required to pull up i2c bus - atmel,dig-reg-support : specify to indicate digital regulator is needed - atmel,need-calibration : specify to indicate whether calibration is needed during wakeup. - atmel,no-force-update : flag that signifies whether force configuration update is applicable or not Example: i2c@f9966000 { cell-index = <3>; compatible = "qcom,i2c-qup"; reg = <0xf9966000 0x1000>; #address-cells = <1>; #size-cells = <0>; reg-names = "qup_phys_addr"; interrupts = <0 104 0>; interrupt-names = "qup_err_intr"; qcom,i2c-bus-freq = <100000>; qcom,i2c-src-freq = <24000000>; atmel_mxt_ts@4a { compatible = "atmel,mxt-ts"; reg = <0x4a> interrupt-parent = <&msmgpio> interrupts = <48 0x0>; vdd_ana-supply = <&pm8941_l18>; vcc_i2c-supply = <&pm8941_lvs1>; atmel,panel-coords = <0 0 479 799>; atmel,display-coords = <0 0 479 799>; atmel,i2c-pull-up; atmel,no-force-update; atmel,dig-reg-support; atmel,key-codes = < 102 139 0 0 0 0 0 0 0 158 217 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >; atmel,irq-gpio = <&msmgpio 48 0>; atmel,reset-gpio = <&msmgpio 26 0>; atmel,cfg_1 { atmel,family-id = <0x81>; atmel,variant-id = <0x01>; atmel,version = <0x10>; atmel,build = <0xaa>; atmel,config = [ /* Object 6, Instance = 0 */ 00 00 00 00 00 00 /* Object 38, Instance = 0 */ 15 00 02 10 08 0C 00 00 /* Object 7, Instance = 0 */ FF FF 32 03 /* Object 8, Instance = 0 */ 0F 00 0A 0A 00 00 0A 00 00 00 /* Object 9, Instance = 0 */ 83 00 00 18 0E 00 70 32 02 01 00 03 01 01 05 0A 0A 0A 90 05 F8 02 00 00 0F 0F 00 00 48 2D 07 0C 00 00 00 00 /* Object 15, Instance = 0 */ 00 00 00 00 00 00 00 00 00 00 00 /* Object 18, Instance = 0 */ 00 00 /* Object 19, Instance = 0 */ 00 00 00 00 00 00 /* Object 23, Instance = 0 */ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 /* Object 25, Instance = 0 */ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 /* Object 40, Instance = 0 */ 00 00 00 00 00 /* Object 42, Instance = 0 */ 00 00 00 00 00 00 00 00 00 00 /* Object 46, Instance = 0 */ 00 00 10 10 00 00 03 00 00 01 /* Object 47, Instance = 0 */ 08 0A 28 0A 02 0A 00 8C 00 20 00 00 00 /* Object 55, Instance = 0 */ 00 00 00 00 00 00 /* Object 56, Instance = 0 */ 03 00 01 18 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 /* Object 57, Instance = 0 */ 00 00 00 /* Object 61, Instance = 0 */ 00 00 00 00 00 /* Object 61, Instance = 1 */ 00 00 00 00 00 /* Object 62, Instance = 0 */ 7F 03 00 16 00 00 00 00 00 00 04 08 10 18 05 00 0A 05 05 50 14 19 34 1A 64 00 00 04 40 00 00 00 00 00 30 32 02 00 01 00 05 00 00 00 00 00 00 00 00 00 00 00 0C 00 ]; } } };