man dude mine will rev all the way out to 6800 rpm. You probably mean IDLE. Did you put an aftermarket tb on your car if so go get a heavy duty return spring.
this could be caused by many things man. i suggest you hook your car up to a scan tool, and while youre at it see whats going on with your emissions. Scan tool will be your best bet though.
You may want to disconnect the negative battery cable and let the computer reset itself. I left mine disconnected all night (30 minutes is probably good enough). Reconnect it and let the computer reprogram everything, and just let it idle for about 5 minutes. If you still have problems after all of that I would get a scan tool going.