This paper considers the coded OFDM system and instead of discarding the cyclic prefix (CP) at the receiver, we utilize the CP observation for joint detection, decoding and channel estimation. In particular, detection and decoding are performed iteratively between an equalizer and a soft-input soft-output (SISO) decoder based on the turbo principle, and the expectation-maximization (EM) algorithm is employed in the equalizer for joint detection and channel estimation via message passing. Models for the CP observation, non-CP observation and the time correlation of the time-varying channel are presented in Forney-style factor graphs (FFGs), and a scheduling scheme is proposed to pass messages between the graphs. Simulation results show that with unknown channel impulse response (CIR), the performance of the proposed algorithm approaches the case where CIR is perfectly known and through proper exploitation of the CP, the proposed algorithm outperforms the conventional algorithm (i.e. CP is discarded) with known CIR, as well as the alternative algorithm in the literature (where CP is exploited) with unknown CIR.