async def METHOD_NAME(self):
    await self.lower.test_reset()
    idcode_bits = await self.lower.read_dr(32)
    idcode = DR_IDCODE.from_bits(idcode_bits)
    self._log("read IDCODE mfg_id=%03x arc_type=%02x arc_number=%03x",
              idcode.mfg_id, idcode.part_id & 0b111111, idcode.part_id >> 6)
    device = devices[idcode.mfg_id, idcode.part_id & 0b111111]
    return idcode, device