| /kernel/linux/linux-4.19/drivers/net/ethernet/stmicro/stmmac/ |
| D | dwmac-stm32.c | 2 * 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 …]
|
| D | dwmac-meson8b.c | 2 * 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 …]
|
| D | dwmac-sti.c | 2 * 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 …]
|
| D | dwmac-socfpga.c | 15 * 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 …]
|
| D | Makefile | 13 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 …]
|
| D | dwmac-oxnas.c | 2 * 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 …]
|
| D | dwmac-meson.c | 2 * 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 …]
|
| D | dwmac-generic.c | 2 * 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/ |
| D | dwmac-stm32.c | 3 * 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 …]
|
| D | dwmac-meson8b.c | 3 * 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 …]
|
| D | dwmac-imx.c | 3 * 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 …]
|
| D | dwmac-socfpga.c | 4 * 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 …]
|
| 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 }, 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 …]
|
| D | dwmac-sti.c | 3 * 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 …]
|
| D | Makefile | 15 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 …]
|
| D | dwmac-oxnas.c | 3 * 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 …]
|
| 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() 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 …]
|
| D | dwmac-generic.c | 2 * 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");
|
| D | Kconfig | 53 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/ |
| 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 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 …]
|
| D | snps,dwmac.yaml | 4 $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 …]
|
| D | sti-dwmac.txt | 1 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/ |
| D | meson-dwmac.txt | 1 * 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 …]
|
| D | sti-dwmac.txt | 1 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";
|