Lines Matching full:gmac
3 * NXP S32G/R GMAC glue layer
41 static int s32_gmac_write_phy_intf_select(struct s32_priv_data *gmac) in s32_gmac_write_phy_intf_select() argument
43 writel(PHY_INTF_SEL_RGMII, gmac->ctrl_sts); in s32_gmac_write_phy_intf_select()
45 dev_dbg(gmac->dev, "PHY mode set to %s\n", phy_modes(*gmac->intf_mode)); in s32_gmac_write_phy_intf_select()
52 struct s32_priv_data *gmac = priv; in s32_gmac_init() local
56 ret = clk_prepare_enable(gmac->tx_clk); in s32_gmac_init()
61 ret = clk_set_rate(gmac->tx_clk, GMAC_INTF_RATE_125M); in s32_gmac_init()
68 ret = clk_prepare_enable(gmac->rx_clk); in s32_gmac_init()
73 ret = clk_set_rate(gmac->rx_clk, GMAC_INTF_RATE_125M); in s32_gmac_init()
80 ret = s32_gmac_write_phy_intf_select(gmac); in s32_gmac_init()
89 clk_disable_unprepare(gmac->rx_clk); in s32_gmac_init()
91 clk_disable_unprepare(gmac->tx_clk); in s32_gmac_init()
97 struct s32_priv_data *gmac = priv; in s32_gmac_exit() local
99 clk_disable_unprepare(gmac->tx_clk); in s32_gmac_exit()
100 clk_disable_unprepare(gmac->rx_clk); in s32_gmac_exit()
108 struct s32_priv_data *gmac; in s32_dwmac_probe() local
111 gmac = devm_kzalloc(&pdev->dev, sizeof(*gmac), GFP_KERNEL); in s32_dwmac_probe()
112 if (!gmac) in s32_dwmac_probe()
115 gmac->dev = &pdev->dev; in s32_dwmac_probe()
128 gmac->ctrl_sts = devm_platform_get_and_ioremap_resource(pdev, 1, NULL); in s32_dwmac_probe()
129 if (IS_ERR(gmac->ctrl_sts)) in s32_dwmac_probe()
130 return dev_err_probe(dev, PTR_ERR(gmac->ctrl_sts), in s32_dwmac_probe()
134 gmac->tx_clk = devm_clk_get(&pdev->dev, "tx"); in s32_dwmac_probe()
135 if (IS_ERR(gmac->tx_clk)) in s32_dwmac_probe()
136 return dev_err_probe(dev, PTR_ERR(gmac->tx_clk), in s32_dwmac_probe()
140 gmac->rx_clk = devm_clk_get(&pdev->dev, "rx"); in s32_dwmac_probe()
141 if (IS_ERR(gmac->rx_clk)) in s32_dwmac_probe()
142 return dev_err_probe(dev, PTR_ERR(gmac->rx_clk), in s32_dwmac_probe()
145 gmac->intf_mode = &plat->phy_interface; in s32_dwmac_probe()
146 gmac->ioaddr = res.addr; in s32_dwmac_probe()
158 plat->clk_tx_i = gmac->tx_clk; in s32_dwmac_probe()
161 plat->bsp_priv = gmac; in s32_dwmac_probe()
184 MODULE_DESCRIPTION("NXP S32G/R common chassis GMAC driver");