Initial DSerial programming is done with the PROG connector. Once the bootloader is on the microcontroller, it can be programmed from DS or any other interface the bootloader supports.
Note: This is only required if there's no bootloader on the microcontroller.
Initial programming requires a programming cable from Silicon Laboratories. A modified ToolStick is the cheapest way and can also be used as an in-circuit debugger.
Programming via Bootloader
Since the microcontroller is self-reprogrammable, it's possible to use a bootloader that can receive the program from the supported interfaces and put it into internal flash. It's then possible to jump to that program.
Linux Driver for Programming Cable