It's never too young to start kids thinking about others. Compassion begins at home. Start by going through the things he has, and separating them into 2 piles: keep and donate. For every 2 things that go in the "keep" pile, 1 goes into the "donate" pile. Find a local agency that accepts gently used toys and books for kids who are homeless, whose mothers have just left abusive relationships, who are new to the US, or who are in foster care. Then TAKE YOUR CHILD with you to donate - not to the children specifically, but to someone in the agency who can thank him.
Do the same with your own things first, so he can see you doing it. Do another purge in the spring during cleaning, and get rid of your housewares that aren't used. Families starting out again can really use them. In the summer, do it again but this time with food. (Food pantries are extremely low during the summer months, and kids are not getting any free school lunches.)
You can also spend time baking or cooking things to give to others - cookies for the neighbors or the preschool teacher or someone at church. Giving of oneself is the greatest gift of all - and in keeping with the Christmas spirit.
Either you are giving your child way too much during the year so there's nothing left to give at Christmas, or you are a sensible mom who doesn't overload him all year 'round! Either way, you recognize now that he doesn't need stuff as much as he needs people!