[POWERPC] 86xx: mpc8610_hpcd: fix second serial port

DIU platform code should not just write to the PIXIS' BRDCFG0 register,
it should set and clear its own bits only, otherwise it will break
firmware setup (in fact it breaks second uart).

Also get rid of magic numbers in the related code.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>

authored by Anton Vorontsov and committed by Kumar Gala f637ef8e 34b4a873

+12 -2
+12 -2
arch/powerpc/platforms/86xx/mpc8610_hpcd.c
··· 217 217 } 218 218 } 219 219 220 + #define PX_BRDCFG0_DVISEL (1 << 3) 221 + #define PX_BRDCFG0_DLINK (1 << 4) 222 + #define PX_BRDCFG0_DIU_MASK (PX_BRDCFG0_DVISEL | PX_BRDCFG0_DLINK) 223 + 220 224 void mpc8610hpcd_set_monitor_port(int monitor_port) 221 225 { 222 - static const u8 bdcfg[] = {0xBD, 0xB5, 0xA5}; 226 + static const u8 bdcfg[] = { 227 + PX_BRDCFG0_DVISEL | PX_BRDCFG0_DLINK, 228 + PX_BRDCFG0_DLINK, 229 + 0, 230 + }; 231 + 223 232 if (monitor_port < 3) 224 - *pixis_bdcfg0 = bdcfg[monitor_port]; 233 + clrsetbits_8(pixis_bdcfg0, PX_BRDCFG0_DIU_MASK, 234 + bdcfg[monitor_port]); 225 235 } 226 236 227 237 void mpc8610hpcd_set_pixel_clock(unsigned int pixclock)