The correct function to use here is get_stylesheet_directory_uri()
. Please feel free to read this useful post by @ChipBennet regarding this issue
Your use of syntax is also wrong in your return statement as already pointed out. A variable is php, not html, therefore you don’t need the single quotes which are used to wrap html in a mixed string.
You can simply just use the following as your return statement
return get_stylesheet_directory_uri() . '/images/favicon.ico';