
8 Apr
2010
8 Apr
'10
3:53 p.m.
@@ -191,6 +192,19 @@ int init_sata(int dev) /* Wait the controller offline */ ata_wait_register(®->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(®->hstatus, 0x20000000);
out_le32(®->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.