The Teesiders are willing to pay £2.5million for the 28-year-old, who has made more than 200 appearances for the Addicks.
He has still to pass a medical at the Riverside and agree personal terms, with Charlton boss Alan Pardew previously saying he would not prevent him from moving to a Premier League club.
Another player leaving The Valley is Denmark international Dennis Rommedahl, who has signed for Ajax.
The Dutch side have snapped up the inconsistent 28-year-old winger for £700,000 on a three-year deal.
Rommedahl moved to The Valley from PSV Eindhoven three years ago for £2million. He scored six times in 84 appearances for the Addicks.