The deal includes bonuses based on playing time and other escalators that could increase the overall value of the deal to $8.5 million.
Jackson, who will turn 31 on Feb. 1, played in 85 games for the Cleveland Indians last season, as he gave them some outfield depth and insurance for All-Star Michael Brantley, who missed more than seven weeks because of a bothersome ankle injury. Jackson batted .318 with seven homers, 35 RBIs, three stolen bases and a .869 OPS this year for the AL Central champions.
Jackson played only 54 games for the Chicago White Sox in 2016. Before that, he played in 2015 for the Seattle Mariners and the Chicago Cubs, batting .267 with nine homers and 48 RBIs in 136 games. He played for the Tigers for four-plus seasons before he was traded to Seattle in a multi-team 2014 deadline deal that moved ace David Price from Tampa Bay to Detroit.
The right-handed-hitting Jackson has played mostly center field during his seven seasons in the majors. He is a .275 hitter with 62 homers, 349 RBIs and 111 steals in 999 career games.
The deal was first reported by FanRag Sports.