1. 12 Feb, 2021 3 commits
    • 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 37 commits