--- Quote Start ---
Oh that's good to know.
But in this case, do I have to use the USB Blaster to program the MAX 10, and then use the Atmel ICE (Atmel's JTAG programmer) to program the SAM4L? Or are those programmers all standard and the same programmer can program all JTAG devices in the chain?
--- Quote End ---
The programmers are the same at the JTAG level in that they all know how to implement the same low level JTAG protocol. How JTAG is used to program each device however is vendor specific, and each of the vendors upper level software know how to map an FPGA image file (.sof, .pof, etc) to a device.
The most straightforward approach would be to use an Altera USB Blaster for the Altera FPGA, and an Atmel ICE for the Atmel device. Each vendors software should know how to pass over/thru other devices to get to their specific device. I've had JTAG chains with 10s of devices (ASICs, SRAMS, CPUs, etc) on them and been able to program a single specific FPGA instance.
There are vendor independent JTAG data formats (SVF - Standard Vector Format; JBC - JAM/STAPL format) that Altera, Xilinx, Atmel tools all know how to generate and for example are used in programming devices in a manufacturing/test environment. There one will have a JTAG based tester access the board under test, and it will use the SVF, etc files to program each vendors devices, without manually have to plug/unplug Altera/Xilinx/Atmel specific USB pods.
So google SVF format for your appropriate vendor if you need to go down that route.