struct ms_info *ms_card = &(chip->ms_card);
int retval;
#ifdef XC_POWERCLASS
- u8 change_power_class = 2;
+ u8 change_power_class;
+
+ if (chip->ms_power_class_en & 0x02)
+ change_power_class = 2;
+ else if (chip->ms_power_class_en & 0x01)
+ change_power_class = 1;
+ else
+ change_power_class = 0;
#endif
#ifdef XC_POWERCLASS
}
if (change_power_class && CHK_MSXC(ms_card)) {
- u8 power_class_en = 0x03;
-
- if (CHECK_PID(chip, 0x5209))
- power_class_en = chip->ms_power_class_en;
+ u8 power_class_en = chip->ms_power_class_en;
RTSX_DEBUGP("power_class_en = 0x%x\n", power_class_en);
RTSX_DEBUGP("change_power_class = %d\n", change_power_class);
chip->sd_default_rx_phase = 15;
chip->pmos_pwr_on_interval = 200;
chip->sd_voltage_switch_delay = 1000;
+ chip->ms_power_class_en = 3;
chip->sd_400mA_ocp_thd = 1;
chip->sd_800mA_ocp_thd = 5;