| /kernel/linux/linux-6.6/drivers/net/ethernet/ti/ |
| D | cpsw_new.c | 37 #include "cpsw.h" 53 struct cpsw_common *cpsw; member 65 static int cpsw_slave_index_priv(struct cpsw_common *cpsw, in cpsw_slave_index_priv() argument 74 static bool cpsw_is_switch_en(struct cpsw_common *cpsw) in cpsw_is_switch_en() argument 76 return !cpsw->data.dual_emac; in cpsw_is_switch_en() 81 struct cpsw_common *cpsw = ndev_to_cpsw(ndev); in cpsw_set_promiscious() local 85 if (cpsw_is_switch_en(cpsw)) in cpsw_set_promiscious() 92 for (i = 0; i < cpsw->data.slaves; i++) in cpsw_set_promiscious() 93 if (cpsw->slaves[i].ndev && in cpsw_set_promiscious() 94 (cpsw->slaves[i].ndev->flags & IFF_PROMISC)) in cpsw_set_promiscious() [all …]
|
| D | cpsw_ethtool.c | 18 #include "cpsw.h" 159 struct cpsw_common *cpsw = ndev_to_cpsw(ndev); in cpsw_get_coalesce() local 161 coal->rx_coalesce_usecs = cpsw->coal_intvl; in cpsw_get_coalesce() 175 struct cpsw_common *cpsw = priv->cpsw; in cpsw_set_coalesce() local 179 int_ctrl = readl(&cpsw->wr_regs->int_control); in cpsw_set_coalesce() 180 prescale = cpsw->bus_freq_mhz * 4; in cpsw_set_coalesce() 208 writel(num_interrupts, &cpsw->wr_regs->rx_imax); in cpsw_set_coalesce() 209 writel(num_interrupts, &cpsw->wr_regs->tx_imax); in cpsw_set_coalesce() 216 writel(int_ctrl, &cpsw->wr_regs->int_control); in cpsw_set_coalesce() 219 cpsw->coal_intvl = coal_intvl; in cpsw_set_coalesce() [all …]
|
| D | cpsw.c | 41 #include "cpsw.h" 52 MODULE_PARM_DESC(debug_level, "cpsw debug level (NETIF_MSG bits)"); 56 MODULE_PARM_DESC(ale_ageout, "cpsw ale ageout interval (seconds)"); 69 struct cpsw_common *cpsw = (priv)->cpsw; \ 71 if (cpsw->data.dual_emac) \ 72 (func)((cpsw)->slaves + priv->emac_port, ##arg);\ 74 for (n = cpsw->data.slaves, \ 75 slave = cpsw->slaves; \ 80 static int cpsw_slave_index_priv(struct cpsw_common *cpsw, in cpsw_slave_index_priv() argument 83 return cpsw->data.dual_emac ? priv->emac_port : cpsw->data.active_slave; in cpsw_slave_index_priv() [all …]
|
| D | cpsw_priv.c | 25 #include "cpsw.h" 34 int (*cpsw_slave_index)(struct cpsw_common *cpsw, struct cpsw_priv *priv); 36 void cpsw_intr_enable(struct cpsw_common *cpsw) in cpsw_intr_enable() argument 38 writel_relaxed(0xFF, &cpsw->wr_regs->tx_en); in cpsw_intr_enable() 39 writel_relaxed(0xFF, &cpsw->wr_regs->rx_en); in cpsw_intr_enable() 41 cpdma_ctlr_int_ctrl(cpsw->dma, true); in cpsw_intr_enable() 44 void cpsw_intr_disable(struct cpsw_common *cpsw) in cpsw_intr_disable() argument 46 writel_relaxed(0, &cpsw->wr_regs->tx_en); in cpsw_intr_disable() 47 writel_relaxed(0, &cpsw->wr_regs->rx_en); in cpsw_intr_disable() 49 cpdma_ctlr_int_ctrl(cpsw->dma, false); in cpsw_intr_disable() [all …]
|
| D | cpsw_switchdev.c | 15 #include "cpsw.h" 29 struct cpsw_common *cpsw = priv->cpsw; in cpsw_port_stp_state_set() local 51 ret = cpsw_ale_control_set(cpsw->ale, priv->emac_port, in cpsw_port_stp_state_set() 62 struct cpsw_common *cpsw = priv->cpsw; in cpsw_port_attr_br_flags_set() local 73 cpsw_ale_set_unreg_mcast(cpsw->ale, BIT(priv->emac_port), in cpsw_port_attr_br_flags_set() 121 struct cpsw_common *cpsw = priv->cpsw; in cpsw_get_pvid() local 128 if (cpsw->version == CPSW_VERSION_1) in cpsw_get_pvid() 130 pvid = slave_read(cpsw->slaves + (priv->emac_port - 1), reg); in cpsw_get_pvid() 132 port_vlan_reg = &cpsw->host_port_regs->port_vlan; in cpsw_get_pvid() 143 struct cpsw_common *cpsw = priv->cpsw; in cpsw_set_pvid() local [all …]
|
| D | Makefile | 6 obj-$(CONFIG_TI_CPSW) += cpsw-common.o 7 obj-$(CONFIG_TI_DAVINCI_EMAC) += cpsw-common.o 8 obj-$(CONFIG_TI_CPSW_SWITCHDEV) += cpsw-common.o 15 obj-$(CONFIG_TI_CPSW_PHY_SEL) += cpsw-phy-sel.o 18 ti_cpsw-y := cpsw.o davinci_cpdma.o cpsw_ale.o cpsw_priv.o cpsw_sl.o cpsw_ethtool.o 29 obj-$(CONFIG_TI_K3_AM65_CPSW_NUSS) += ti-am65-cpsw-nuss.o 30 ti-am65-cpsw-nuss-y := am65-cpsw-nuss.o cpsw_sl.o am65-cpsw-ethtool.o cpsw_ale.o am65-cpsw-qos.o 31 ti-am65-cpsw-nuss-$(CONFIG_TI_K3_AM65_CPSW_SWITCHDEV) += am65-cpsw-switchdev.o
|
| D | Kconfig | 44 bool "TI CPSW Phy mode Selection (DEPRECATED)" 48 the CPSW. DEPRECATED: use PHY_TI_GMII_SEL. 51 tristate "TI CPSW Switch Support" 60 This driver supports TI's CPSW Ethernet Switch. 63 will be called cpsw. 66 tristate "TI CPSW Switch Support with switchdev" 77 This driver supports TI's CPSW Ethernet Switch. 89 the CPSW Ethernet Switch and Keystone 2 1g/10g Switch Subsystem. 97 tristate "TI K3 AM654x/J721E CPSW Ethernet driver" 113 will be called ti-am65-cpsw-nuss. [all …]
|
| D | am65-cpsw-switchdev.c | 14 #include "am65-cpsw-nuss.h" 15 #include "am65-cpsw-switchdev.h" 27 struct am65_cpsw_common *cpsw = port->common; in am65_cpsw_port_stp_state_set() local 49 ret = cpsw_ale_control_set(cpsw->ale, port->port_id, in am65_cpsw_port_stp_state_set() 60 struct am65_cpsw_common *cpsw = port->common; in am65_cpsw_port_attr_br_flags_set() local 71 cpsw_ale_set_unreg_mcast(cpsw->ale, BIT(port->port_id), in am65_cpsw_port_attr_br_flags_set() 119 struct am65_cpsw_common *cpsw = port->common; in am65_cpsw_get_pvid() local 120 struct am65_cpsw_host *host_p = am65_common_get_host(cpsw); in am65_cpsw_get_pvid() 135 struct am65_cpsw_common *cpsw = port->common; in am65_cpsw_set_pvid() local 136 struct am65_cpsw_host *host_p = am65_common_get_host(cpsw); in am65_cpsw_set_pvid() [all …]
|
| D | cpsw-phy-sel.c | 16 #include "cpsw.h" 165 node = of_parse_phandle(dev->of_node, "cpsw-phy-sel", 0); in cpsw_phy_sel() 167 node = of_get_child_by_name(dev->of_node, "cpsw-phy-sel"); in cpsw_phy_sel() 192 .compatible = "ti,am3352-cpsw-phy-sel", 196 .compatible = "ti,dra7xx-cpsw-phy-sel", 200 .compatible = "ti,am43xx-cpsw-phy-sel", 217 dev_err(&pdev->dev, "unable to alloc memory for cpsw phy sel\n"); in cpsw_phy_sel_probe() 238 .name = "cpsw-phy-sel",
|
| D | am65-cpsw-switchdev.h | 16 int am65_cpsw_switchdev_register_notifiers(struct am65_cpsw_common *cpsw); 17 void am65_cpsw_switchdev_unregister_notifiers(struct am65_cpsw_common *cpsw); 19 static inline int am65_cpsw_switchdev_register_notifiers(struct am65_cpsw_common *cpsw) in am65_cpsw_switchdev_register_notifiers() argument 24 static inline void am65_cpsw_switchdev_unregister_notifiers(struct am65_cpsw_common *cpsw) in am65_cpsw_switchdev_unregister_notifiers() argument
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/ti/ |
| D | cpsw_new.c | 35 #include "cpsw.h" 51 struct cpsw_common *cpsw; member 63 static int cpsw_slave_index_priv(struct cpsw_common *cpsw, in cpsw_slave_index_priv() argument 72 static bool cpsw_is_switch_en(struct cpsw_common *cpsw) in cpsw_is_switch_en() argument 74 return !cpsw->data.dual_emac; in cpsw_is_switch_en() 79 struct cpsw_common *cpsw = ndev_to_cpsw(ndev); in cpsw_set_promiscious() local 83 if (cpsw_is_switch_en(cpsw)) in cpsw_set_promiscious() 90 for (i = 0; i < cpsw->data.slaves; i++) in cpsw_set_promiscious() 91 if (cpsw->slaves[i].ndev && in cpsw_set_promiscious() 92 (cpsw->slaves[i].ndev->flags & IFF_PROMISC)) in cpsw_set_promiscious() [all …]
|
| D | cpsw_priv.c | 24 #include "cpsw.h" 33 int (*cpsw_slave_index)(struct cpsw_common *cpsw, struct cpsw_priv *priv); 35 void cpsw_intr_enable(struct cpsw_common *cpsw) in cpsw_intr_enable() argument 37 writel_relaxed(0xFF, &cpsw->wr_regs->tx_en); in cpsw_intr_enable() 38 writel_relaxed(0xFF, &cpsw->wr_regs->rx_en); in cpsw_intr_enable() 40 cpdma_ctlr_int_ctrl(cpsw->dma, true); in cpsw_intr_enable() 43 void cpsw_intr_disable(struct cpsw_common *cpsw) in cpsw_intr_disable() argument 45 writel_relaxed(0, &cpsw->wr_regs->tx_en); in cpsw_intr_disable() 46 writel_relaxed(0, &cpsw->wr_regs->rx_en); in cpsw_intr_disable() 48 cpdma_ctlr_int_ctrl(cpsw->dma, false); in cpsw_intr_disable() [all …]
|
| D | cpsw.c | 41 #include "cpsw.h" 52 MODULE_PARM_DESC(debug_level, "cpsw debug level (NETIF_MSG bits)"); 56 MODULE_PARM_DESC(ale_ageout, "cpsw ale ageout interval (seconds)"); 69 struct cpsw_common *cpsw = (priv)->cpsw; \ 71 if (cpsw->data.dual_emac) \ 72 (func)((cpsw)->slaves + priv->emac_port, ##arg);\ 74 for (n = cpsw->data.slaves, \ 75 slave = cpsw->slaves; \ 80 static int cpsw_slave_index_priv(struct cpsw_common *cpsw, in cpsw_slave_index_priv() argument 83 return cpsw->data.dual_emac ? priv->emac_port : cpsw->data.active_slave; in cpsw_slave_index_priv() [all …]
|
| D | cpsw_ethtool.c | 18 #include "cpsw.h" 157 struct cpsw_common *cpsw = ndev_to_cpsw(ndev); in cpsw_get_coalesce() local 159 coal->rx_coalesce_usecs = cpsw->coal_intvl; in cpsw_get_coalesce() 171 struct cpsw_common *cpsw = priv->cpsw; in cpsw_set_coalesce() local 175 int_ctrl = readl(&cpsw->wr_regs->int_control); in cpsw_set_coalesce() 176 prescale = cpsw->bus_freq_mhz * 4; in cpsw_set_coalesce() 204 writel(num_interrupts, &cpsw->wr_regs->rx_imax); in cpsw_set_coalesce() 205 writel(num_interrupts, &cpsw->wr_regs->tx_imax); in cpsw_set_coalesce() 212 writel(int_ctrl, &cpsw->wr_regs->int_control); in cpsw_set_coalesce() 215 cpsw->coal_intvl = coal_intvl; in cpsw_set_coalesce() [all …]
|
| D | cpsw_switchdev.c | 15 #include "cpsw.h" 30 struct cpsw_common *cpsw = priv->cpsw; in cpsw_port_stp_state_set() local 55 ret = cpsw_ale_control_set(cpsw->ale, priv->emac_port, in cpsw_port_stp_state_set() 67 struct cpsw_common *cpsw = priv->cpsw; in cpsw_port_attr_br_flags_set() local 78 cpsw_ale_set_unreg_mcast(cpsw->ale, BIT(priv->emac_port), in cpsw_port_attr_br_flags_set() 126 struct cpsw_common *cpsw = priv->cpsw; in cpsw_get_pvid() local 133 if (cpsw->version == CPSW_VERSION_1) in cpsw_get_pvid() 135 pvid = slave_read(cpsw->slaves + (priv->emac_port - 1), reg); in cpsw_get_pvid() 137 port_vlan_reg = &cpsw->host_port_regs->port_vlan; in cpsw_get_pvid() 148 struct cpsw_common *cpsw = priv->cpsw; in cpsw_set_pvid() local [all …]
|
| D | Makefile | 6 obj-$(CONFIG_TI_CPSW) += cpsw-common.o 7 obj-$(CONFIG_TI_DAVINCI_EMAC) += cpsw-common.o 8 obj-$(CONFIG_TI_CPSW_SWITCHDEV) += cpsw-common.o 15 obj-$(CONFIG_TI_CPSW_PHY_SEL) += cpsw-phy-sel.o 18 ti_cpsw-y := cpsw.o davinci_cpdma.o cpsw_ale.o cpsw_priv.o cpsw_sl.o cpsw_ethtool.o 27 obj-$(CONFIG_TI_K3_AM65_CPSW_NUSS) += ti-am65-cpsw-nuss.o 28 ti-am65-cpsw-nuss-y := am65-cpsw-nuss.o cpsw_sl.o am65-cpsw-ethtool.o cpsw_ale.o k3-cppi-desc-pool.…
|
| D | Kconfig | 43 bool "TI CPSW Phy mode Selection (DEPRECATED)" 47 the CPSW. DEPRECATED: use PHY_TI_GMII_SEL. 50 tristate "TI CPSW Switch Support" 59 This driver supports TI's CPSW Ethernet Switch. 62 will be called cpsw. 65 tristate "TI CPSW Switch Support with switchdev" 76 This driver supports TI's CPSW Ethernet Switch. 88 the CPSW Ethernet Switch and Keystone 2 1g/10g Switch Subsystem. 93 tristate "TI K3 AM654x/J721E CPSW Ethernet driver" 106 will be called ti-am65-cpsw-nuss. [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/net/ |
| D | ti,cpsw-switch.yaml | 4 $id: http://devicetree.org/schemas/net/ti,cpsw-switch.yaml# 7 title: TI SoC Ethernet Switch Controller (CPSW) Device Tree Bindings 24 - const: ti,cpsw-switch 26 - const: ti,am335x-cpsw-switch 27 - const: ti,cpsw-switch 29 - const: ti,am4372-cpsw-switch 30 - const: ti,cpsw-switch 32 - const: ti,dra7-cpsw-switch 33 - const: ti,cpsw-switch 38 The physical base address and size of full the CPSW module IO range [all …]
|
| D | cpsw-phy-sel.txt | 1 TI CPSW Phy mode Selection Device Tree Bindings (DEPRECATED) 5 - compatible : Should be "ti,am3352-cpsw-phy-sel" for am335x platform and 6 "ti,dra7xx-cpsw-phy-sel" for dra7xx platform 7 "ti,am43xx-cpsw-phy-sel" for am43xx platform 8 - reg : physical base address and size of the cpsw 18 phy_sel: cpsw-phy-sel@44e10650 { 19 compatible = "ti,am3352-cpsw-phy-sel"; 25 phy_sel: cpsw-phy-sel@44e10650 { 26 compatible = "ti,am3352-cpsw-phy-sel";
|
| D | cpsw.txt | 6 "ti,cpsw" for backward compatible 7 "ti,am335x-cpsw" for AM335x controllers 8 "ti,am4372-cpsw" for AM437x controllers 9 "ti,dra7-cpsw" for DRA7x controllers 10 - reg : physical base address and size of the cpsw 22 - cpsw-phy-sel : Specifies the phandle to the CPSW phy mode selection 23 device. See also cpsw-phy-sel.txt for it's binding. 24 Note that in legacy cases cpsw-phy-sel may be 34 required to be driven so that cpsw data lines 37 driven low so that cpsw slave 0 and phy data [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/net/ |
| D | ti,cpsw-switch.yaml | 4 $id: http://devicetree.org/schemas/net/ti,cpsw-switch.yaml# 7 title: TI SoC Ethernet Switch Controller (CPSW) 24 - const: ti,cpsw-switch 26 - const: ti,am335x-cpsw-switch 27 - const: ti,cpsw-switch 29 - const: ti,am4372-cpsw-switch 30 - const: ti,cpsw-switch 32 - const: ti,dra7-cpsw-switch 33 - const: ti,cpsw-switch 38 The physical base address and size of full the CPSW module IO range [all …]
|
| D | cpsw-phy-sel.txt | 1 TI CPSW Phy mode Selection Device Tree Bindings (DEPRECATED) 5 - compatible : Should be "ti,am3352-cpsw-phy-sel" for am335x platform and 6 "ti,dra7xx-cpsw-phy-sel" for dra7xx platform 7 "ti,am43xx-cpsw-phy-sel" for am43xx platform 8 - reg : physical base address and size of the cpsw 18 phy_sel: cpsw-phy-sel@44e10650 { 19 compatible = "ti,am3352-cpsw-phy-sel"; 25 phy_sel: cpsw-phy-sel@44e10650 { 26 compatible = "ti,am3352-cpsw-phy-sel";
|
| D | cpsw.txt | 6 "ti,cpsw" for backward compatible 7 "ti,am335x-cpsw" for AM335x controllers 8 "ti,am4372-cpsw" for AM437x controllers 9 "ti,dra7-cpsw" for DRA7x controllers 10 - reg : physical base address and size of the cpsw 22 - cpsw-phy-sel : Specifies the phandle to the CPSW phy mode selection 23 device. See also cpsw-phy-sel.txt for its binding. 24 Note that in legacy cases cpsw-phy-sel may be 34 required to be driven so that cpsw data lines 37 driven low so that cpsw slave 0 and phy data [all …]
|
| D | ti,k3-am654-cpsw-nuss.yaml | 4 $id: http://devicetree.org/schemas/net/ti,k3-am654-cpsw-nuss.yaml# 57 - ti,am642-cpsw-nuss 58 - ti,am654-cpsw-nuss 60 - ti,j721e-cpsw-nuss 127 description: CPSW port number 132 - description: CPSW MAC's PHY. 174 CPSW MDIO bus. 180 CPSW Common Platform Time Sync (CPTS) module. 249 compatible = "ti,am654-cpsw-nuss"; 291 compatible = "ti,cpsw-mdio","ti,davinci_mdio";
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/phy/ |
| D | ti,phy-gmii-sel.yaml | 8 title: CPSW Port's Interface Mode Selection PHY Tree Bindings 22 | CPSW | | +---------+ | 41 CPSW Port's Interface Mode Selection PHY describes MII interface mode between 42 CPSW Port and Ethernet PHY which depends on Eth PHY and board configuration. 44 CPSW Port's Interface Mode Selection PHY device should defined as child device 45 of SCM node (scm_conf) and can be attached to each CPSW port node using standard 75 description: CPSW port number (starting from 1) 88 - CPSW port number (starting from 1)
|