int err;
 
        hba->capabilities = ufshcd_readl(hba, REG_CONTROLLER_CAPABILITIES);
+       if (hba->quirks & UFSHCD_QUIRK_BROKEN_64BIT_ADDRESS)
+               hba->capabilities &= ~MASK_64_ADDRESSING_SUPPORT;
 
        /* nutrs and nutmrs are 0 based values */
        hba->nutrs = (hba->capabilities & MASK_TRANSFER_REQUESTS_SLOTS) + 1;
 
         * support physical host configuration.
         */
        UFSHCD_QUIRK_SKIP_PH_CONFIGURATION              = 1 << 16,
+
+       /*
+        * This quirk needs to be enabled if the host controller has
+        * 64-bit addressing supported capability but it doesn't work.
+        */
+       UFSHCD_QUIRK_BROKEN_64BIT_ADDRESS               = 1 << 17,
 };
 
 enum ufshcd_caps {