+ case CFG_IGNORE_SYSPWRUPACK:
+ dap->dap.ignore_syspwrupack = true;
+ break;
+ case CFG_DP_ID: {
+ jim_wide w;
+ e = jim_getopt_wide(goi, &w);
+ if (e != JIM_OK) {
+ Jim_SetResultFormatted(goi->interp,
+ "create %s: bad parameter %s",
+ dap->name, n->name);
+ return JIM_ERR;
+ }
+ if (w < 0 || w > DP_TARGETSEL_DPID_MASK) {
+ Jim_SetResultFormatted(goi->interp,
+ "create %s: %s out of range",
+ dap->name, n->name);
+ return JIM_ERR;
+ }
+ dap->dap.multidrop_targetsel =
+ (dap->dap.multidrop_targetsel & DP_TARGETSEL_INSTANCEID_MASK)
+ | (w & DP_TARGETSEL_DPID_MASK);
+ dap->dap.multidrop_dp_id_valid = true;
+ break;
+ }
+ case CFG_INSTANCE_ID: {
+ jim_wide w;
+ e = jim_getopt_wide(goi, &w);
+ if (e != JIM_OK) {
+ Jim_SetResultFormatted(goi->interp,
+ "create %s: bad parameter %s",
+ dap->name, n->name);
+ return JIM_ERR;
+ }
+ if (w < 0 || w > 15) {
+ Jim_SetResultFormatted(goi->interp,
+ "create %s: %s out of range",
+ dap->name, n->name);
+ return JIM_ERR;
+ }
+ dap->dap.multidrop_targetsel =
+ (dap->dap.multidrop_targetsel & DP_TARGETSEL_DPID_MASK)
+ | ((w << DP_TARGETSEL_INSTANCEID_SHIFT) & DP_TARGETSEL_INSTANCEID_MASK);
+ dap->dap.multidrop_instance_id_valid = true;
+ break;
+ }
+ case CFG_ADIV6:
+ dap->dap.adi_version = 6;
+ break;
+ case CFG_ADIV5:
+ dap->dap.adi_version = 5;
+ break;