Can you deposit cash(USD) you got from a foreign country to US bank account ?
Does the source of cash need to be declared ? Is it taxable ? What is the limit of the deposit ?
Sure; you can deposit cash. A few notes apply:
Does the source of cash need to be declared ?
If you deposit more than $10,000 in cash or other negotiable instruments, you'll be asked to complete a form called a Currency Transaction Report (here's the US Government's guidance for consumers about this form). There's some very important information in that guidance document about structuring, which is a fairly serious crime that you can commit if you break up your deposits to avoid reporting. Don't do this. The linked document gives examples. Also don't refuse to make your deposit and walk away when presented with a CTR form.
In addition, you are also required to report to Customs and Border Protection when you bring more than $10,000 in or out of the country. If you are caught not doing so, the money may be seized and you could be prosecuted criminally. Many countries have similar requirements, often with different dollar amounts, so it's important to make sure you comply with their laws as well.
The information from this reporting goes to the government and is used to enforce finance and tax laws, but there's nothing wrong or illegal about depositing cash as long as you don't evade the reporting requirements. You will not need to declare precisely where the cash comes from, but they will want the information required on the forms.
Is it taxable ?
Simply depositing cash into your bank account is not taxable. Receiving some forms of income, whether as cash or a bank deposit, is taxable. If you seem to have a large amount of unexplained cash income, it is possible an IRS audit will want an explanation from you as to where it comes from and why it isn't taxable.
In short, if the income was taxable, you should have paid taxes on it whether or not you deposit it in a bank account.
What is the limit of the deposit ?
There is no government limit. An individual bank may have their own limit and/or may charge a fee for larger deposits. You could always call the bank and ask.