As I can remember, about 5-6 years ago the same issue was discussed in Autolanka. The main reason for this check engine light toyota vehicles with a VVTI engine was due to sludge being built up in the engine. It happens when the moist inside the engine gets mixed up with the engine oil. Some members in the forum said that it was due to moving the vehicle immediately after a cold start. You got to start it & let it be at least for 2-3 minutes until the RPM settles. They suggested to flush the engine once as a quick solution & it worked for a friend of mine who owned a Toyota Corolla 121 at that time. This was a common issue with VVTI engines & one member in the forum had to incur approx Rs. 140,000/- (as I can remember) to do an engine overhaul, due to sludge being built up. If I have time I will find the link in the forum & post it for your reference. Hope you will be able to rectify your issue asap.