[U-Boot] [PATCH] 85xx: Add is_serdes_configured() support for P2020SERDES

Kumar Gala galak at kernel.crashing.org
Fri May 21 14:51:59 CEST 2010


On May 21, 2010, at 6:26 AM, Li Yang-R58472 wrote:

>> Subject: [U-Boot] [PATCH] 85xx: Add is_serdes_configured() support for
>> P2020SERDES
>> 
>> Add the ability to determine if a given IP block connected on SERDES is
>> configured.  This is useful for things like PCIe and SRIO since they are
>> only ever connected on SERDES.
>> 
>> Signed-off-by: Kumar Gala <galak at kernel.crashing.org>
> 
> I'm not sure why this code has to be re-done rather than using the patch I submitted?

There was some minor unification with the P4080 SERDES code.

> {snip}
> 
>> +int is_serdes_configured(enum srds_prtcl device) {
>> +	int i;
>> +	ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
>> +	u32 pordevsr = in_be32(&gur->pordevsr);
> 
> Wouldn't it be better to only read it once on fsl_serdes_init(), after all it will not be changed after reset.  

This depend on the use of global static variables in u-boot.  Not sure the current state of that being acceptable.

> 
>> +	u32 srds1_cfg = (pordevsr & MPC85xx_PORDEVSR_IO_SEL) >>
>> +				MPC85xx_PORDEVSR_IO_SEL_SHIFT;
>> +
>> +	debug("%s: dev = %d\n", __FUNCTION__, device);
>> +	debug("PORDEVSR[IO_SEL] = %x\n", srds1_cfg);
>> +
>> +	if (srds1_cfg > ARRAY_SIZE(serdes1_cfg_tbl)) {
>> +		printf("Invalid PORDEVSR[IO_SEL] = %d\n", srds1_cfg);
>> +		return 0;
>> +	}
>> +
>> +	for (i = 0; i < SRDS1_MAX_LANES; i++) {
>> +		if (serdes1_cfg_tbl[srds1_cfg][i] == device)
>> +			return 1;
> 
> Given the fact that the is_serdes_configured() will be called multiple times, it will be better to process the table in fsl_serdes_init() and save time for every is_serdes_configured() judgment like what I did.
> 
> - Leo
> 
>> +	}
>> +
>> +	return 0;
>> +}
>> +
>> +void fsl_serdes_init(void)
>> +{
>> +}
>> --
>> 1.6.0.6
>> 
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> http://lists.denx.de/mailman/listinfo/u-boot
> 



More information about the U-Boot mailing list