Home
last modified time | relevance | path

Searched full:cpsw (Results 1 – 25 of 110) sorted by relevance

12345

/linux-6.12.1/drivers/net/ethernet/ti/
Dcpsw_new.c37 #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 …]
Dcpsw.c41 #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 …]
Dcpsw_ethtool.c18 #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 …]
Dcpsw_priv.c25 #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 …]
Dcpsw_switchdev.c15 #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 …]
DMakefile6 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
14 obj-$(CONFIG_TI_CPSW_PHY_SEL) += cpsw-phy-sel.o
17 ti_cpsw-y := cpsw.o davinci_cpdma.o cpsw_ale.o cpsw_priv.o cpsw_sl.o cpsw_ethtool.o
28 obj-$(CONFIG_TI_K3_AM65_CPSW_NUSS) += ti-am65-cpsw-nuss.o
29 ti-am65-cpsw-nuss-y := am65-cpsw-nuss.o cpsw_sl.o am65-cpsw-ethtool.o cpsw_ale.o
30 ti-am65-cpsw-nuss-$(CONFIG_TI_AM65_CPSW_QOS) += am65-cpsw-qos.o
31 ti-am65-cpsw-nuss-$(CONFIG_TI_K3_AM65_CPSW_SWITCHDEV) += am65-cpsw-switchdev.o
Dam65-cpsw-switchdev.c14 #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 …]
DKconfig44 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 …]
Dcpsw-phy-sel.c16 #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",
Dam65-cpsw-switchdev.h16 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
Dam65-cpsw-nuss.c39 #include "am65-cpsw-nuss.h"
40 #include "am65-cpsw-switchdev.h"
192 "initializing am65 cpsw nuss version 0x%08X, cpsw version 0x%08X Ports: %u quirks:%08x\n", in am65_cpsw_nuss_get_ver()
2978 static int am65_cpsw_register_notifiers(struct am65_cpsw_common *cpsw) in am65_cpsw_register_notifiers() argument
2982 if (AM65_CPSW_IS_CPSW2G(cpsw) || in am65_cpsw_register_notifiers()
2986 cpsw->am65_cpsw_netdevice_nb.notifier_call = &am65_cpsw_netdevice_event; in am65_cpsw_register_notifiers()
2987 ret = register_netdevice_notifier(&cpsw->am65_cpsw_netdevice_nb); in am65_cpsw_register_notifiers()
2989 dev_err(cpsw->dev, "can't register netdevice notifier\n"); in am65_cpsw_register_notifiers()
2993 ret = am65_cpsw_switchdev_register_notifiers(cpsw); in am65_cpsw_register_notifiers()
2995 unregister_netdevice_notifier(&cpsw->am65_cpsw_netdevice_nb); in am65_cpsw_register_notifiers()
[all …]
Dcpsw_priv.h389 struct cpsw_common *cpsw; member
396 #define ndev_to_cpsw(ndev) (((struct cpsw_priv *)netdev_priv(ndev))->cpsw)
399 extern int (*cpsw_slave_index)(struct cpsw_common *cpsw,
437 int cpsw_init_common(struct cpsw_common *cpsw, void __iomem *ss_regs,
440 void cpsw_split_res(struct cpsw_common *cpsw);
442 void cpsw_intr_enable(struct cpsw_common *cpsw);
443 void cpsw_intr_disable(struct cpsw_common *cpsw);
445 int cpsw_create_xdp_rxqs(struct cpsw_common *cpsw);
446 void cpsw_destroy_xdp_rxqs(struct cpsw_common *cpsw);
463 int cpsw_need_resplit(struct cpsw_common *cpsw);
Dcpsw_switchdev.h12 int cpsw_switchdev_register_notifiers(struct cpsw_common *cpsw);
13 void cpsw_switchdev_unregister_notifiers(struct cpsw_common *cpsw);
Dam65-cpsw-ethtool.c13 #include "am65-cpsw-nuss.h"
14 #include "am65-cpsw-qos.h"
36 * @module_id: CPSW module ID
37 * @len: CPSW module registers space length in u32
48 * @hdr: CPSW module header
49 * @start_ofs: CPSW module registers start addr
50 * @end_ofs: CPSW module registers end addr
563 /* update CPSW IP version */ in am65_cpsw_get_regs()
906 /* CPSW Functional Spec states: in am65_cpsw_get_mm_stats()
/linux-6.12.1/Documentation/devicetree/bindings/net/
Dti,cpsw-switch.yaml4 $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 …]
Dcpsw-phy-sel.txt1 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";
Dcpsw.txt6 "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 …]
Dti,k3-am654-cpsw-nuss.yaml4 $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";
Dti,davinci-mdio.yaml26 - const: ti,cpsw-mdio
30 - const: ti,cpsw-mdio
/linux-6.12.1/Documentation/devicetree/bindings/phy/
Dti,phy-gmii-sel.yaml8 title: CPSW Port's Interface Mode Selection PHY
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
96 description: CPSW port number (starting from 1)
153 - CPSW port number (starting from 1)
/linux-6.12.1/Documentation/networking/devlink/
Dam65-nuss-cpsw-switch.rst4 am65-cpsw-nuss devlink support
7 This document describes the devlink features implemented by the ``am65-cpsw-nuss``
13 The ``am65-cpsw-nuss`` driver implements the following driver-specific
Dti-cpsw-switch.rst4 ti-cpsw-switch devlink support
7 This document describes the devlink features implemented by the ``ti-cpsw-switch``
13 The ``ti-cpsw-switch`` driver implements the following driver-specific
/linux-6.12.1/Documentation/networking/device_drivers/ethernet/ti/
Dcpsw_switchdev.rst4 Texas Instruments CPSW switchdev based ethernet driver
27 working as 2 individual network interfaces. Main differences from legacy CPSW
57 See Documentation/networking/devlink/ti-cpsw-switch.rst
63 which, by default, equal CPSW Port numbers. As result, bridge has to be
92 overwriting of bridge configuration as CPSW switch driver copletly reloads its
95 When the both interfaces joined the bridge - CPSW switch driver will enable
Dam65_nuss_cpsw_switchdev.rst4 Texas Instruments K3 AM65 CPSW NUSS switchdev based ethernet driver
29 See Documentation/networking/devlink/am65-nuss-cpsw-switch.rst
42 overwriting of bridge configuration as CPSW switch driver completely reloads its
45 When the both interfaces joined the bridge - CPSW switch driver will enable
/linux-6.12.1/arch/arm/boot/dts/ti/omap/
Dam335x-sancloud-bbe-common.dtsi7 cpsw_default: cpsw-default-pins {
25 cpsw_sleep: cpsw-sleep-pins {

12345