Lines Matching defs:cpsw

37 #include "am65-cpsw-nuss.h"
38 #include "am65-cpsw-switchdev.h"
163 "initializing am65 cpsw nuss version 0x%08X, cpsw version 0x%08X Ports: %u quirks:%08x\n",
2383 static int am65_cpsw_register_notifiers(struct am65_cpsw_common *cpsw)
2387 if (AM65_CPSW_IS_CPSW2G(cpsw) ||
2391 cpsw->am65_cpsw_netdevice_nb.notifier_call = &am65_cpsw_netdevice_event;
2392 ret = register_netdevice_notifier(&cpsw->am65_cpsw_netdevice_nb);
2394 dev_err(cpsw->dev, "can't register netdevice notifier\n");
2398 ret = am65_cpsw_switchdev_register_notifiers(cpsw);
2400 unregister_netdevice_notifier(&cpsw->am65_cpsw_netdevice_nb);
2405 static void am65_cpsw_unregister_notifiers(struct am65_cpsw_common *cpsw)
2407 if (AM65_CPSW_IS_CPSW2G(cpsw) ||
2411 am65_cpsw_switchdev_unregister_notifiers(cpsw);
2412 unregister_netdevice_notifier(&cpsw->am65_cpsw_netdevice_nb);
2417 static void am65_cpsw_init_stp_ale_entry(struct am65_cpsw_common *cpsw)
2419 cpsw_ale_add_mcast(cpsw->ale, eth_stp_addr, ALE_PORT_HOST, ALE_SUPER, 0,
2491 struct am65_cpsw_common *cpsw = port->common;
2494 cpsw_ale_control_set(cpsw->ale, port->port_id,
2497 cpsw_ale_add_ucast(cpsw->ale, port->ndev->dev_addr,
2503 cpsw_ale_add_mcast(cpsw->ale, port->ndev->broadcast,
2509 cpsw_ale_control_set(cpsw->ale, port->port_id,
2517 struct am65_cpsw_common *cpsw = dl_priv->common;
2522 dev_dbg(cpsw->dev, "%s id:%u\n", __func__, id);
2527 if (switch_en == !cpsw->is_emac_mode)
2530 if (!switch_en && cpsw->br_members) {
2531 dev_err(cpsw->dev, "Remove ports from bridge before disabling switch mode\n");
2537 cpsw->is_emac_mode = !switch_en;
2539 for (i = 0; i < cpsw->port_num; i++) {
2540 struct net_device *sl_ndev = cpsw->ports[i].ndev;
2550 for (i = 0; i < cpsw->port_num; i++) {
2551 struct net_device *sl_ndev = cpsw->ports[i].ndev;
2559 slave->port_vlan = cpsw->default_vlan;
2567 cpsw_ale_control_set(cpsw->ale, 0, ALE_BYPASS, 1);
2569 cpsw_ale_control_set(cpsw->ale, HOST_PORT_NUM, ALE_CLEAR, 1);
2570 cpsw_ale_control_get(cpsw->ale, HOST_PORT_NUM, ALE_AGEOUT);
2573 dev_info(cpsw->dev, "Enable switch mode\n");
2575 am65_cpsw_init_host_port_switch(cpsw);
2577 for (i = 0; i < cpsw->port_num; i++) {
2578 struct net_device *sl_ndev = cpsw->ports[i].ndev;
2587 slave->port_vlan = cpsw->default_vlan;
2594 dev_info(cpsw->dev, "Disable switch mode\n");
2596 am65_cpsw_init_host_port_emac(cpsw);
2598 for (i = 0; i < cpsw->port_num; i++) {
2599 struct net_device *sl_ndev = cpsw->ports[i].ndev;
2611 cpsw_ale_control_set(cpsw->ale, HOST_PORT_NUM, ALE_BYPASS, 0);
2834 { .compatible = "ti,am654-cpsw-nuss", .data = &am65x_sr1_0},
2835 { .compatible = "ti,j721e-cpsw-nuss", .data = &j721e_pdata},
2836 { .compatible = "ti,am642-cpsw-nuss", .data = &am64x_cpswxg_pdata},