Index: firmware/target/arm/ata-pp5020.c =================================================================== --- firmware/target/arm/ata-pp5020.c (revision 28914) +++ firmware/target/arm/ata-pp5020.c (working copy) @@ -106,7 +106,10 @@ int modeidx; (*(volatile unsigned long *)(0x600060C4)) = 0xC0000000; /* 80 Mhz */ +#if !defined(IPOD_NANO) + /* Bic'ing 0x10000000 will crash the nano when booting in hot state. */ IDE0_CFG &= ~0x10000000; +#endif modeidx = mode & 7; mode &= 0xF8; @@ -121,7 +124,10 @@ } else if (mode == 0x20 && modeidx <= ATA_MAX_MWDMA) IDE0_PRI_TIMING1 = tm_mwdma[modeidx]; +#if !defined(IPOD_NANO) + /* Setting 0x20000000 on nano causes freezes. */ IDE0_CFG |= 0x20000000; /* >= 50 Mhz */ +#endif } #define IDE_CFG_INTRQ 8