U0078 Fiat Freemont is triggered when the bank 1 camshaft position sensor doesn't match the signal from the crankshaft position sensor. So if the problem persists despite of your diagnosis, then you should never hesitate to take your vehicle to your dealer or to a qualified mechanic.
Possible Causes :
If all testing has passed so far yet you still have the same code, check your scan tool and see if it can open and close the IMRC valve. With the valve disconnected, the red voltmeter lead should be attached to the IMRC valve power wire and the black voltmeter lead connected to ground.
Diagnostic trouble code U0078 Fiat Freemont is not difficult to diagnose and repair. Thus, it always pays to have a qualified technician to look after your vehicle should this error code arise.
Diagnosing this code requires the engine to be in good running shape, without unmetered air entering the engine. If other codes that relates to misfiring condition, lean running or air entering the engine is present, then you must first fix those error codes before U0078 Fiat Freemont.
Fortunately, U0078 Fiat Freemont is a fairly common OBD code, meaning that it applies to all makes and models of vehicles made after 1996.