Lines Matching refs:gmac

32 	struct sunxi_priv_data *gmac = priv;  in sun7i_gmac_init()  local
35 if (gmac->regulator) { in sun7i_gmac_init()
36 ret = regulator_enable(gmac->regulator); in sun7i_gmac_init()
47 if (phy_interface_mode_is_rgmii(gmac->interface)) { in sun7i_gmac_init()
48 clk_set_rate(gmac->tx_clk, SUN7I_GMAC_GMII_RGMII_RATE); in sun7i_gmac_init()
49 clk_prepare_enable(gmac->tx_clk); in sun7i_gmac_init()
50 gmac->clk_enabled = 1; in sun7i_gmac_init()
52 clk_set_rate(gmac->tx_clk, SUN7I_GMAC_MII_RATE); in sun7i_gmac_init()
53 ret = clk_prepare(gmac->tx_clk); in sun7i_gmac_init()
54 if (ret && gmac->regulator) in sun7i_gmac_init()
55 regulator_disable(gmac->regulator); in sun7i_gmac_init()
63 struct sunxi_priv_data *gmac = priv; in sun7i_gmac_exit() local
65 if (gmac->clk_enabled) { in sun7i_gmac_exit()
66 clk_disable(gmac->tx_clk); in sun7i_gmac_exit()
67 gmac->clk_enabled = 0; in sun7i_gmac_exit()
69 clk_unprepare(gmac->tx_clk); in sun7i_gmac_exit()
71 if (gmac->regulator) in sun7i_gmac_exit()
72 regulator_disable(gmac->regulator); in sun7i_gmac_exit()
78 struct sunxi_priv_data *gmac = bsp_priv; in sun7i_set_clk_tx_rate() local
81 if (gmac->clk_enabled) { in sun7i_set_clk_tx_rate()
82 clk_disable(gmac->tx_clk); in sun7i_set_clk_tx_rate()
83 gmac->clk_enabled = 0; in sun7i_set_clk_tx_rate()
85 clk_unprepare(gmac->tx_clk); in sun7i_set_clk_tx_rate()
88 clk_set_rate(gmac->tx_clk, SUN7I_GMAC_GMII_RGMII_RATE); in sun7i_set_clk_tx_rate()
89 clk_prepare_enable(gmac->tx_clk); in sun7i_set_clk_tx_rate()
90 gmac->clk_enabled = 1; in sun7i_set_clk_tx_rate()
92 clk_set_rate(gmac->tx_clk, SUN7I_GMAC_MII_RATE); in sun7i_set_clk_tx_rate()
93 clk_prepare(gmac->tx_clk); in sun7i_set_clk_tx_rate()
103 struct sunxi_priv_data *gmac; in sun7i_gmac_probe() local
115 gmac = devm_kzalloc(dev, sizeof(*gmac), GFP_KERNEL); in sun7i_gmac_probe()
116 if (!gmac) in sun7i_gmac_probe()
119 gmac->interface = plat_dat->phy_interface; in sun7i_gmac_probe()
121 gmac->tx_clk = devm_clk_get(dev, "allwinner_gmac_tx"); in sun7i_gmac_probe()
122 if (IS_ERR(gmac->tx_clk)) { in sun7i_gmac_probe()
124 return PTR_ERR(gmac->tx_clk); in sun7i_gmac_probe()
128 gmac->regulator = devm_regulator_get_optional(dev, "phy"); in sun7i_gmac_probe()
129 if (IS_ERR(gmac->regulator)) { in sun7i_gmac_probe()
130 if (PTR_ERR(gmac->regulator) == -EPROBE_DEFER) in sun7i_gmac_probe()
133 gmac->regulator = NULL; in sun7i_gmac_probe()
140 plat_dat->bsp_priv = gmac; in sun7i_gmac_probe()