[U-Boot] [u-boot-release] [PATCH 2/3] fsl_sata: Add the workaround for errata SATA-A001

Liu Dave-R63238 r63238 at freescale.com
Thu Apr 8 15:53:16 CEST 2010


> > @@ -191,6 +192,19 @@ int init_sata(int dev)
> > 	/* Wait the controller offline */
> > 	ata_wait_register(&reg->hstatus, HSTATUS_ONOFF, 0, 1000);
> > 
> > +#ifdef CONFIG_SYS_P1022_ERRATUM_SATA-A001
> 
> This should just be #ifdef CONFIG_SYS_FSL_SATA_ERRATUM_A001 
> (the A001 # is not specific to P1022).  Also I want to 
> standardize on all underscores instead of a mix with a dash 
> even of the errata doc uses '-'.

Ok. Will use the CONFIG_SYS_FSL_SATA_ERRATUM_A001

> > +	/* For P1022 Rev1.0 silicon, after power on SATA host
> > +	 * controller is configured in legacy mode instead of
> > +	 * the expected enterprise mode. software needs to clear
> > +	 * bit[28] of HControl register to change to enterprise
> > +	 * mode from legacy mode.
> > +	 */
> > +	if (IS_SVR_REV(get_svr(), 1, 0)) {
> > +		out_le32(&reg->hstatus, 0x20000000);
> > +		out_le32(&reg->hcontrol, 0x00000100);
> > +	}
> 
> I'm trying to determine from the HW guys if we have a version 
> register in the IP block to detect this at runtime in a chip 
> unique way.

Unfortunately, no such IP version register in the block.


More information about the U-Boot mailing list