I have a small honda civic si hatchback with the d16 1.6L 4 banger SOHC. Bought it as a project car for $500. My problem i've been encountering that I just can't figure out on my own is the car won't rev higher than 3100rpm, and it idles at 2 - 3100 rpm. I've adjusted timing, i've checked and replaced the TPS. The MAP sensor is getting power, haven't replaced it yet but i'm not sure if I need to or not at this point. I did notice my o2 sensor has been cut or torn off, it's all plugged in with the terminal still attached, the terminal just doesn't attach to anything in the engine bay, it just ends and sits by my battery and I can't find the wire it was cut from. I've done an oil change recently, checked the spark plugs, and all routine maintenance. Once i'm in gear and driving it idles fine, doesn't bog down, cut out or ever skip, it just will not go over 3100 rpm/109km/h.
Scan for codes first then clean throttle plate on both sides an diac hole with choke cleaner. Check intake vacuum if 15" or belwo suspect clogged converter. You need to hook up O2 sensor wire is a black wire that connects to a white wire that goes to c16 on ecm make sure you hook up the correct wire. See pic.