Citing an unnamed source, the Associated Press reported the deal is for $4.25 million. The source spoke on condition of anonymity Wednesday night because the deal is pending a physical and no announcement had been made.
Diaz can earn another $250,000 in performance bonuses -- $125,000 each season.
The 32-year-old Diaz, who became a free agent when he recently was not offered a contract by the Braves, spent most of his time with Atlanta in a left-field platoon.
Diaz was slowed by a right thumb infection in 2010, when he hit only .250 with seven homers and 31 RBIs.
His overall average for five seasons with the Braves was .305. He hit .338 in 2007 and .313 in 2009, when he set career highs with 13 homers and 58 RBIs.
Information from The Associated Press was used in this report.