linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Puranjay Mohan <p-mohan@ti.com>
To: <linux-kernel@vger.kernel.org>
Cc: <davem@davemloft.net>, <edumazet@google.com>,
	<krzysztof.kozlowski+dt@linaro.org>, <netdev@vger.kernel.org>,
	<devicetree@vger.kernel.org>, <nm@ti.com>, <ssantosh@kernel.org>,
	<s-anna@ti.com>, <p-mohan@ti.com>,
	<linux-arm-kernel@lists.infradead.org>, <rogerq@kernel.org>,
	<grygorii.strashko@ti.com>, <vigneshr@ti.com>, <kishon@ti.com>,
	<robh+dt@kernel.org>, <afd@ti.com>, <andrew@lunn.ch>
Subject: [PATCH v2 0/2] Introduce ICSSG based ethernet Driver
Date: Tue, 31 May 2022 15:21:06 +0530	[thread overview]
Message-ID: <20220531095108.21757-1-p-mohan@ti.com> (raw)

The Programmable Real-time Unit and Industrial Communication Subsystem
Gigabit (PRU_ICSSG) is a low-latency microcontroller subsystem in the TI
SoCs. This subsystem is provided for the use cases like the implementation of
custom peripheral interfaces, offloading of tasks from the other
processor cores of the SoC, etc.

The subsystem includes many accelerators for data processing like
multiplier and multiplier-accumulator. It also has peripherals like
UART, MII/RGMII, MDIO, etc. Every ICSSG core includes two 32-bit
load/store RISC CPU cores called PRUs.

The above features allow it to be used for implementing custom firmware
based peripherals like ethernet.

This series adds the YAML documentation and the driver with basic EMAC
support for TI AM654 Silicon Rev 2 SoC with the PRU_ICSSG Sub-system.
running dual-EMAC firmware.
This currently supports basic EMAC with 1Gbps and 100Mbps link. 10M and
half-duplex modes are not yet supported because they require the support
of an IEP, which will be added later.
Advanced features like switch-dev and timestamping will be added later.

This series depends on two patch series that are not yet merged, one in
the remoteproc tree and another in the soc tree. the first one is titled
Introduce PRU remoteproc consumer API and the second one is titled
Introduce PRU platform consumer API.
Both of these are required for this driver.

To explain this dependency and to get reviews, I had earlier posted all
three of these as an RFC[1], this can be seen for understanding the
dependencies.

I then posted the remoteproc[2] and soc[3] series seperately to their
respective trees.

[1] https://lore.kernel.org/all/20220406094358.7895-1-p-mohan@ti.com/
[2] https://patchwork.kernel.org/project/linux-remoteproc/cover/20220418104118.12878-1-p-mohan@ti.com/
[3] https://patchwork.kernel.org/project/linux-remoteproc/cover/20220418123004.9332-1-p-mohan@ti.com/

[V1] https://lore.kernel.org/all/20220506052433.28087-1-p-mohan@ti.com/

Differences from V1 can be seen in the individual patches.

Thanks and Regards,
Puranjay Mohan

Puranjay Mohan (1):
  dt-bindings: net: Add ICSSG Ethernet Driver bindings

Roger Quadros (1):
  net: ti: icssg-prueth: Add ICSSG ethernet driver

 .../bindings/net/ti,icssg-prueth.yaml         |  181 ++
 drivers/net/ethernet/ti/Kconfig               |   15 +
 drivers/net/ethernet/ti/Makefile              |    3 +
 drivers/net/ethernet/ti/icssg_classifier.c    |  375 ++++
 drivers/net/ethernet/ti/icssg_config.c        |  440 ++++
 drivers/net/ethernet/ti/icssg_config.h        |  200 ++
 drivers/net/ethernet/ti/icssg_ethtool.c       |  319 +++
 drivers/net/ethernet/ti/icssg_mii_cfg.c       |  104 +
 drivers/net/ethernet/ti/icssg_mii_rt.h        |  151 ++
 drivers/net/ethernet/ti/icssg_prueth.c        | 1889 +++++++++++++++++
 drivers/net/ethernet/ti/icssg_prueth.h        |  246 +++
 drivers/net/ethernet/ti/icssg_switch_map.h    |  183 ++
 include/linux/pruss.h                         |    1 +
 13 files changed, 4107 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/ti,icssg-prueth.yaml
 create mode 100644 drivers/net/ethernet/ti/icssg_classifier.c
 create mode 100644 drivers/net/ethernet/ti/icssg_config.c
 create mode 100644 drivers/net/ethernet/ti/icssg_config.h
 create mode 100644 drivers/net/ethernet/ti/icssg_ethtool.c
 create mode 100644 drivers/net/ethernet/ti/icssg_mii_cfg.c
 create mode 100644 drivers/net/ethernet/ti/icssg_mii_rt.h
 create mode 100644 drivers/net/ethernet/ti/icssg_prueth.c
 create mode 100644 drivers/net/ethernet/ti/icssg_prueth.h
 create mode 100644 drivers/net/ethernet/ti/icssg_switch_map.h

-- 
2.17.1


             reply	other threads:[~2022-05-31  9:51 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-31  9:51 Puranjay Mohan [this message]
2022-05-31  9:51 ` [PATCH v2 1/2] dt-bindings: net: Add ICSSG Ethernet Driver bindings Puranjay Mohan
2022-05-31 10:08   ` Krzysztof Kozlowski
2022-05-31 11:27     ` Puranjay Mohan
2022-05-31 11:48       ` Krzysztof Kozlowski
2022-05-31 11:59         ` Puranjay Mohan
2022-05-31 12:01           ` Krzysztof Kozlowski
2022-06-01  4:28             ` Puranjay Mohan
2022-06-05 15:11       ` Andrew Lunn
2022-11-04  7:28     ` Md Danish Anwar
2022-11-04 12:57       ` Krzysztof Kozlowski
2022-05-31 13:21   ` Rob Herring
2022-05-31  9:51 ` [PATCH v2 2/2] net: ti: icssg-prueth: Add ICSSG ethernet driver Puranjay Mohan
2022-05-31 10:20   ` Krzysztof Kozlowski
2022-05-31 11:23   ` Paolo Abeni
2022-11-04  8:29     ` Md Danish Anwar
2022-05-31 13:11   ` Randy Dunlap
2022-06-05 15:37   ` Andrew Lunn
2022-11-04 10:26     ` Md Danish Anwar
2022-06-05 16:24   ` Christophe JAILLET
2022-11-04  9:50     ` Md Danish Anwar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220531095108.21757-1-p-mohan@ti.com \
    --to=p-mohan@ti.com \
    --cc=afd@ti.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=grygorii.strashko@ti.com \
    --cc=kishon@ti.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=robh+dt@kernel.org \
    --cc=rogerq@kernel.org \
    --cc=s-anna@ti.com \
    --cc=ssantosh@kernel.org \
    --cc=vigneshr@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).