Lines Matching +full:ufs +full:- +full:2
1 // SPDX-License-Identifier: GPL-2.0
3 * Platform UFS Host driver for Cadence controller
18 #include "ufshcd-pltfrm.h"
26 * cdns_ufs_dme_attr_val - for storing L4 attributes
32 * cdns_ufs_get_l4_attr - get L4 attributes on local side
41 &host->cdns_ufs_dme_attr_val[0]); in cdns_ufs_get_l4_attr()
43 &host->cdns_ufs_dme_attr_val[1]); in cdns_ufs_get_l4_attr()
45 &host->cdns_ufs_dme_attr_val[2]); in cdns_ufs_get_l4_attr()
47 &host->cdns_ufs_dme_attr_val[3]); in cdns_ufs_get_l4_attr()
49 &host->cdns_ufs_dme_attr_val[4]); in cdns_ufs_get_l4_attr()
51 &host->cdns_ufs_dme_attr_val[5]); in cdns_ufs_get_l4_attr()
53 &host->cdns_ufs_dme_attr_val[6]); in cdns_ufs_get_l4_attr()
55 &host->cdns_ufs_dme_attr_val[7]); in cdns_ufs_get_l4_attr()
57 &host->cdns_ufs_dme_attr_val[8]); in cdns_ufs_get_l4_attr()
59 &host->cdns_ufs_dme_attr_val[9]); in cdns_ufs_get_l4_attr()
61 &host->cdns_ufs_dme_attr_val[10]); in cdns_ufs_get_l4_attr()
63 &host->cdns_ufs_dme_attr_val[11]); in cdns_ufs_get_l4_attr()
67 * cdns_ufs_set_l4_attr - set L4 attributes on local side
77 host->cdns_ufs_dme_attr_val[0]); in cdns_ufs_set_l4_attr()
79 host->cdns_ufs_dme_attr_val[1]); in cdns_ufs_set_l4_attr()
81 host->cdns_ufs_dme_attr_val[2]); in cdns_ufs_set_l4_attr()
83 host->cdns_ufs_dme_attr_val[3]); in cdns_ufs_set_l4_attr()
85 host->cdns_ufs_dme_attr_val[4]); in cdns_ufs_set_l4_attr()
87 host->cdns_ufs_dme_attr_val[5]); in cdns_ufs_set_l4_attr()
89 host->cdns_ufs_dme_attr_val[6]); in cdns_ufs_set_l4_attr()
91 host->cdns_ufs_dme_attr_val[7]); in cdns_ufs_set_l4_attr()
93 host->cdns_ufs_dme_attr_val[8]); in cdns_ufs_set_l4_attr()
95 host->cdns_ufs_dme_attr_val[9]); in cdns_ufs_set_l4_attr()
97 host->cdns_ufs_dme_attr_val[10]); in cdns_ufs_set_l4_attr()
99 host->cdns_ufs_dme_attr_val[11]); in cdns_ufs_set_l4_attr()
106 * Return zero for success and non-zero for failure
111 struct list_head *head = &hba->clk_list_head; in cdns_ufs_set_hclkdiv()
119 if (IS_ERR_OR_NULL(clki->clk)) in cdns_ufs_set_hclkdiv()
121 if (!strcmp(clki->name, "core_clk")) in cdns_ufs_set_hclkdiv()
122 core_clk_rate = clk_get_rate(clki->clk); in cdns_ufs_set_hclkdiv()
126 dev_err(hba->dev, "%s: unable to find core_clk rate\n", in cdns_ufs_set_hclkdiv()
128 return -EINVAL; in cdns_ufs_set_hclkdiv()
148 * Return zero for success and non-zero for failure
180 * Return zero for success and non-zero for failure
189 * Some UFS devices have issues if LCC is enabled. in cdns_ufs_link_startup_notify()
198 * Disabling Autohibern8 feature in cadence UFS in cdns_ufs_link_startup_notify()
201 hba->ahit = 0; in cdns_ufs_link_startup_notify()
207 * cdns_ufs_init - performs additional ufs initialization
216 struct device *dev = hba->dev; in cdns_ufs_init()
221 return -ENOMEM; in cdns_ufs_init()
224 if (hba->vops && hba->vops->phy_initialization) in cdns_ufs_init()
225 status = hba->vops->phy_initialization(hba); in cdns_ufs_init()
231 * cdns_ufs_m31_16nm_phy_initialization - performs m31 phy initialization
249 .name = "cdns-ufs-pltfm",
257 .name = "cdns-ufs-pltfm",
271 .compatible = "cdns,ufshc-m31-16nm",
280 * cdns_ufs_pltfrm_probe - probe routine of the driver
283 * Return zero for success and non-zero for failure
290 struct device *dev = &pdev->dev; in cdns_ufs_pltfrm_probe()
292 of_id = of_match_node(cdns_ufs_of_match, dev->of_node); in cdns_ufs_pltfrm_probe()
293 vops = (struct ufs_hba_variant_ops *)of_id->data; in cdns_ufs_pltfrm_probe()
304 * cdns_ufs_pltfrm_remove - removes the ufs driver
330 .name = "cdns-ufshcd",
339 MODULE_DESCRIPTION("Cadence UFS host controller platform driver");