Lines Matching defs:gphy_fw
275 struct gswip_gphy_fw *gphy_fw;
1809 static int gswip_gphy_fw_load(struct gswip_priv *priv, struct gswip_gphy_fw *gphy_fw)
1819 ret = clk_prepare_enable(gphy_fw->clk_gate);
1823 reset_control_assert(gphy_fw->reset);
1825 ret = request_firmware(&fw, gphy_fw->fw_name, dev);
1828 gphy_fw->fw_name, ret);
1850 ret = regmap_write(priv->rcu_regmap, gphy_fw->fw_addr_offset, dev_addr);
1854 reset_control_deassert(gphy_fw->reset);
1860 struct gswip_gphy_fw *gphy_fw,
1870 gphy_fw->clk_gate = devm_clk_get(dev, gphyname);
1871 if (IS_ERR(gphy_fw->clk_gate)) {
1873 return PTR_ERR(gphy_fw->clk_gate);
1876 ret = of_property_read_u32(gphy_fw_np, "reg", &gphy_fw->fw_addr_offset);
1887 gphy_fw->fw_name = priv->gphy_fw_name_cfg->fe_firmware_name;
1890 gphy_fw->fw_name = priv->gphy_fw_name_cfg->ge_firmware_name;
1897 gphy_fw->reset = of_reset_control_array_get_exclusive(gphy_fw_np);
1898 if (IS_ERR(gphy_fw->reset)) {
1899 if (PTR_ERR(gphy_fw->reset) != -EPROBE_DEFER)
1901 return PTR_ERR(gphy_fw->reset);
1904 return gswip_gphy_fw_load(priv, gphy_fw);
1908 struct gswip_gphy_fw *gphy_fw)
1913 if (!gphy_fw->fw_name)
1916 ret = regmap_write(priv->rcu_regmap, gphy_fw->fw_addr_offset, 0);
1920 clk_disable_unprepare(gphy_fw->clk_gate);
1922 reset_control_put(gphy_fw->reset);
1970 priv->gphy_fw = devm_kmalloc_array(dev, priv->num_gphy_fw,
1971 sizeof(*priv->gphy_fw),
1973 if (!priv->gphy_fw)
1977 err = gswip_gphy_fw_probe(priv, &priv->gphy_fw[i],
2000 gswip_gphy_fw_remove(priv, &priv->gphy_fw[i]);
2093 gswip_gphy_fw_remove(priv, &priv->gphy_fw[i]);
2114 gswip_gphy_fw_remove(priv, &priv->gphy_fw[i]);