Feb 27, 2010 10:50 AM EST

The Cardinals have reached a contract agreement with free-agent infielder Felipe Lopez, according to a source.

The deal is for one-year and $2 million.

Lopez batted .310, with a .383 on-base percentage, last season for the Diamondbacks and Brewers.

Via ESPN