Just to say that, although the instructions all talk about performing the update from Windows, I've successfully managed to run it on my Max Carta from Linux (Ubuntu 16.04 LTS) using the Linux version of MfgTools available from
https://github.com/NXPmicro/mfgtools
A few points to note, but TRY THIS AT YOUR OWN RISK:
(1) I had the update hang when I compiled using the default gcc 5.x ; using 4.8 seemed to work though (pass "CC=gcc-4.8 CXX=g++-4.8" as arguments to make when compiling).
(2) If you don't want to run the tool as root, you'll need udev rules as follows (there are two USB IDs for different stages, different to the ones required for Fastboot, ADB or USB mass storage):
SUBSYSTEM=="usb", ATTR{idVendor}=="15a2", ATTR{idProduct}=="0063", MODE="0660", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="066f", ATTR{idProduct}=="37ff", MODE="0660", GROUP="plugdev"
(3) Usage of the command-line tool isn't well documented, but this is what I ran after compiling:
./mfgtoolcli -p 1 -o MaxCarta_2017-05-19_22-37_dev_0d4c523_user/ -c "MX6SL Linux Update" -l Android-EVK-SD
(4) The log file reports "Failed to initialize memory" and "Command Boot excute failed" at one point, but it seems the boot in fact succeeds as the rest of the actual update commands do proceed.
(5) At the end, the tool reports "Done" but does not exit until you press CTRL+C, and the device shuts down and no longer appears in lsusb at all. At this point you can disconnect and power on. As described for the update from Windows, this first boot will take a while!