X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;ds=sidebyside;f=cpu%2Fmpc5xxx%2Fide.c;h=29b99f6b15ddada936f3b3226dfdddf0e2d5098d;hb=5c97aeb8d8b780b10a1cb0beaca196c009f5a62a;hp=47188691df6c27a75da8a1b51815954ff4f1c771;hpb=c3f9d4939af90eb8e30119601c86c05bde6c7345;p=oweals%2Fu-boot.git diff --git a/cpu/mpc5xxx/ide.c b/cpu/mpc5xxx/ide.c index 47188691df..29b99f6b15 100644 --- a/cpu/mpc5xxx/ide.c +++ b/cpu/mpc5xxx/ide.c @@ -27,6 +27,8 @@ #ifdef CFG_CMD_IDE #include +DECLARE_GLOBAL_DATA_PTR; + #define CALC_TIMING(t) (t + period - 1) / period #ifdef CONFIG_IDE_RESET @@ -35,13 +37,18 @@ extern void init_ide_reset (void); int ide_preinit (void) { - DECLARE_GLOBAL_DATA_PTR; long period, t0, t1, t2_8, t2_16, t4, ta; vu_long reg; struct mpc5xxx_sdma *psdma = (struct mpc5xxx_sdma *) MPC5XXX_SDMA; reg = *(vu_long *) MPC5XXX_GPS_PORT_CONFIG; +#if defined(CONFIG_TOTAL5200) + /* ATA cs0/1 on i2c2 clk/io */ + reg = (reg & ~0x03000000ul) | 0x02000000ul; +#else + /* ATA cs0/1 on Local Plus cs4/5 */ reg = (reg & ~0x03000000ul) | 0x01000000ul; +#endif /* CONFIG_TOTAL5200 */ *(vu_long *) MPC5XXX_GPS_PORT_CONFIG = reg; /* All sample codes do that... */ @@ -73,7 +80,7 @@ int ide_preinit (void) *(vu_long *) MPC5XXX_ATA_PIO2 = reg; #ifdef CONFIG_IDE_RESET - init_ide_reset (); + init_ide_reset (); #endif /* CONFIG_IDE_RESET */ return (0);