Make sure the idle screw was not turnned causeing tps sensor to read over the spec limit, the next then is to make sure the idle air control valve is working , a bad valve will cause this problem and last is the stepper motor that controls the idle. some of these around this year used steeper idle control motors instead of idle air control valves and in turn the stepper motor is bad it will hold the throtle plate open to much causing the tps reading to be wrong triggering the engine light to come on. the steeper motor will be boltted to side of the throtlebody and theres a small arm to the throtle linkage. i will enclose a stepper motor picture and an idle air valve to show you, but this sounds like the tps is out of range due to this. the last thing is to make sure there are no vacuum leaks, spray crab cleaner around throtlebody base gasket and also the intake mounting gasket and see if the idle changes is so theres a vac leak in that area. good day. okay just did a little research and this truck does have a idle air control valve, the picture is encolsed and is screwed into throtlebody, check that and for vacuum leaks, make sure tps is good sometime it will test good when testing and go bad when it wants, you could have a bad tps and idle air control valve also.