/linux/drivers/net/ethernet/stmicro/stmmac/ |
H A D | dwmac-stm32.c | 113 int (*suspend)(struct stm32_dwmac *dwmac); 114 void (*resume)(struct stm32_dwmac *dwmac); 115 int (*parse_data)(struct stm32_dwmac *dwmac, 122 static int stm32_dwmac_clk_enable(struct stm32_dwmac *dwmac, bool resume) in stm32_dwmac_clk_enable() argument 126 ret = clk_prepare_enable(dwmac->clk_tx); in stm32_dwmac_clk_enable() 130 if (!dwmac->ops->clk_rx_enable_in_suspend || !resume) { in stm32_dwmac_clk_enable() 131 ret = clk_prepare_enable(dwmac->clk_rx); in stm32_dwmac_clk_enable() 136 ret = clk_prepare_enable(dwmac->syscfg_clk); in stm32_dwmac_clk_enable() 140 if (dwmac->enable_eth_ck) { in stm32_dwmac_clk_enable() 141 ret = clk_prepare_enable(dwmac->clk_eth_ck); in stm32_dwmac_clk_enable() [all …]
|
H A D | dwmac-meson8b.c | 84 int (*set_phy_mode)(struct meson8b_dwmac *dwmac); 107 static void meson8b_dwmac_mask_bits(struct meson8b_dwmac *dwmac, u32 reg, in meson8b_dwmac_mask_bits() argument 112 data = readl(dwmac->regs + reg); in meson8b_dwmac_mask_bits() 116 writel(data, dwmac->regs + reg); in meson8b_dwmac_mask_bits() 119 static struct clk *meson8b_dwmac_register_clk(struct meson8b_dwmac *dwmac, in meson8b_dwmac_register_clk() argument 129 snprintf(clk_name, sizeof(clk_name), "%s#%s", dev_name(dwmac->dev), in meson8b_dwmac_register_clk() 140 return devm_clk_register(dwmac->dev, hw); in meson8b_dwmac_register_clk() 143 static int meson8b_init_rgmii_tx_clk(struct meson8b_dwmac *dwmac) in meson8b_init_rgmii_tx_clk() argument 146 struct device *dev = dwmac->dev; in meson8b_init_rgmii_tx_clk() 167 clk_configs->m250_mux.reg = dwmac->regs + PRG_ETH0; in meson8b_init_rgmii_tx_clk() [all …]
|
H A D | dwmac-imx.c | 70 struct imx_priv_data *dwmac = plat_dat->bsp_priv; in imx8mp_set_intf_mode() local 79 val |= (dwmac->rmii_refclk_ext ? 0 : GPR_ENET_QOS_CLK_TX_CLK_SEL); in imx8mp_set_intf_mode() 95 return regmap_update_bits(dwmac->intf_regmap, dwmac->intf_reg_off, in imx8mp_set_intf_mode() 110 struct imx_priv_data *dwmac = plat_dat->bsp_priv; in imx93_set_intf_mode() local 127 dev_dbg(dwmac->dev, "imx dwmac doesn't support %d interface\n", in imx93_set_intf_mode() 133 return regmap_update_bits(dwmac->intf_regmap, dwmac->intf_reg_off, in imx93_set_intf_mode() 139 struct imx_priv_data *dwmac = priv; in imx_dwmac_clks_config() local 143 ret = clk_prepare_enable(dwmac->clk_mem); in imx_dwmac_clks_config() 145 dev_err(dwmac->dev, "mem clock enable failed\n"); in imx_dwmac_clks_config() 149 ret = clk_prepare_enable(dwmac->clk_tx); in imx_dwmac_clks_config() [all …]
|
H A D | dwmac-sti.c | 140 struct sti_dwmac *dwmac = priv; in stih4xx_fix_retime_src() local 141 u32 src = dwmac->tx_retime_src; in stih4xx_fix_retime_src() 142 u32 reg = dwmac->ctrl_reg; in stih4xx_fix_retime_src() 145 if (dwmac->interface == PHY_INTERFACE_MODE_MII) { in stih4xx_fix_retime_src() 147 } else if (dwmac->interface == PHY_INTERFACE_MODE_RMII) { in stih4xx_fix_retime_src() 148 if (dwmac->ext_phyclk) { in stih4xx_fix_retime_src() 154 } else if (IS_PHY_IF_MODE_RGMII(dwmac->interface)) { in stih4xx_fix_retime_src() 169 clk_set_rate(dwmac->clk, freq); in stih4xx_fix_retime_src() 171 regmap_update_bits(dwmac->regmap, reg, STIH4XX_RETIME_SRC_MASK, in stih4xx_fix_retime_src() 175 static int sti_dwmac_set_mode(struct sti_dwmac *dwmac) in sti_dwmac_set_mode() argument [all …]
|
H A D | dwmac-visconti.c | 59 struct visconti_eth *dwmac = priv; in visconti_eth_fix_mac_speed() local 60 struct net_device *netdev = dev_get_drvdata(dwmac->dev); in visconti_eth_fix_mac_speed() 64 spin_lock_irqsave(&dwmac->lock, flags); in visconti_eth_fix_mac_speed() 67 val = readl(dwmac->reg + MAC_CTRL_REG); in visconti_eth_fix_mac_speed() 72 if (dwmac->phy_intf_sel == ETHER_CONFIG_INTF_RGMII) in visconti_eth_fix_mac_speed() 76 if (dwmac->phy_intf_sel == ETHER_CONFIG_INTF_RGMII) in visconti_eth_fix_mac_speed() 78 if (dwmac->phy_intf_sel == ETHER_CONFIG_INTF_RMII) in visconti_eth_fix_mac_speed() 83 if (dwmac->phy_intf_sel == ETHER_CONFIG_INTF_RGMII) in visconti_eth_fix_mac_speed() 85 if (dwmac->phy_intf_sel == ETHER_CONFIG_INTF_RMII) in visconti_eth_fix_mac_speed() 92 spin_unlock_irqrestore(&dwmac->lock, flags); in visconti_eth_fix_mac_speed() [all …]
|
H A D | dwmac-intel-plat.c | 33 struct intel_dwmac *dwmac = priv; in kmb_eth_fix_mac_speed() local 37 rate = clk_get_rate(dwmac->tx_clk); in kmb_eth_fix_mac_speed() 53 dev_err(dwmac->dev, "Invalid speed\n"); in kmb_eth_fix_mac_speed() 57 ret = clk_set_rate(dwmac->tx_clk, rate); in kmb_eth_fix_mac_speed() 59 dev_err(dwmac->dev, "Failed to configure tx clock rate\n"); in kmb_eth_fix_mac_speed() 79 struct intel_dwmac *dwmac; in intel_eth_plat_probe() local 93 dwmac = devm_kzalloc(&pdev->dev, sizeof(*dwmac), GFP_KERNEL); in intel_eth_plat_probe() 94 if (!dwmac) in intel_eth_plat_probe() 97 dwmac->dev = &pdev->dev; in intel_eth_plat_probe() 98 dwmac->tx_clk = NULL; in intel_eth_plat_probe() [all …]
|
H A D | dwmac-socfpga.c | 66 struct socfpga_dwmac *dwmac = (struct socfpga_dwmac *)priv; in socfpga_dwmac_fix_mac_speed() local 67 void __iomem *splitter_base = dwmac->splitter_base; in socfpga_dwmac_fix_mac_speed() 68 void __iomem *sgmii_adapter_base = dwmac->sgmii_adapter_base; in socfpga_dwmac_fix_mac_speed() 69 struct device *dev = dwmac->dev; in socfpga_dwmac_fix_mac_speed() 103 static int socfpga_dwmac_parse_data(struct socfpga_dwmac *dwmac, struct device *dev) in socfpga_dwmac_parse_data() argument 134 dwmac->f2h_ptp_ref_clk = of_property_read_bool(np, "altr,f2h_ptp_ref_clk"); in socfpga_dwmac_parse_data() 145 dwmac->splitter_base = devm_ioremap_resource(dev, &res_splitter); in socfpga_dwmac_parse_data() 146 if (IS_ERR(dwmac->splitter_base)) { in socfpga_dwmac_parse_data() 148 return PTR_ERR(dwmac->splitter_base); in socfpga_dwmac_parse_data() 168 dwmac->splitter_base = in socfpga_dwmac_parse_data() [all …]
|
H A D | Makefile | 16 obj-$(CONFIG_DWMAC_ANARION) += dwmac-anarion.o 17 obj-$(CONFIG_DWMAC_INGENIC) += dwmac-ingenic.o 18 obj-$(CONFIG_DWMAC_IPQ806X) += dwmac-ipq806x.o 19 obj-$(CONFIG_DWMAC_LPC18XX) += dwmac-lpc18xx.o 20 obj-$(CONFIG_DWMAC_MEDIATEK) += dwmac-mediatek.o 21 obj-$(CONFIG_DWMAC_MESON) += dwmac-meson.o dwmac-meson8b.o 22 obj-$(CONFIG_DWMAC_QCOM_ETHQOS) += dwmac-qcom-ethqos.o 23 obj-$(CONFIG_DWMAC_ROCKCHIP) += dwmac-rk.o 24 obj-$(CONFIG_DWMAC_RZN1) += dwmac-rzn1.o 25 obj-$(CONFIG_DWMAC_SOCFPGA) += dwmac-altr-socfpga.o [all …]
|
H A D | dwmac-starfive.c | 36 struct starfive_dwmac *dwmac = priv; in starfive_dwmac_fix_mac_speed() local 40 rate = clk_get_rate(dwmac->clk_tx); in starfive_dwmac_fix_mac_speed() 53 dev_err(dwmac->dev, "invalid speed %u\n", speed); in starfive_dwmac_fix_mac_speed() 57 err = clk_set_rate(dwmac->clk_tx, rate); in starfive_dwmac_fix_mac_speed() 59 dev_err(dwmac->dev, "failed to set tx rate %lu\n", rate); in starfive_dwmac_fix_mac_speed() 64 struct starfive_dwmac *dwmac = plat_dat->bsp_priv; in starfive_dwmac_set_mode() local 83 dev_err(dwmac->dev, "unsupported interface %d\n", in starfive_dwmac_set_mode() 88 regmap = syscon_regmap_lookup_by_phandle_args(dwmac->dev->of_node, in starfive_dwmac_set_mode() 92 return dev_err_probe(dwmac->dev, PTR_ERR(regmap), "getting the regmap failed\n"); in starfive_dwmac_set_mode() 99 return dev_err_probe(dwmac->dev, err, "error setting phy mode\n"); in starfive_dwmac_set_mode() [all …]
|
H A D | dwmac-meson.c | 27 struct meson_dwmac *dwmac = priv; in meson6_dwmac_fix_mac_speed() local 30 val = readl(dwmac->reg); in meson6_dwmac_fix_mac_speed() 41 writel(val, dwmac->reg); in meson6_dwmac_fix_mac_speed() 48 struct meson_dwmac *dwmac; in meson6_dwmac_probe() local 59 dwmac = devm_kzalloc(&pdev->dev, sizeof(*dwmac), GFP_KERNEL); in meson6_dwmac_probe() 60 if (!dwmac) in meson6_dwmac_probe() 63 dwmac->reg = devm_platform_ioremap_resource(pdev, 1); in meson6_dwmac_probe() 64 if (IS_ERR(dwmac->reg)) in meson6_dwmac_probe() 65 return PTR_ERR(dwmac->reg); in meson6_dwmac_probe() 67 plat_dat->bsp_priv = dwmac; in meson6_dwmac_probe()
|
H A D | dwmac-loongson1.c | 51 struct ls1x_dwmac *dwmac = priv; in ls1b_dwmac_syscon_init() local 52 struct plat_stmmacenet_data *plat = dwmac->plat_dat; in ls1b_dwmac_syscon_init() 53 struct regmap *regmap = dwmac->regmap; in ls1b_dwmac_syscon_init() 118 struct ls1x_dwmac *dwmac = priv; in ls1c_dwmac_syscon_init() local 119 struct plat_stmmacenet_data *plat = dwmac->plat_dat; in ls1c_dwmac_syscon_init() 120 struct regmap *regmap = dwmac->regmap; in ls1c_dwmac_syscon_init() 147 struct ls1x_dwmac *dwmac; in ls1x_dwmac_probe() local 168 dwmac = devm_kzalloc(&pdev->dev, sizeof(*dwmac), GFP_KERNEL); in ls1x_dwmac_probe() 169 if (!dwmac) in ls1x_dwmac_probe() 177 plat_dat->bsp_priv = dwmac; in ls1x_dwmac_probe() [all …]
|
H A D | Kconfig | 94 Select the QCOM_SOCINFO config flag to enable specific dwmac 114 tristate "Amlogic Meson dwmac support" 135 tristate "Rockchip dwmac support" 146 tristate "Renesas RZ/N1 dwmac support" 158 tristate "SOCFPGA dwmac support" 173 tristate "StarFive dwmac support" 244 tristate "Intel dwmac support"
|
/linux/Documentation/devicetree/bindings/net/ |
H A D | nxp,lpc1850-dwmac.txt | 7 - compatible: Should contain "nxp,lpc1850-dwmac" 12 compatible = "nxp,lpc1850-dwmac", "snps,dwmac-3.611", "snps,dwmac";
|
H A D | sti-dwmac.txt | 10 - compatible : "st,stih407-dwmac" 34 ethernet0: dwmac@9630000 { 36 compatible = "st,stih407-dwmac", "snps,dwmac", "snps,dwmac-3.710";
|
H A D | socfpga-dwmac.txt | 3 This is a variant of the dwmac/stmmac driver an inherits all descriptions 12 Along with "snps,dwmac" and any applicable more detailed 47 compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac";
|
H A D | anarion-gmac.txt | 7 - compatible: Should be "adaptrum,anarion-gmac", "snps,dwmac" 14 compatible = "adaptrum,anarion-gmac", "snps,dwmac";
|
H A D | ipq806x-dwmac.txt | 3 The device inherits all the properties of the dwmac/stmmac devices 8 - compatible: should be "qcom,ipq806x-gmac" along with "snps,dwmac"
|
H A D | stmmac.txt | 1 This file has moved to snps,dwmac.yaml.
|
/linux/arch/loongarch/boot/dts/ |
H A D | loongson-2k2000-ref.dts | 68 compatible = "snps,dwmac-mdio"; 83 compatible = "snps,dwmac-mdio"; 98 compatible = "snps,dwmac-mdio";
|
H A D | loongson-2k1000-ref.dts | 49 compatible = "snps,dwmac-mdio"; 64 compatible = "snps,dwmac-mdio";
|
/linux/Documentation/devicetree/bindings/reset/ |
H A D | nxp,lpc1850-rgu.txt | 75 compatible = "nxp,lpc1850-dwmac", "snps,dwmac-3.611", "snps,dwmac";
|
/linux/arch/arm64/boot/dts/st/ |
H A D | stm32mp253.dtsi | 47 compatible = "st,stm32mp25-dwmac", "snps,dwmac-5.20";
|
/linux/arch/arm/boot/dts/amlogic/ |
H A D | meson8m2.dtsi | 28 compatible = "amlogic,meson8m2-dwmac", "snps,dwmac";
|
/linux/arch/arm/boot/dts/st/ |
H A D | stm32mp133.dtsi | 73 compatible = "st,stm32mp13-dwmac", "snps,dwmac-4.20a";
|
/linux/arch/arm64/boot/dts/altera/ |
H A D | socfpga_stratix10.dtsi | 172 compatible = "altr,socfpga-stmmac-a10-s10", "snps,dwmac-3.74a", "snps,dwmac"; 190 compatible = "altr,socfpga-stmmac-a10-s10", "snps,dwmac-3.74a", "snps,dwmac"; 208 compatible = "altr,socfpga-stmmac-a10-s10", "snps,dwmac-3.74a", "snps,dwmac";
|