Lines Matching refs:gmac
41 struct sunxi_priv_data *gmac = priv; in sun7i_gmac_init() local
44 if (gmac->regulator) { in sun7i_gmac_init()
45 ret = regulator_enable(gmac->regulator); in sun7i_gmac_init()
56 if (gmac->interface == PHY_INTERFACE_MODE_RGMII) { in sun7i_gmac_init()
57 clk_set_rate(gmac->tx_clk, SUN7I_GMAC_GMII_RGMII_RATE); in sun7i_gmac_init()
58 clk_prepare_enable(gmac->tx_clk); in sun7i_gmac_init()
59 gmac->clk_enabled = 1; in sun7i_gmac_init()
61 clk_set_rate(gmac->tx_clk, SUN7I_GMAC_MII_RATE); in sun7i_gmac_init()
62 clk_prepare(gmac->tx_clk); in sun7i_gmac_init()
70 struct sunxi_priv_data *gmac = priv; in sun7i_gmac_exit() local
72 if (gmac->clk_enabled) { in sun7i_gmac_exit()
73 clk_disable(gmac->tx_clk); in sun7i_gmac_exit()
74 gmac->clk_enabled = 0; in sun7i_gmac_exit()
76 clk_unprepare(gmac->tx_clk); in sun7i_gmac_exit()
78 if (gmac->regulator) in sun7i_gmac_exit()
79 regulator_disable(gmac->regulator); in sun7i_gmac_exit()
84 struct sunxi_priv_data *gmac = priv; in sun7i_fix_speed() local
87 if (gmac->interface != PHY_INTERFACE_MODE_GMII) in sun7i_fix_speed()
90 if (gmac->clk_enabled) { in sun7i_fix_speed()
91 clk_disable(gmac->tx_clk); in sun7i_fix_speed()
92 gmac->clk_enabled = 0; in sun7i_fix_speed()
94 clk_unprepare(gmac->tx_clk); in sun7i_fix_speed()
97 clk_set_rate(gmac->tx_clk, SUN7I_GMAC_GMII_RGMII_RATE); in sun7i_fix_speed()
98 clk_prepare_enable(gmac->tx_clk); in sun7i_fix_speed()
99 gmac->clk_enabled = 1; in sun7i_fix_speed()
101 clk_set_rate(gmac->tx_clk, SUN7I_GMAC_MII_RATE); in sun7i_fix_speed()
102 clk_prepare(gmac->tx_clk); in sun7i_fix_speed()
110 struct sunxi_priv_data *gmac; in sun7i_gmac_probe() local
122 gmac = devm_kzalloc(dev, sizeof(*gmac), GFP_KERNEL); in sun7i_gmac_probe()
123 if (!gmac) { in sun7i_gmac_probe()
128 gmac->interface = of_get_phy_mode(dev->of_node); in sun7i_gmac_probe()
130 gmac->tx_clk = devm_clk_get(dev, "allwinner_gmac_tx"); in sun7i_gmac_probe()
131 if (IS_ERR(gmac->tx_clk)) { in sun7i_gmac_probe()
133 ret = PTR_ERR(gmac->tx_clk); in sun7i_gmac_probe()
138 gmac->regulator = devm_regulator_get_optional(dev, "phy"); in sun7i_gmac_probe()
139 if (IS_ERR(gmac->regulator)) { in sun7i_gmac_probe()
140 if (PTR_ERR(gmac->regulator) == -EPROBE_DEFER) { in sun7i_gmac_probe()
145 gmac->regulator = NULL; in sun7i_gmac_probe()
152 plat_dat->bsp_priv = gmac; in sun7i_gmac_probe()