Merge tag 'memblock-v5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt...
[linux-2.6-microblaze.git] / drivers / scsi / ufs / ufshcd-pltfrm.c
index 3db0af6..1a69949 100644 (file)
@@ -92,6 +92,8 @@ static int ufshcd_parse_clock_info(struct ufs_hba *hba)
                clki->min_freq = clkfreq[i];
                clki->max_freq = clkfreq[i+1];
                clki->name = kstrdup(name, GFP_KERNEL);
+               if (!strcmp(name, "ref_clk"))
+                       clki->keep_link_active = true;
                dev_dbg(dev, "%s: min %u max %u name %s\n", "freq-table-hz",
                                clki->min_freq, clki->max_freq, clki->name);
                list_add_tail(&clki->list, &hba->clk_list_head);
@@ -132,25 +134,6 @@ static int ufshcd_populate_vreg(struct device *dev, const char *name,
                dev_info(dev, "%s: unable to find %s\n", __func__, prop_name);
                vreg->max_uA = 0;
        }
-
-       if (!strcmp(name, "vcc")) {
-               if (of_property_read_bool(np, "vcc-supply-1p8")) {
-                       vreg->min_uV = UFS_VREG_VCC_1P8_MIN_UV;
-                       vreg->max_uV = UFS_VREG_VCC_1P8_MAX_UV;
-               } else {
-                       vreg->min_uV = UFS_VREG_VCC_MIN_UV;
-                       vreg->max_uV = UFS_VREG_VCC_MAX_UV;
-               }
-       } else if (!strcmp(name, "vccq")) {
-               vreg->min_uV = UFS_VREG_VCCQ_MIN_UV;
-               vreg->max_uV = UFS_VREG_VCCQ_MAX_UV;
-       } else if (!strcmp(name, "vccq2")) {
-               vreg->min_uV = UFS_VREG_VCCQ2_MIN_UV;
-               vreg->max_uV = UFS_VREG_VCCQ2_MAX_UV;
-       }
-
-       goto out;
-
 out:
        if (!ret)
                *out_vreg = vreg;
@@ -354,6 +337,23 @@ int ufshcd_get_pwr_dev_param(struct ufs_dev_params *pltfrm_param,
 }
 EXPORT_SYMBOL_GPL(ufshcd_get_pwr_dev_param);
 
+void ufshcd_init_pwr_dev_param(struct ufs_dev_params *dev_param)
+{
+       dev_param->tx_lanes = 2;
+       dev_param->rx_lanes = 2;
+       dev_param->hs_rx_gear = UFS_HS_G3;
+       dev_param->hs_tx_gear = UFS_HS_G3;
+       dev_param->pwm_rx_gear = UFS_PWM_G4;
+       dev_param->pwm_tx_gear = UFS_PWM_G4;
+       dev_param->rx_pwr_pwm = SLOW_MODE;
+       dev_param->tx_pwr_pwm = SLOW_MODE;
+       dev_param->rx_pwr_hs = FAST_MODE;
+       dev_param->tx_pwr_hs = FAST_MODE;
+       dev_param->hs_rate = PA_HS_MODE_B;
+       dev_param->desired_working_mode = UFS_HS_MODE;
+}
+EXPORT_SYMBOL_GPL(ufshcd_init_pwr_dev_param);
+
 /**
  * ufshcd_pltfrm_init - probe routine of the driver
  * @pdev: pointer to Platform device handle