[PATCH 46/61] mpc885ads: Rework initialization.

Vitaly Bordug vitb at kernel.crashing.org
Thu Jul 19 04:24:55 EST 2007


On Wed, 18 Jul 2007 11:40:07 -0500
Scott Wood wrote:

> Vitaly Bordug wrote:
> >>-#ifdef CONFIG_SERIAL_CPM_SMC1
> >>-	clrbits32(bcsr_io, BCSR1_RS232EN_1);
> >>-	clrbits32(&cp->cp_simode, 0xe0000000 >> 17);	/* brg1
> >>*/
> >>-	tmpval8 = in_8(&(cp->cp_smc[0].smc_smcm)) | (SMCM_RX |
> >>SMCM_TX);
> >>-	out_8(&(cp->cp_smc[0].smc_smcm), tmpval8);
> >>-	clrbits16(&cp->cp_smc[0].smc_smcmr, SMCMR_REN |
> >>SMCMR_TEN);	/* brg1 */ -#else
> >>-	setbits32(bcsr_io,BCSR1_RS232EN_1);
> >>-	out_be16(&cp->cp_smc[0].smc_smcmr, 0);
> >>-	out_8(&cp->cp_smc[0].smc_smce, 0);
> >>-#endif
> > 
> > 
> > these are not just for beauty: if corresponding not-used uart regs
> > are not cleared, second one has a good chances to be hosed.
> 
> The CPM reset should take care of that.
> 
IIRC we had CPM reset prior, and it didn't help, making all those stuff added.

> >>-void init_scc_ioports(struct fs_platform_info *fpi)
> >>-{
> >>-	int scc_no = fs_get_scc_index(fpi->fs_no);
> >>+	/* The SCC3 enet registers overlap the SMC1 registers, so
> >>+	 * one of the two must be removed from the device tree.
> >>+	 */
> > 
> > Unfortunately,
> > this approach has very little chances to work. IIRC, SCC3 eth and
> > SMC1 do have overlapping pins, and just removing it from the tree
> > is not going to save the world because now we have all-in-one early
> > condensed pins setup.
> 
> It may not save the world, but it's needed to keep the driver from 
> poking at the disabled device.
> 
I am not against that, just about that it tends to be not enough.

> > Also, we have to be very careful with corresponding ports shutdown:
> > say turn off smc1 if scc3 is enabled: most prolly it was turned on
> > by the firmware/bootwrapper, and eth won't be alive.
> 
> The conflict is in register space, not pins -- why would the smc1
> pins matter?
ok, I may have confused this with something else. Anyway, the only doubt point is
SMC2 console + SCC3 ENET functionality - it is easier to just test that.




-- 
Sincerely, Vitaly



More information about the Linuxppc-dev mailing list