2008 BMW X5 camshaft position code

,

engine check light on dash…code reads camshaft position retarded…

IF the actual code you are reading is a P0012 then the causes are;

Incorrect camshaft timing
Wiring problems (harness/wiring) in intake timing control valve control solenoid system
Continuous oil flow to VCT piston chamber
Failed timing valve control solenoid (stuck open)

Took me 10 seconds to look this up on the internet. I’d say the solenoid is stuck open.