Linebacker Clay Matthews, who played at USC, agreed to a contract with the Cleveland Browns, ending a five-week holdout.