1. 12 Feb, 2021 5 commits
    • David S. Miller's avatar
      Merge branch 'am65-cpsw-nuss-switchdev-driver' · f79bebad
      David S. Miller authored
      Vignesh Raghavendra says:
      
      ====================
      net: ti: am65-cpsw-nuss: Add switchdev driver
      
      This series adds switchdev support for AM65 CPSW NUSS driver to support
      multi port CPSW present on J721e and AM64 SoCs.
      It adds devlink hook to switch b/w switch mode and multi mac mode.
      
      v2:
      Rebased on latest net-next
      Update patch 1/4 with rationale for using devlink
      ====================
      f79bebad
    • Vignesh Raghavendra's avatar
      docs: networking: ti: Add driver doc for AM65 NUSS switch driver · e276cfb9
      Vignesh Raghavendra authored
      J721e, J7200 and AM64 have multi port switches which can work in multi
      mac mode and in switch mode. Add documentation explaining how to use
      different modes.
      
      Borrowed from:
      Documentation/networking/device_drivers/ethernet/ti/cpsw_switchdev.rst
      Signed-off-by: default avatarVignesh Raghavendra <vigneshr@ti.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e276cfb9
    • Vignesh Raghavendra's avatar
      net: ti: am65-cpsw-nuss: Add switchdev support · 86e8b070
      Vignesh Raghavendra authored
      J721e, J7200 and AM64 have multi port switches which can work in multi
      mac mode and in switch mode. Add support for configuring this HW in
      switch mode using devlink and switchdev notifiers.
      
      Support is similar to existing CPSW switchdev implementation of TI's 32 bit
      platform like AM33/AM43/AM57.
      
      To enable switch mode:
      devlink dev param set platform/8000000.ethernet name switch_mode value true cmode runtime
      
      All configuration is implemented via switchdev API and notifiers.
      Supported:
            - SWITCHDEV_ATTR_ID_PORT_PRE_BRIDGE_FLAGS
            - SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS
            - SWITCHDEV_ATTR_ID_PORT_STP_STATE
            - SWITCHDEV_OBJ_ID_PORT_VLAN
            - SWITCHDEV_OBJ_ID_PORT_MDB
            - SWITCHDEV_OBJ_ID_HOST_MDB
      
      Hence AM65 CPSW switchdev driver supports:
           - FDB offloading
           - MDB offloading
           - VLAN filtering and offloading
           - STP
      Signed-off-by: default avatarVignesh Raghavendra <vigneshr@ti.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      86e8b070
    • Vignesh Raghavendra's avatar
      net: ti: am65-cpsw-nuss: Add netdevice notifiers · 2934db9b
      Vignesh Raghavendra authored
      Register netdevice notifiers in order to receive notification when
      individual MAC ports are added to the HW bridge.
      Signed-off-by: default avatarVignesh Raghavendra <vigneshr@ti.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2934db9b
    • Vignesh Raghavendra's avatar
      net: ti: am65-cpsw-nuss: Add devlink support · 58356eb3
      Vignesh Raghavendra authored
      AM65 NUSS ethernet switch on K3 devices can be configured to work either
      in independent mac mode where each port acts as independent network
      interface (multi mac) or switch mode.
      
      Add devlink hooks to provide a way to switch b/w these modes.
      
      Rationale to use devlink instead of defaulting to bridge mode is that
      SoC use cases require to support multiple independent MAC ports with no
      switching so that users can use software bridges with multi-mac
      configuration (e.g: to support LAG, HSR/PRP, etc). Also, switching
      between multi mac and switch mode requires significant Port and ALE
      reconfiguration, therefore is easier to be made as part of mode change
      devlink hooks. It also allows to keep user interface similar to what
      was implemented for the previous generation of TI CPSW IP
      (on AM33/AM43/AM57 SoCs).
      Signed-off-by: default avatarVignesh Raghavendra <vigneshr@ti.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      58356eb3
  2. 11 Feb, 2021 35 commits