You can't give up! When it comes to a second language, most people, especially children, go through a silent period in which they are unable to or just totally uninterested in producing the language. That doesn't mean they are not absorbing anything.
I used to give one of my nephews English lessons, and for a while he wouldn't say much, just words. THIS is where you might get disappointed and give up, but you have to go on. One day we were watching tv together and he asked "Can I borrow your phone?" From them on, we couldn't shut him up. Now he can keep a conversation in English, and watches and understands movies and cartoons with no subtitles.
Songs and music are great. Try to find the openings for his favorite cartoon series in both English and Spanish on Youtube. If he knows the Spanish version, he'll have interest the English version and he'll kind of get what it means.
Use a tablet, flashcards and posters.
Get him a textbook for kids and dedicate at least one hour a day for him to take a lesson, in English. Just like ESL students do.
As others have suggested, have him play with English speaking kids.
Give him rewards when speaking the language. For my nephew, when he spoke full sentences or got to sing a full song In English, I always hugged him and gave him and kiss and told him that that was so cute and that I was proud of him.
Just bombard the kid on a daily basis with English stuff, coming from different sources, and one day it'll pay off.