1. 23 11月, 2019 1 次提交
  2. 22 11月, 2019 3 次提交
  3. 21 11月, 2019 2 次提交
  4. 20 11月, 2019 1 次提交
  5. 17 11月, 2019 1 次提交
  6. 16 11月, 2019 3 次提交
    • V
      net: dsa: ocelot: add driver for Felix switch family · 56051948
      Vladimir Oltean 提交于
      This supports an Ethernet switching core from Vitesse / Microsemi /
      Microchip (VSC9959) which is part of the Ocelot family (a brand name),
      and whose code name is Felix. The switch can be (and is) integrated on
      different SoCs as a PCIe endpoint device.
      
      The functionality is provided by the core of the Ocelot switch driver
      (drivers/net/ethernet/mscc). In this regard, the current driver is an
      instance of Microsemi's Ocelot core driver, with a DSA front-end. It
      inherits its name from VSC9959's code name, to distinguish itself from
      the switchdev ocelot driver.
      
      The patch adds the logic for probing a PCI device and defines the
      register map for the VSC9959 switch core, since it has some differences
      in register addresses and bitfield mappings compared to the other Ocelot
      switches (VSC7511, VSC7512, VSC7513, VSC7514).
      
      The Felix driver declares the register map as part of the "instance
      table". Currently the VSC9959 inside NXP LS1028A is the only instance,
      but presumably it can support other switches in the Ocelot family, when
      used in DSA mode (Linux running on the external CPU, and not on the
      embedded MIPS).
      
      In a few cases, some h/w operations have to be done differently on
      VSC9959 due to missing bitfields.  This is the case for the switch core
      reset and init.  Because for this operation Ocelot uses some bits that
      are not present on Felix, the latter has to use a register from the
      global registers block (GCB) instead.
      
      Although it is a PCI driver, it relies on DT bindings for compatibility
      with DSA (CPU port link, PHY library). It does not have any custom
      device tree bindings, since we would like to minimize its dependency on
      device tree though.
      Signed-off-by: NClaudiu Manoil <claudiu.manoil@nxp.com>
      Signed-off-by: NVladimir Oltean <vladimir.oltean@nxp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      56051948
    • V
      net: dsa: ocelot: add tagger for Ocelot/Felix switches · 8dce89aa
      Vladimir Oltean 提交于
      While it is entirely possible that this tagger format is in fact more
      generic than just these 2 switch families, I don't have that knowledge.
      The Seville switch in NXP T1040 has a similar frame format, but there
      are enough differences (e.g. DEST field starts at bit 57 instead of 56)
      that calling this file tag_vitesse.c is a bit of a stretch at the
      moment. The frame format has been listed in a comment so that people who
      add support for further Vitesse switches can rework this tagger while
      keeping compatibility with Felix.
      
      The "ocelot" name was chosen instead of "felix" because even the Ocelot
      switch can act as a DSA device when it is used in NPI mode, and the Felix
      tagger format is almost identical. Currently it is only used for the
      Felix switch embedded in the NXP LS1028A chip.
      
      The ABI for this tagger should be considered "not stable" at the moment.
      The DSA tag is always placed before the Ethernet header and therefore,
      we are using the long prefix for RX tags to avoid putting the DSA master
      port in promiscuous mode. Once there will be an API in DSA for drivers
      to request DSA masters to be in promiscuous mode unconditionally, we
      will switch to the "no prefix" extraction frame header, which will save
      16 padding bytes for each RX frame.
      Signed-off-by: NVladimir Oltean <vladimir.oltean@nxp.com>
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8dce89aa
    • V
      net: mscc: ocelot: publish ocelot_sys.h to include/soc/mscc · a030dfe1
      Vladimir Oltean 提交于
      The Felix DSA driver needs to write to SYS_RAM_INIT_RAM_INIT for its own
      chip initialization process.
      
      Also update the MAINTAINERS file such that the headers exported by the
      ocelot driver are under the same maintainers' umbrella as the driver
      itself.
      Signed-off-by: NVladimir Oltean <vladimir.oltean@nxp.com>
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a030dfe1
  7. 15 11月, 2019 1 次提交
  8. 14 11月, 2019 1 次提交
  9. 13 11月, 2019 3 次提交
  10. 12 11月, 2019 1 次提交
  11. 11 11月, 2019 5 次提交
  12. 10 11月, 2019 1 次提交
  13. 09 11月, 2019 1 次提交
  14. 08 11月, 2019 2 次提交
  15. 07 11月, 2019 7 次提交
  16. 06 11月, 2019 3 次提交
  17. 05 11月, 2019 4 次提交