bcm2835gpio: Add SWD support, Raspberry Pi 2 support.
[fw/openocd] / src / target / mips_ejtag.c
index 375cf51763a6e6f17bbe260ddef755f9f03b4ce8..2a16193f887e3aa28760cd838a7f416bd72fd6cb 100644 (file)
@@ -352,9 +352,9 @@ static void ejtag_v20_print_imp(struct mips_ejtag *ejtag_info)
                EJTAG_IMP_HAS(EJTAG_V20_IMP_NOPB) ? " noPB" : " PB",
                EJTAG_IMP_HAS(EJTAG_V20_IMP_NODB) ? " noDB" : " DB",
                EJTAG_IMP_HAS(EJTAG_V20_IMP_NOIB) ? " noIB" : " IB");
-       LOG_DEBUG("EJTAG v2.0: Break Channels: %i",
-               (ejtag_info->impcode >> EJTAG_V20_IMP_BCHANNELS_SHIFT) &
-               EJTAG_V20_IMP_BCHANNELS_MASK);
+       LOG_DEBUG("EJTAG v2.0: Break Channels: %" PRIu8,
+               (uint8_t)((ejtag_info->impcode >> EJTAG_V20_IMP_BCHANNELS_SHIFT) &
+               EJTAG_V20_IMP_BCHANNELS_MASK));
 }
 
 static void ejtag_v26_print_imp(struct mips_ejtag *ejtag_info)
@@ -432,8 +432,11 @@ int mips_ejtag_init(struct mips_ejtag *ejtag_info)
                ejtag_info->impcode |= EJTAG_IMP_NODMA;
        }
 
-       /* set initial state for ejtag control reg */
-       ejtag_info->ejtag_ctrl = EJTAG_CTRL_ROCC | EJTAG_CTRL_PRACC | EJTAG_CTRL_PROBEN | EJTAG_CTRL_SETDEV;
+       ejtag_info->ejtag_ctrl = EJTAG_CTRL_PRACC | EJTAG_CTRL_PROBEN;
+
+       if (ejtag_info->ejtag_version != EJTAG_VERSION_20)
+               ejtag_info->ejtag_ctrl |= EJTAG_CTRL_ROCC | EJTAG_CTRL_SETDEV;
+
        ejtag_info->fast_access_save = -1;
 
        mips_ejtag_init_mmr(ejtag_info);