-
Notifications
You must be signed in to change notification settings - Fork 0
Firmware Updgrade
A maXTouch device may support different firmware versions. Changes between firmware versions may result in removal or addition of individual configuration settings or entire objects altering the configuration checksum. When firmware is upgraded, a new configuration is typically loaded into the chip.
The maXTouch “.enc” firmware files are in ASCII HEX and must be converted into raw format:
xxd -r -p firmware.enc > /lib/firmware/maxtouch.fw
The file must be placed in the firmware loader path similar to the maxtouch.cfg file.
The following command is used to trigger the firmware update through the sysfs attribute update_fw:
echo maxtouch.fw > /sys/bus/i2c/drivers/atmel_mxt_ts/1-004a/update_fw
The following is an example of the firmware update messages:
echo maxtouch.fw > /sys/bin/bus/i2c/drivers/atmel_mxt_ts/1-004a/update_fw
atmel_mxt_ts 1-004a: Opened firmware file: maxtouch.fw
atmel_mxt_ts 1-004a: File format is okay
atmel_mxt_ts 1-004a: Sent bootloader command.
atmel_mxt_ts 1-004a: Bootloader address: 26
atmel_mxt_ts 1-004a: Found bootloader I2C address
atmel_mxt_ts 1-004a: __mxt_write_reg: i2c send failed (-121)
atmel_mxt_ts 1-004a: Unlocking bootloader
atmel_mxt_ts 1-004a: Sent 50 frames, 8024/150868 bytes
atmel_mxt_ts 1-004a: Sent 100 frames, 15824/150868 bytes
atmel_mxt_ts 1-004a: Sent 150 frames, 23624/150868 bytes
atmel_mxt_ts 1-004a: Sent 200 frames, 31424/150868 bytes
atmel_mxt_ts 1-004a: Sent 250 frames, 39224/150868 bytes
atmel_mxt_ts 1-004a: Sent 300 frames, 47024/150868 bytes
atmel_mxt_ts 1-004a: Sent 350 frames, 54824/150868 bytes
atmel_mxt_ts 1-004a: Sent 400 frames, 62624/150868 bytes
atmel_mxt_ts 1-004a: Sent 450 frames, 70424/150868 bytes
atmel_mxt_ts 1-004a: Sent 500 frames, 78224/150868 bytes
atmel_mxt_ts 1-004a: Sent 550 frames, 86024/150868 bytes
atmel_mxt_ts 1-004a: Sent 600 frames, 93824/150868 bytes
atmel_mxt_ts 1-004a: Sent 650 frames, 101624/150868 bytes
atmel_mxt_ts 1-004a: Sent 700 frames, 109424/150868 bytes
atmel_mxt_ts 1-004a: Sent 750 frames, 117224/150868 bytes
atmel_mxt_ts 1-004a: Sent 800 frames, 125024/150868 bytes
atmel_mxt_ts 1-004a: Sent 850 frames, 132824/150868 bytes
atmel_mxt_ts 1-004a: Sent 900 frames, 140608/150868 bytes
atmel_mxt_ts 1-004a: Sent 950 frames, 148408/150868 bytes
atmel_mxt_ts 1-004a: Sent 965 frames, 150868 bytes
atmel_mxt_ts 1-004a: The firmware update succeeded
atmel_mxt_ts 1-004a: Family: 164 Variant: 21 Firmware V2.3.AA Objects: 39
atmel_mxt_ts 1-004a: Config CRC 0x4FD6D1: does not match file 0x09B259
atmel_mxt_ts 1-004a: Resetting device
atmel_mxt_ts 1-004a: Config successfully updated
atmel_mxt_ts 1-004a: Touchscreen size X1023Y1023
The __mxt_write_reg: i2c send failed (-121) message can be ignored. This message occurs because an
interrupt is generated from the device that causes an additional read at the device slave address 0x4a after the chip has
already switched over to the bootloader address (i.e 0x26).
After flashing, the configuration is written if the maxtouch.cfg file is found in the same firmware loader path.