OSDN Git Service

powerpc/885: set SDCR to 0x40
authorChristophe Leroy <christophe.leroy@c-s.fr>
Thu, 4 Feb 2016 10:07:48 +0000 (11:07 +0100)
committerScott Wood <oss@buserror.net>
Wed, 9 Mar 2016 16:44:16 +0000 (10:44 -0600)
The MPC885 reference manual says that SDCR shall have value 0x40, but
most exemples set SDCR to 0x1
With 0x1 in SDCR, we observe TX underruns on SCC when using it in
QMC mode.
According the NXP technical support, this is a copy/paste error from
MPC860 reference manual, 0x40 being the only value supported
by the MPC885 HW.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Scott Wood <oss@buserror.net>
arch/powerpc/sysdev/cpm1.c

index 5e6ff38..8ed6536 100644 (file)
@@ -228,7 +228,10 @@ void __init cpm_reset(void)
         * Bit 25, FAM can also be set to use FEC aggressive mode (860T).
         */
        siu_conf = immr_map(im_siu_conf);
-       out_be32(&siu_conf->sc_sdcr, 1);
+       if ((mfspr(SPRN_IMMR) & 0xffff) == 0x0900) /* MPC885 */
+               out_be32(&siu_conf->sc_sdcr, 0x40);
+       else
+               out_be32(&siu_conf->sc_sdcr, 1);
        immr_unmap(siu_conf);
 
        cpm_muram_init();