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()
105 struct s32_priv_data *gmac = priv; in s32_fix_mac_speed() local
111 dev_err(gmac->dev, "Unsupported/Invalid speed: %d\n", speed); in s32_fix_mac_speed()
115 dev_dbg(gmac->dev, "Set tx clock to %ld Hz\n", tx_clk_rate); in s32_fix_mac_speed()
116 ret = clk_set_rate(gmac->tx_clk, tx_clk_rate); in s32_fix_mac_speed()
118 dev_err(gmac->dev, "Can't set tx clock\n"); in s32_fix_mac_speed()
126 struct s32_priv_data *gmac; in s32_dwmac_probe() local
129 gmac = devm_kzalloc(&pdev->dev, sizeof(*gmac), GFP_KERNEL); in s32_dwmac_probe()
130 if (!gmac) in s32_dwmac_probe()
133 gmac->dev = &pdev->dev; in s32_dwmac_probe()
146 gmac->ctrl_sts = devm_platform_get_and_ioremap_resource(pdev, 1, NULL); in s32_dwmac_probe()
147 if (IS_ERR(gmac->ctrl_sts)) in s32_dwmac_probe()
148 return dev_err_probe(dev, PTR_ERR(gmac->ctrl_sts), in s32_dwmac_probe()
152 gmac->tx_clk = devm_clk_get(&pdev->dev, "tx"); in s32_dwmac_probe()
153 if (IS_ERR(gmac->tx_clk)) in s32_dwmac_probe()
154 return dev_err_probe(dev, PTR_ERR(gmac->tx_clk), in s32_dwmac_probe()
158 gmac->rx_clk = devm_clk_get(&pdev->dev, "rx"); in s32_dwmac_probe()
159 if (IS_ERR(gmac->rx_clk)) in s32_dwmac_probe()
160 return dev_err_probe(dev, PTR_ERR(gmac->rx_clk), in s32_dwmac_probe()
163 gmac->intf_mode = &plat->phy_interface; in s32_dwmac_probe()
164 gmac->ioaddr = res.addr; in s32_dwmac_probe()
177 plat->bsp_priv = gmac; in s32_dwmac_probe()
200 MODULE_DESCRIPTION("NXP S32G/R common chassis GMAC driver");