• David Brownell's avatar
    interface: define TMS sequence command · a3245bd7
    David Brownell authored
    For support of SWD we need to be able to clock out special bit
    sequences over TMS or SWDIO.  Create this as a generic operation,
    not yet called by anything, which is split as usual into:
     - upper level abstraction ... here, jtag_add_tms_seq();
     - midlayer implementation logic hooking that to the lowlevel code;
     - lowlevel minidriver operation ... here, interface_add_tms_seq();
     - message type for request queue, here JTAG_TMS.
    This is done slightly differently than other operations: there's a flag
    saying whether the interface driver supports this request.  (In fact a
    flag *word* so upper layers can learn about other capabilities too ...
    for example, supporting SWD operations.)
    That approach (flag) lets this method *eventually* be used to eliminate
    pathmove() and statemove() support from most adapter drivers, by moving
    all that logic into the mid-layer and increasing uniformity between the
    various drivers.  (Which will in turn reduce subtle bugginess.)
    Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>