# HG changeset patch # User gthomas # Date 1032557590 0 # Node ID 49efc418fb587ac014f6b4e4b48ea67609320040 # Parent 35d0def615e63e809b88c75b7ce7600e034cb228 Add card reset - required for older CF cards. diff --git a/packages/devs/pcmcia/arm/ipaq/current/ChangeLog b/packages/devs/pcmcia/arm/ipaq/current/ChangeLog --- a/packages/devs/pcmcia/arm/ipaq/current/ChangeLog +++ b/packages/devs/pcmcia/arm/ipaq/current/ChangeLog @@ -1,8 +1,8 @@ 2002-09-20 Gary Thomas * src/ipaq_pcmcia.c: Additional setup required for Compaq dual - PCMCIA sleeve. - + PCMCIA sleeve. Add card reset which is necessary for some older cards. + 2002-04-12 Gary Thomas * src/ipaq_pcmcia.c: Clean up warnings. diff --git a/packages/devs/pcmcia/arm/ipaq/current/src/ipaq_pcmcia.c b/packages/devs/pcmcia/arm/ipaq/current/src/ipaq_pcmcia.c --- a/packages/devs/pcmcia/arm/ipaq/current/src/ipaq_pcmcia.c +++ b/packages/devs/pcmcia/arm/ipaq/current/src/ipaq_pcmcia.c @@ -230,6 +230,11 @@ cf_hwr_change_state(struct cf_slot *slot do_delay(30); // At least 300 ms slot->state = CF_SLOT_STATE_Powered; ipaq_EGPIO( SA1110_EIO_CF_RESET, SA1110_EIO_CF_RESET_ENABLE); + *(volatile unsigned short *)IPAQ_CF_CTRL = IPAQ_CF_CTRL_V5_DISABLE | + IPAQ_CF_CTRL_V3_ENABLE | + IPAQ_CF_CTRL_RESET_ENABLE | + IPAQ_CF_CTRL_APOE_ENABLE | + IPAQ_CF_CTRL_SOE_ENABLE; do_delay(1); // At least 10 us slot->state = CF_SLOT_STATE_Reset; ipaq_EGPIO( SA1110_EIO_CF_RESET, SA1110_EIO_CF_RESET_DISABLE); @@ -238,6 +243,7 @@ cf_hwr_change_state(struct cf_slot *slot // hurt on the single slot versions. Note: only 3.3V is ever used! *(volatile unsigned short *)IPAQ_CF_CTRL = IPAQ_CF_CTRL_V5_DISABLE | IPAQ_CF_CTRL_V3_ENABLE | + IPAQ_CF_CTRL_RESET_DISABLE | IPAQ_CF_CTRL_APOE_ENABLE | IPAQ_CF_CTRL_SOE_ENABLE; do_delay(5); // At least 20 ms