def METHOD_NAME(self, target, args):
    subtarget = super().METHOD_NAME(target, args)
    if args.pin_reset is not None:
        reset_t = self.mux_interface.get_pin(args.pin_reset)
        dut_reset, self.__addr_dut_reset = target.registers.add_rw(1)
    else:
        reset_t = None
        dut_reset = None
        self.__addr_dut_reset = None
    if args.pin_done is not None:
        done_t = self.mux_interface.get_pin(args.pin_done)
        dut_done, self.__addr_dut_done = target.registers.add_ro(1)
    else:
        done_t = None
        dut_done = None
        self.__addr_dut_done = None
    return ProgramICE40FlashSubtarget(subtarget, reset_t, dut_reset, done_t, dut_done)