The news was first reported by The Athletic's Joe Person.
An NFL source told WCNC Charlotte the move to pick up Barkley serves as insurance, in case Sam Darnold's shoulder injury prevents him from starting Sunday against the one-loss Arizona Cardinals.
Barkley would likely back up quarterback P.J. Walker if Darnold could not play.
The 30-year-old Barkley spent time in training camp with the Tennessee Titans this season before being cut and added to their practice squad.
In six NFL seasons, Barkley has thrown 11 touchdown passes and 22 interceptions.
The most action Barkley has seen in his career was in 2016 when he started six games with the Chicago Bears, taking the team to a 1-5 record.
Barkley has also played for the Philadelphia Eagles and Buffalo Bills.
The former USC product can also provide veteran experience for Darnold, another fellow Trojan, who has struggled this season.
In his latest poor outing, Darnold threw three interceptions against the New England Patriots, bringing his total to an NFL-high 11 on the season.
Carolina is 4-5 and travels to Arizona for a 4:05 p.m. ET kickoff on Sunday.
All of WCNC Charlotte's podcasts are free and available for both streaming and download. You can listen now on Android, iPhone, Amazon, and other internet-connected devices. Join us from North Carolina, South Carolina, or on the go anywhere.