/linux-6.12.1/drivers/net/ethernet/stmicro/stmmac/ |
D | dwmac-stm32.c | 3 * dwmac-stm32.c - DWMAC Specific Glue layer for STM32 MCU 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() [all …]
|
D | dwmac-meson8b.c | 3 * Amlogic Meson8b, Meson8m2 and GXBB DWMAC glue layer 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() [all …]
|
D | dwmac-imx.c | 3 * dwmac-imx.c - DWMAC Specific Glue layer for NXP imx8 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() 89 pr_debug("imx dwmac doesn't support %d interface\n", 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() [all …]
|
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 …]
|
D | dwmac-intel-plat.c | 2 /* 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 }, 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() [all …]
|
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 …]
|
D | dwmac-socfpga.c | 4 * 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 *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() [all …]
|
D | dwmac-sti.c | 3 * dwmac-sti.c - STMicroelectronics DWMAC Specific Glue layer 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() [all …]
|
D | dwmac-starfive.c | 3 * StarFive DWMAC platform driver 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() [all …]
|
D | dwmac-meson.c | 3 * 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() 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() [all …]
|
D | dwmac-loongson1.c | 3 * Loongson-1 DWMAC glue layer 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() [all …]
|
D | Kconfig | 53 tristate "Generic driver for DWMAC" 56 Generic DWMAC driver for platforms that don't require any 82 tristate "QCA IPQ806x DWMAC support" 87 Support for QCA IPQ806X DWMAC Ethernet. 94 Select the QCOM_SOCINFO config flag to enable specific dwmac 98 tristate "NXP LPC18xx/43xx DWMAC support" 103 Support for NXP LPC18xx/43xx DWMAC Ethernet. 114 tristate "Amlogic Meson dwmac support" 135 tristate "Rockchip dwmac support" 146 tristate "Renesas RZ/N1 dwmac support" [all …]
|
D | dwmac-generic.c | 2 * Generic DWMAC platform driver 54 { .compatible = "snps,dwmac-3.40a"}, 55 { .compatible = "snps,dwmac-3.50a"}, 56 { .compatible = "snps,dwmac-3.610"}, 57 { .compatible = "snps,dwmac-3.70a"}, 58 { .compatible = "snps,dwmac-3.710"}, 59 { .compatible = "snps,dwmac-4.00"}, 60 { .compatible = "snps,dwmac-4.10a"}, 61 { .compatible = "snps,dwmac"}, 78 MODULE_DESCRIPTION("Generic dwmac driver");
|
D | dwmac-lpc18xx.c | 2 * DWMAC glue for NXP LPC18xx/LPC43xx Ethernet 68 { .compatible = "nxp,lpc1850-dwmac" }, 77 .name = "lpc18xx-dwmac", 85 MODULE_DESCRIPTION("DWMAC glue for LPC18xx/43xx Ethernet");
|
/linux-6.12.1/Documentation/devicetree/bindings/net/ |
D | amlogic,meson-dwmac.yaml | 5 $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 …]
|
D | stm32-dwmac.yaml | 5 $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 25 - st,stm32mp13-dwmac 26 - st,stm32mp25-dwmac 35 - st,stm32mp25-dwmac 36 - const: snps,dwmac-5.20 39 - st,stm32mp1-dwmac [all …]
|
D | starfive,jh7110-dwmac.yaml | 5 $id: http://devicetree.org/schemas/net/starfive,jh7110-dwmac.yaml# 8 title: StarFive JH7110 DWMAC glue layer 19 - starfive,jh7100-dwmac 20 - starfive,jh7110-dwmac 28 - const: starfive,jh7100-dwmac 29 - const: snps,dwmac 31 - const: starfive,jh7110-dwmac 32 - const: snps,dwmac-5.20 34 - const: starfive,jh8100-dwmac 35 - const: starfive,jh7110-dwmac [all …]
|
D | nxp,dwmac-imx.yaml | 4 $id: http://devicetree.org/schemas/net/nxp,dwmac-imx.yaml# 7 title: NXP i.MX8/9 DWMAC glue layer 14 # We need a select here so we don't match all nodes with 'snps,dwmac' 20 - nxp,imx8mp-dwmac-eqos 21 - nxp,imx8dxl-dwmac-eqos 22 - nxp,imx93-dwmac-eqos 27 - $ref: snps,dwmac.yaml# 34 - nxp,imx8mp-dwmac-eqos 35 - nxp,imx8dxl-dwmac-eqos 36 - nxp,imx93-dwmac-eqos [all …]
|
D | snps,dwmac.yaml | 4 $id: http://devicetree.org/schemas/net/snps,dwmac.yaml# 23 - snps,dwmac 24 - snps,dwmac-3.40a 25 - snps,dwmac-3.50a 26 - snps,dwmac-3.610 27 - snps,dwmac-3.70a 28 - snps,dwmac-3.710 29 - snps,dwmac-4.00 30 - snps,dwmac-4.10a 31 - snps,dwmac-4.20a [all …]
|
D | toshiba,visconti-dwmac.yaml | 4 $id: http://devicetree.org/schemas/net/toshiba,visconti-dwmac.yaml# 7 title: Toshiba Visconti DWMAC Ethernet controller 17 - toshiba,visconti-dwmac 22 - $ref: snps,dwmac.yaml# 29 - toshiba,visconti-dwmac 30 - const: snps,dwmac-4.20a 63 compatible = "toshiba,visconti-dwmac", "snps,dwmac-4.20a"; 78 compatible = "snps,dwmac-mdio";
|
D | intel,dwmac-plat.yaml | 4 $id: http://devicetree.org/schemas/net/intel,dwmac-plat.yaml# 7 title: Intel DWMAC glue layer 17 - intel,keembay-dwmac 22 - $ref: snps,dwmac.yaml# 29 - intel,keembay-dwmac 30 - const: snps,dwmac-4.10a 101 compatible = "intel,keembay-dwmac", "snps,dwmac-4.10a"; 123 compatible = "snps,dwmac-mdio";
|
D | sti-dwmac.txt | 1 STMicroelectronics SoC DWMAC glue layer controller 10 - compatible : "st,stih407-dwmac" 34 ethernet0: dwmac@9630000 { 36 compatible = "st,stih407-dwmac", "snps,dwmac", "snps,dwmac-3.710";
|
D | socfpga-dwmac.txt | 1 Altera SOCFPGA SoC DWMAC controller 3 This is a variant of the dwmac/stmmac driver an inherits all descriptions 12 Along with "snps,dwmac" and any applicable more detailed 25 DWMAC controller is connected emac splitter. 47 compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac";
|
D | nxp,lpc1850-dwmac.txt | 7 - compatible: Should contain "nxp,lpc1850-dwmac" 12 compatible = "nxp,lpc1850-dwmac", "snps,dwmac-3.611", "snps,dwmac";
|
D | mediatek-dwmac.yaml | 4 $id: http://devicetree.org/schemas/net/mediatek-dwmac.yaml# 7 title: MediaTek DWMAC glue layer controller 15 # We need a select here so we don't match all nodes with 'snps,dwmac' 28 - $ref: snps,dwmac.yaml# 36 - const: snps,dwmac-4.20a 40 - const: snps,dwmac-5.10a 45 - const: snps,dwmac-5.10a 155 compatible = "mediatek,mt2712-gmac", "snps,dwmac-4.20a";
|