OpenOCD w/ ARM-USB-OCD-H+ARM_JTAG_SWD
I cannot address the programmer, adapter, or configuration files directly.
However, to get an answer started, I did peruse the link a bit and found this:

http://openocd.sourceforge.net/doc/html/Debug-Adapter-Configuration.html#Debug-Adapter-Configuration


  8.3 Transport Configuration
  
  As noted earlier, depending on the version of OpenOCD you use, and the
  debug adapter you are using, several transports may be available to
  communicate with debug targets (or perhaps to program flash memory).
  
  — Command: transport list
    displays the names of the transports supported by this version of OpenOCD.
  
  — Command: transport select transport_name
    Select which of the supported transports to use in this OpenOCD session. The transport
  must be supported by the debug adapter hardware and by the version of
  OpenOCD you are using (including the adapter's driver). No arguments:
  returns name of session's selected transport.


Presumably, selecting SWD in this manner will tell the programmer to switch to SWD and to send the JTAG->SWD transition command to the chip before programming.