if (card->ext_csd.rev >= 3) {
                u8 sa_shift = ext_csd[EXT_CSD_S_A_TIMEOUT];
+               card->ext_csd.bootconfig = ext_csd[EXT_CSD_BOOT_CONFIG];
 
                /* Sleep / awake timeout in 100ns units */
                if (sa_shift > 0 && sa_shift <= 0x17)
                }
        }
 
+       /*
+        * Ensure eMMC user default partition is enabled
+        */
+       if (card->ext_csd.bootconfig & 0x7) {
+               card->ext_csd.bootconfig &= ~0x7;
+               mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_BOOT_CONFIG,
+                          card->ext_csd.bootconfig);
+       }
+
        /*
         * Activate high speed (if supported)
         */
 
 #define EXT_CSD_PARTITION_ATTRIBUTE    156     /* R/W */
 #define EXT_CSD_PARTITION_SUPPORT      160     /* RO */
 #define EXT_CSD_ERASE_GROUP_DEF                175     /* R/W */
+#define EXT_CSD_BOOT_CONFIG            179     /* R/W */
 #define EXT_CSD_ERASED_MEM_CONT                181     /* RO */
 #define EXT_CSD_BUS_WIDTH              183     /* R/W */
 #define EXT_CSD_HS_TIMING              185     /* R/W */