M7350/kernel/Documentation/devicetree/bindings/input/touchscreen/atmel-mxt-ts.txt

138 lines
4.2 KiB
Plaintext
Raw Normal View History

2024-09-09 08:52:07 +00:00
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
];
}
}
};