Shadows on a Tilemap

Has anyone implemented shadows on a tilemap? Not sure how I would go about doing this. For example, a tree :evergreen_tree: on Layer 2 should cast a shadow onto a grass tile on Layer 1 based on the position of the sun.

I think you need to move shadow casting objects into something other than tiles on a layer in a tilemap. Perhaps as individual game objects?