devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
To: linux-arm-msm@vger.kernel.org, linux-i2c@vger.kernel.org,
	linux-serial@vger.kernel.org
Cc: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>,
	linux-doc@vger.kernel.org, devicetree@vger.kernel.org,
	andy.gross@linaro.org, david.brown@linaro.org,
	robh+dt@kernel.org, mark.rutland@arm.com, corbet@lwn.net,
	wsa@the-dreams.de, gregkh@linuxfoundation.org, jslaby@suse.com
Subject: [PATCH RFC 1/7] qcom-geni-se: Add QCOM GENI SE Driver summary
Date: Wed, 27 Dec 2017 09:27:20 -0700	[thread overview]
Message-ID: <1514392046-30602-2-git-send-email-kramasub@codeaurora.org> (raw)
In-Reply-To: <1514392046-30602-1-git-send-email-kramasub@codeaurora.org>

Generic Interface (GENI) firmware based Qualcomm Universal Peripheral (QUP)
Wrapper is a programmable module that is composed of multiple Serial
Engines (SE) and can support various Serial Interfaces like UART, SPI,
I2C, I3C, etc. This document provides a high level overview of the GENI
based QUP Wrapper.

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
---
 Documentation/qcom-geni-se.txt | 56 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)
 create mode 100644 Documentation/qcom-geni-se.txt

diff --git a/Documentation/qcom-geni-se.txt b/Documentation/qcom-geni-se.txt
new file mode 100644
index 0000000..dc517ef
--- /dev/null
+++ b/Documentation/qcom-geni-se.txt
@@ -0,0 +1,56 @@
+Introduction
+============
+
+Generic Interface (GENI) Serial Engine (SE) Wrapper driver is introduced
+to manage GENI firmware based Qualcomm Universal Peripheral (QUP) Wrapper
+controller. QUP Wrapper is designed to support various serial bus protocols
+like UART, SPI, I2C, I3C, etc.
+
+Hardware description
+====================
+
+GENI based QUP is a highly-flexible and programmable module for supporting
+a wide range of serial interfaces like UART, SPI, I2C, I3C, etc. A single
+QUP module can provide upto 8 Serial Interfaces, using its internal
+Serial Engines. The actual configuration is determined by the target
+platform configuration. The protocol supported by each interface is
+determined by the firmware loaded to the Serial Engine. Each SE consists
+of a DMA Engine and GENI sub modules which enable Serial Engines to
+support FIFO and DMA modes of operation.
+
+::
+
+                      +-----------------------------------------+
+                      |QUP Wrapper                              |
+                      |         +----------------------------+  |
+   --QUP & SE Clocks-->         | Serial Engine N            |  +-IO------>
+                      |         | ...                        |  | Interface
+   <---Clock Perf.----+    +----+-----------------------+    |  |
+     State Interface  |    | Serial Engine 1            |    |  |
+                      |    |                            |    |  |
+                      |    |                            |    |  |
+   <--------AHB------->    |                            |    |  |
+                      |    |                            +----+  |
+                      |    |                            |       |
+                      |    |                            |       |
+   <------SE IRQ------+    +----------------------------+       |
+                      |                                         |
+                      +-----------------------------------------+
+
+                         Figure 1: GENI based QUP Wrapper
+
+Software description
+====================
+
+GENI SE Wrapper driver is structured into 2 parts:
+
+geni_se_device represents QUP Wrapper controller. This part of the driver
+manages QUP Wrapper information such as hardware version, clock
+performance table that is common to all the internal Serial Engines.
+
+geni_se_rsc represents Serial Engine. This part of the driver manages
+Serial Engine information such as clocks, pinctrl states, containing QUP
+Wrapper. This part of driver also supports operations(eg. initialize the
+concerned Serial Engine, select between FIFO and DMA mode of operation etc.)
+that are common to all the Serial Engines and are independent of Serial
+Interfaces.
-- 
Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

  reply	other threads:[~2017-12-27 16:27 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-27 16:27 [PATCH RFC 0/7] Introduce GENI SE Controller Driver Karthikeyan Ramasubramanian
2017-12-27 16:27 ` Karthikeyan Ramasubramanian [this message]
     [not found] ` <1514392046-30602-1-git-send-email-kramasub-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-12-27 16:27   ` [PATCH RFC 2/7] soc: qcom: Add device tree binding for GENI SE Karthikeyan Ramasubramanian
2018-01-02 15:46     ` Rob Herring
2018-01-08 23:57       ` Karthik Ramasubramanian
2018-01-02 15:47     ` Rob Herring
2018-01-08 23:59       ` Karthik Ramasubramanian
2017-12-27 16:27   ` [PATCH RFC 3/7] soc: qcom: Add GENI based QUP Wrapper driver Karthikeyan Ramasubramanian
2017-12-27 16:27   ` [PATCH RFC 5/7] i2c: i2c-qcom-geni: Add bus driver for the Qualcomm GENI I2C controller Karthikeyan Ramasubramanian
2017-12-27 16:27 ` [PATCH RFC 4/7] i2c: Add device tree bindings for GENI I2C Controller Karthikeyan Ramasubramanian
2018-01-02 15:51   ` Rob Herring
2018-01-09  0:33     ` Karthik Ramasubramanian
2018-01-11 15:19       ` Rob Herring
2018-01-12 21:35         ` Karthik Ramasubramanian
2017-12-27 16:27 ` [PATCH RFC 6/7] serial: Add device tree bindings for GENI based UART Controller Karthikeyan Ramasubramanian
2018-01-02 15:55   ` Rob Herring
2018-01-09 18:36     ` Karthik Ramasubramanian
2018-01-11 15:12       ` Rob Herring
     [not found]         ` <CAL_JsqL1=NAn1T_HaetO5hT+fdgxmkcNwtOr1+XaxGzSh-n6Sg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-12 21:24           ` Karthik Ramasubramanian
2017-12-27 16:27 ` [PATCH RFC 7/7] tty: serial: msm_geni_serial: Add serial driver support for GENI based QUP Karthikeyan Ramasubramanian

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=1514392046-30602-2-git-send-email-kramasub@codeaurora.org \
    --to=kramasub@codeaurora.org \
    --cc=andy.gross@linaro.org \
    --cc=corbet@lwn.net \
    --cc=david.brown@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jslaby@suse.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=wsa@the-dreams.de \
    /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).