Cette expression du langage courant signifie "Pouvoir tout donner, se dépouiller de tout, par générosité ; être extrêmement généreux".
Elle ne s'emploie qu'au conditionnel : "Il donnerait sa chemise" ou "Il irait jusqu'à donner sa chemise".
Sources : www.larousse.fr et lyricstranslate.com