A police officer has resigned and faces criminal charges after a driver complained of being punched in the face while handcuffed.