Home
last modified time | relevance | path

Searched full:dwmac (Results 1 – 25 of 206) sorted by relevance

123456789

/kernel/linux/linux-4.19/drivers/net/ethernet/stmicro/stmmac/
Ddwmac-stm32.c2 * dwmac-stm32.c - DWMAC Specific Glue layer for STM32 MCU
54 int (*clk_prepare)(struct stm32_dwmac *dwmac, bool prepare);
55 int (*suspend)(struct stm32_dwmac *dwmac);
56 void (*resume)(struct stm32_dwmac *dwmac);
57 int (*parse_data)(struct stm32_dwmac *dwmac,
64 struct stm32_dwmac *dwmac = plat_dat->bsp_priv; in stm32_dwmac_init() local
67 if (dwmac->ops->set_mode) { in stm32_dwmac_init()
68 ret = dwmac->ops->set_mode(plat_dat); in stm32_dwmac_init()
73 ret = clk_prepare_enable(dwmac->clk_tx); in stm32_dwmac_init()
77 if (!dwmac->dev->power.is_suspended) { in stm32_dwmac_init()
[all …]
Ddwmac-meson8b.c2 * Amlogic Meson8b, Meson8m2 and GXBB DWMAC glue layer
58 int (*set_phy_mode)(struct meson8b_dwmac *dwmac);
78 static void meson8b_dwmac_mask_bits(struct meson8b_dwmac *dwmac, u32 reg, in meson8b_dwmac_mask_bits() argument
83 data = readl(dwmac->regs + reg); in meson8b_dwmac_mask_bits()
87 writel(data, dwmac->regs + reg); in meson8b_dwmac_mask_bits()
90 static struct clk *meson8b_dwmac_register_clk(struct meson8b_dwmac *dwmac, in meson8b_dwmac_register_clk() argument
100 snprintf(clk_name, sizeof(clk_name), "%s#%s", dev_name(dwmac->dev), in meson8b_dwmac_register_clk()
111 return devm_clk_register(dwmac->dev, hw); in meson8b_dwmac_register_clk()
114 static int meson8b_init_rgmii_tx_clk(struct meson8b_dwmac *dwmac) in meson8b_init_rgmii_tx_clk() argument
118 struct device *dev = dwmac->dev; in meson8b_init_rgmii_tx_clk()
[all …]
Ddwmac-sti.c2 * dwmac-sti.c - STMicroelectronics DWMAC Specific Glue layer
166 struct sti_dwmac *dwmac = priv; in stih4xx_fix_retime_src() local
167 u32 src = dwmac->tx_retime_src; in stih4xx_fix_retime_src()
168 u32 reg = dwmac->ctrl_reg; in stih4xx_fix_retime_src()
171 if (dwmac->interface == PHY_INTERFACE_MODE_MII) { in stih4xx_fix_retime_src()
173 } else if (dwmac->interface == PHY_INTERFACE_MODE_RMII) { in stih4xx_fix_retime_src()
174 if (dwmac->ext_phyclk) { in stih4xx_fix_retime_src()
180 } else if (IS_PHY_IF_MODE_RGMII(dwmac->interface)) { in stih4xx_fix_retime_src()
195 clk_set_rate(dwmac->clk, freq); in stih4xx_fix_retime_src()
197 regmap_update_bits(dwmac->regmap, reg, STIH4XX_RETIME_SRC_MASK, in stih4xx_fix_retime_src()
[all …]
Ddwmac-socfpga.c15 * Adopted from dwmac-sti.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 *tse_pcs_base = dwmac->pcs.tse_pcs_base; in socfpga_dwmac_fix_mac_speed()
69 void __iomem *sgmii_adapter_base = dwmac->pcs.sgmii_adapter_base; in socfpga_dwmac_fix_mac_speed()
70 struct device *dev = dwmac->dev; in socfpga_dwmac_fix_mac_speed()
100 tse_pcs_fix_mac_speed(&dwmac->pcs, phy_dev, speed); 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
115 dwmac->interface = of_get_phy_mode(np); in socfpga_dwmac_parse_data()
135 dwmac->f2h_ptp_ref_clk = of_property_read_bool(np, "altr,f2h_ptp_ref_clk"); in socfpga_dwmac_parse_data()
[all …]
DMakefile13 obj-$(CONFIG_DWMAC_ANARION) += dwmac-anarion.o
14 obj-$(CONFIG_DWMAC_IPQ806X) += dwmac-ipq806x.o
15 obj-$(CONFIG_DWMAC_LPC18XX) += dwmac-lpc18xx.o
16 obj-$(CONFIG_DWMAC_MESON) += dwmac-meson.o dwmac-meson8b.o
17 obj-$(CONFIG_DWMAC_OXNAS) += dwmac-oxnas.o
18 obj-$(CONFIG_DWMAC_ROCKCHIP) += dwmac-rk.o
19 obj-$(CONFIG_DWMAC_SOCFPGA) += dwmac-altr-socfpga.o
20 obj-$(CONFIG_DWMAC_STI) += dwmac-sti.o
21 obj-$(CONFIG_DWMAC_STM32) += dwmac-stm32.o
22 obj-$(CONFIG_DWMAC_SUNXI) += dwmac-sunxi.o
[all …]
Ddwmac-oxnas.c2 * Oxford Semiconductor OXNAS DWMAC glue layer
65 struct oxnas_dwmac *dwmac = priv; in oxnas_dwmac_init() local
70 ret = device_reset(dwmac->dev); in oxnas_dwmac_init()
74 ret = clk_prepare_enable(dwmac->clk); in oxnas_dwmac_init()
78 ret = regmap_read(dwmac->regmap, OXNAS_DWMAC_CTRL_REGOFFSET, &value); in oxnas_dwmac_init()
80 clk_disable_unprepare(dwmac->clk); in oxnas_dwmac_init()
97 regmap_write(dwmac->regmap, OXNAS_DWMAC_CTRL_REGOFFSET, value); in oxnas_dwmac_init()
104 regmap_write(dwmac->regmap, OXNAS_DWMAC_DELAY_REGOFFSET, value); in oxnas_dwmac_init()
111 struct oxnas_dwmac *dwmac = priv; in oxnas_dwmac_exit() local
113 clk_disable_unprepare(dwmac->clk); in oxnas_dwmac_exit()
[all …]
Ddwmac-meson.c2 * Amlogic Meson6 and Meson8 DWMAC glue layer
33 struct meson_dwmac *dwmac = priv; in meson6_dwmac_fix_mac_speed() local
36 val = readl(dwmac->reg); in meson6_dwmac_fix_mac_speed()
47 writel(val, dwmac->reg); in meson6_dwmac_fix_mac_speed()
54 struct meson_dwmac *dwmac; in meson6_dwmac_probe() local
66 dwmac = devm_kzalloc(&pdev->dev, sizeof(*dwmac), GFP_KERNEL); in meson6_dwmac_probe()
67 if (!dwmac) { in meson6_dwmac_probe()
73 dwmac->reg = devm_ioremap_resource(&pdev->dev, res); in meson6_dwmac_probe()
74 if (IS_ERR(dwmac->reg)) { in meson6_dwmac_probe()
75 ret = PTR_ERR(dwmac->reg); in meson6_dwmac_probe()
[all …]
Ddwmac-generic.c2 * Generic DWMAC platform driver
74 { .compatible = "snps,dwmac-3.50a"},
75 { .compatible = "snps,dwmac-3.610"},
76 { .compatible = "snps,dwmac-3.70a"},
77 { .compatible = "snps,dwmac-3.710"},
78 { .compatible = "snps,dwmac-4.00"},
79 { .compatible = "snps,dwmac-4.10a"},
80 { .compatible = "snps,dwmac"},
98 MODULE_DESCRIPTION("Generic dwmac driver");
/kernel/linux/linux-5.10/drivers/net/ethernet/stmicro/stmmac/
Ddwmac-stm32.c3 * dwmac-stm32.c - DWMAC Specific Glue layer for STM32 MCU
102 int (*clk_prepare)(struct stm32_dwmac *dwmac, bool prepare);
103 int (*suspend)(struct stm32_dwmac *dwmac);
104 void (*resume)(struct stm32_dwmac *dwmac);
105 int (*parse_data)(struct stm32_dwmac *dwmac,
112 struct stm32_dwmac *dwmac = plat_dat->bsp_priv; in stm32_dwmac_init() local
115 if (dwmac->ops->set_mode) { in stm32_dwmac_init()
116 ret = dwmac->ops->set_mode(plat_dat); in stm32_dwmac_init()
121 ret = clk_prepare_enable(dwmac->clk_tx); in stm32_dwmac_init()
125 if (!dwmac->dev->power.is_suspended) { in stm32_dwmac_init()
[all …]
Ddwmac-meson8b.c3 * Amlogic Meson8b, Meson8m2 and GXBB DWMAC glue layer
74 int (*set_phy_mode)(struct meson8b_dwmac *dwmac);
96 static void meson8b_dwmac_mask_bits(struct meson8b_dwmac *dwmac, u32 reg, in meson8b_dwmac_mask_bits() argument
101 data = readl(dwmac->regs + reg); in meson8b_dwmac_mask_bits()
105 writel(data, dwmac->regs + reg); in meson8b_dwmac_mask_bits()
108 static struct clk *meson8b_dwmac_register_clk(struct meson8b_dwmac *dwmac, in meson8b_dwmac_register_clk() argument
118 snprintf(clk_name, sizeof(clk_name), "%s#%s", dev_name(dwmac->dev), in meson8b_dwmac_register_clk()
129 return devm_clk_register(dwmac->dev, hw); in meson8b_dwmac_register_clk()
132 static int meson8b_init_rgmii_tx_clk(struct meson8b_dwmac *dwmac) in meson8b_init_rgmii_tx_clk() argument
135 struct device *dev = dwmac->dev; in meson8b_init_rgmii_tx_clk()
[all …]
Ddwmac-imx.c3 * dwmac-imx.c - DWMAC Specific Glue layer for NXP imx8
55 struct imx_priv_data *dwmac = plat_dat->bsp_priv; in imx8mp_set_intf_mode() local
64 val |= (dwmac->rmii_refclk_ext ? 0 : GPR_ENET_QOS_CLK_TX_CLK_SEL); in imx8mp_set_intf_mode()
74 pr_debug("imx dwmac doesn't support %d interface\n", in imx8mp_set_intf_mode()
80 return regmap_update_bits(dwmac->intf_regmap, dwmac->intf_reg_off, in imx8mp_set_intf_mode()
96 struct imx_priv_data *dwmac = priv; in imx_dwmac_init() local
99 plat_dat = dwmac->plat_dat; in imx_dwmac_init()
101 ret = clk_prepare_enable(dwmac->clk_mem); in imx_dwmac_init()
107 ret = clk_prepare_enable(dwmac->clk_tx); in imx_dwmac_init()
113 if (dwmac->ops->set_intf_mode) { in imx_dwmac_init()
[all …]
Ddwmac-socfpga.c4 * Adopted from dwmac-sti.c
63 struct socfpga_dwmac *dwmac = (struct socfpga_dwmac *)priv; in socfpga_dwmac_fix_mac_speed() local
64 void __iomem *splitter_base = dwmac->splitter_base; in socfpga_dwmac_fix_mac_speed()
65 void __iomem *tse_pcs_base = dwmac->pcs.tse_pcs_base; in socfpga_dwmac_fix_mac_speed()
66 void __iomem *sgmii_adapter_base = dwmac->pcs.sgmii_adapter_base; in socfpga_dwmac_fix_mac_speed()
67 struct device *dev = dwmac->dev; in socfpga_dwmac_fix_mac_speed()
97 tse_pcs_fix_mac_speed(&dwmac->pcs, phy_dev, speed); in socfpga_dwmac_fix_mac_speed()
100 static int socfpga_dwmac_parse_data(struct socfpga_dwmac *dwmac, struct device *dev) in socfpga_dwmac_parse_data() argument
131 dwmac->f2h_ptp_ref_clk = of_property_read_bool(np, "altr,f2h_ptp_ref_clk"); in socfpga_dwmac_parse_data()
142 dwmac->splitter_base = devm_ioremap_resource(dev, &res_splitter); in socfpga_dwmac_parse_data()
[all …]
Ddwmac-intel-plat.c2 /* Intel DWMAC platform driver
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()
70 { .compatible = "intel,keembay-dwmac", .data = &kmb_data },
82 struct intel_dwmac *dwmac; in intel_eth_plat_probe() local
97 dwmac = devm_kzalloc(&pdev->dev, sizeof(*dwmac), GFP_KERNEL); in intel_eth_plat_probe()
98 if (!dwmac) { in intel_eth_plat_probe()
[all …]
Ddwmac-sti.c3 * dwmac-sti.c - STMicroelectronics DWMAC Specific Glue layer
162 struct sti_dwmac *dwmac = priv; in stih4xx_fix_retime_src() local
163 u32 src = dwmac->tx_retime_src; in stih4xx_fix_retime_src()
164 u32 reg = dwmac->ctrl_reg; in stih4xx_fix_retime_src()
167 if (dwmac->interface == PHY_INTERFACE_MODE_MII) { in stih4xx_fix_retime_src()
169 } else if (dwmac->interface == PHY_INTERFACE_MODE_RMII) { in stih4xx_fix_retime_src()
170 if (dwmac->ext_phyclk) { in stih4xx_fix_retime_src()
176 } else if (IS_PHY_IF_MODE_RGMII(dwmac->interface)) { in stih4xx_fix_retime_src()
191 clk_set_rate(dwmac->clk, freq); in stih4xx_fix_retime_src()
193 regmap_update_bits(dwmac->regmap, reg, STIH4XX_RETIME_SRC_MASK, in stih4xx_fix_retime_src()
[all …]
DMakefile15 obj-$(CONFIG_DWMAC_ANARION) += dwmac-anarion.o
16 obj-$(CONFIG_DWMAC_IPQ806X) += dwmac-ipq806x.o
17 obj-$(CONFIG_DWMAC_LPC18XX) += dwmac-lpc18xx.o
18 obj-$(CONFIG_DWMAC_MEDIATEK) += dwmac-mediatek.o
19 obj-$(CONFIG_DWMAC_MESON) += dwmac-meson.o dwmac-meson8b.o
20 obj-$(CONFIG_DWMAC_OXNAS) += dwmac-oxnas.o
21 obj-$(CONFIG_DWMAC_QCOM_ETHQOS) += dwmac-qcom-ethqos.o
22 obj-$(CONFIG_DWMAC_ROCKCHIP) += dwmac-rk.o
23 obj-$(CONFIG_DWMAC_SOCFPGA) += dwmac-altr-socfpga.o
24 obj-$(CONFIG_DWMAC_STI) += dwmac-sti.o
[all …]
Ddwmac-oxnas.c3 * Oxford Semiconductor OXNAS DWMAC glue layer
59 struct oxnas_dwmac *dwmac = priv; in oxnas_dwmac_init() local
64 ret = device_reset(dwmac->dev); in oxnas_dwmac_init()
68 ret = clk_prepare_enable(dwmac->clk); in oxnas_dwmac_init()
72 ret = regmap_read(dwmac->regmap, OXNAS_DWMAC_CTRL_REGOFFSET, &value); in oxnas_dwmac_init()
74 clk_disable_unprepare(dwmac->clk); in oxnas_dwmac_init()
91 regmap_write(dwmac->regmap, OXNAS_DWMAC_CTRL_REGOFFSET, value); in oxnas_dwmac_init()
98 regmap_write(dwmac->regmap, OXNAS_DWMAC_DELAY_REGOFFSET, value); in oxnas_dwmac_init()
105 struct oxnas_dwmac *dwmac = priv; in oxnas_dwmac_exit() local
107 clk_disable_unprepare(dwmac->clk); in oxnas_dwmac_exit()
[all …]
Ddwmac-meson.c3 * Amlogic Meson6 and Meson8 DWMAC glue layer
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()
65 dwmac->reg = devm_platform_ioremap_resource(pdev, 1); in meson6_dwmac_probe()
66 if (IS_ERR(dwmac->reg)) { in meson6_dwmac_probe()
67 ret = PTR_ERR(dwmac->reg); in meson6_dwmac_probe()
[all …]
Ddwmac-generic.c2 * Generic DWMAC platform driver
74 { .compatible = "snps,dwmac-3.40a"},
75 { .compatible = "snps,dwmac-3.50a"},
76 { .compatible = "snps,dwmac-3.610"},
77 { .compatible = "snps,dwmac-3.70a"},
78 { .compatible = "snps,dwmac-3.710"},
79 { .compatible = "snps,dwmac-4.00"},
80 { .compatible = "snps,dwmac-4.10a"},
81 { .compatible = "snps,dwmac"},
99 MODULE_DESCRIPTION("Generic dwmac driver");
DKconfig53 tristate "Generic driver for DWMAC"
56 Generic DWMAC driver for platforms that don't require any
70 tristate "QCA IPQ806x DWMAC support"
75 Support for QCA IPQ806X DWMAC Ethernet.
83 tristate "NXP LPC18xx/43xx DWMAC support"
88 Support for NXP LPC18xx/43xx DWMAC Ethernet.
99 tristate "Amlogic Meson dwmac support"
110 tristate "Oxford Semiconductor OXNAS dwmac support"
131 tristate "Rockchip dwmac support"
142 tristate "SOCFPGA dwmac support"
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/net/
Damlogic,meson-dwmac.yaml5 $id: "http://devicetree.org/schemas/net/amlogic,meson-dwmac.yaml#"
8 title: Amlogic Meson DWMAC Ethernet controller
14 # We need a select here so we don't match all nodes with 'snps,dwmac'
20 - amlogic,meson6-dwmac
21 - amlogic,meson8b-dwmac
22 - amlogic,meson8m2-dwmac
23 - amlogic,meson-gxbb-dwmac
24 - amlogic,meson-axg-dwmac
25 - amlogic,meson-g12a-dwmac
30 - $ref: "snps,dwmac.yaml#"
[all …]
Dstm32-dwmac.yaml5 $id: "http://devicetree.org/schemas/net/stm32-dwmac.yaml#"
8 title: STMicroelectronics STM32 / MCU DWMAC glue layer controller
17 # We need a select here so we don't match all nodes with 'snps,dwmac'
23 - st,stm32-dwmac
24 - st,stm32mp1-dwmac
29 - $ref: "snps,dwmac.yaml#"
36 - st,stm32mp1-dwmac
37 - const: snps,dwmac-4.20a
40 - st,stm32-dwmac
41 - const: snps,dwmac-4.10a
[all …]
Dsnps,dwmac.yaml4 $id: http://devicetree.org/schemas/net/snps,dwmac.yaml#
23 - snps,dwmac
24 - snps,dwmac-3.50a
25 - snps,dwmac-3.610
26 - snps,dwmac-3.70a
27 - snps,dwmac-3.710
28 - snps,dwmac-4.00
29 - snps,dwmac-4.10a
30 - snps,dwmac-4.20a
54 - amlogic,meson6-dwmac
[all …]
Dsti-dwmac.txt1 STMicroelectronics SoC DWMAC glue layer controller
10 - compatible : Can be "st,stih415-dwmac", "st,stih416-dwmac",
11 "st,stih407-dwmac", "st,stid127-dwmac".
35 ethernet0: dwmac@9630000 {
37 compatible = "st,stih407-dwmac", "snps,dwmac", "snps,dwmac-3.710";
/kernel/linux/linux-4.19/Documentation/devicetree/bindings/net/
Dmeson-dwmac.txt1 * Amlogic Meson DWMAC Ethernet controller
3 The device inherits all the properties of the dwmac/stmmac devices
10 - "amlogic,meson6-dwmac"
11 - "amlogic,meson8b-dwmac"
12 - "amlogic,meson8m2-dwmac"
13 - "amlogic,meson-gxbb-dwmac"
14 - "amlogic,meson-axg-dwmac"
15 Additionally "snps,dwmac" and any applicable more
19 - reg: The first register range should be the one of the DWMAC
50 compatible = "amlogic,meson6-dwmac", "snps,dwmac";
[all …]
Dsti-dwmac.txt1 STMicroelectronics SoC DWMAC glue layer controller
10 - compatible : Can be "st,stih415-dwmac", "st,stih416-dwmac",
11 "st,stih407-dwmac", "st,stid127-dwmac".
35 ethernet0: dwmac@9630000 {
37 compatible = "st,stih407-dwmac", "snps,dwmac", "snps,dwmac-3.710";

123456789