changeset 340:49efc418fb58

Add card reset - required for older CF cards.
author gthomas
date Fri, 20 Sep 2002 21:33:10 +0000
parents 35d0def615e6
children 8192eb337aaa
files packages/devs/pcmcia/arm/ipaq/current/ChangeLog packages/devs/pcmcia/arm/ipaq/current/src/ipaq_pcmcia.c
diffstat 2 files changed, 8 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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  <gthomas@ecoscentric.com>
 
 	* 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  <gthomas@redhat.com>
 
 	* src/ipaq_pcmcia.c: Clean up warnings.
--- 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