From: Sebastian Reichel <sre@kernel.org>
To: Sebastian Reichel <sre@ring0.de>,
Linus Walleij <linus.walleij@linaro.org>,
Shubhrajyoti Datta <omaplinuxkernel@gmail.com>,
Carlos Chinea <cch.devel@gmail.com>
Cc: "Tony Lindgren" <tony@atomide.com>,
"Rob Herring" <robh+dt@kernel.org>,
"Pawel Moll" <pawel.moll@arm.com>,
"Mark Rutland" <mark.rutland@arm.com>,
"Kumar Gala" <galak@codeaurora.org>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-omap@vger.kernel.org, "Pali Rohár" <pali.rohar@gmail.com>,
"Ивайло Димитров" <freemangordon@abv.bg>,
"Joni Lapilainen" <joni.lapilainen@gmail.com>,
"Aaro Koskinen" <aaro.koskinen@iki.fi>,
"Sebastian Reichel" <sre@kernel.org>
Subject: [PATCHv3 01/14] Documentation: HSI: Add some general description for the HSI subsystem
Date: Sat, 29 Mar 2014 01:31:37 +0100 [thread overview]
Message-ID: <1396053110-21639-2-git-send-email-sre@kernel.org> (raw)
In-Reply-To: <1396053110-21639-1-git-send-email-sre@kernel.org>
Add a document, which gives a rough introduction about what HSI
is and how its handled by the Linux kernel.
Signed-off-by: Sebastian Reichel <sre@kernel.org>
---
Documentation/hsi.txt | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 75 insertions(+)
create mode 100644 Documentation/hsi.txt
diff --git a/Documentation/hsi.txt b/Documentation/hsi.txt
new file mode 100644
index 0000000..6ac6cd5
--- /dev/null
+++ b/Documentation/hsi.txt
@@ -0,0 +1,75 @@
+HSI - High-speed Synchronous Serial Interface
+
+1. Introduction
+~~~~~~~~~~~~~~~
+
+High Speed Syncronous Interface (HSI) is a fullduplex, low latency protocol,
+that is optimized for die-level interconnect between an Application Processor
+and a Baseband chipset. It has been specified by the MIPI alliance in 2003 and
+implemented by multiple vendors since then.
+
+The HSI interface supports full duplex communication over multiple channels
+(typically 8) and is capable of reaching speeds up to 200 Mbit/s.
+
+The serial protocol uses two signals, DATA and FLAG as combined data and clock
+signals and an additional READY signal for flow control. An additional WAKE
+signal can be used to wakeup the chips from standby modes. The signals are
+commonly prefixed by AC for signals going from the application die to the
+cellular die and CA for signals going the other way around.
+
++------------+ +---------------+
+| Cellular | | Application |
+| Die | | Die |
+| | - - - - - - CAWAKE - - - - - - >| |
+| T|------------ CADATA ------------>|R |
+| X|------------ CAFLAG ------------>|X |
+| |<----------- ACREADY ------------| |
+| | | |
+| | | |
+| |< - - - - - ACWAKE - - - - - - -| |
+| R|<----------- ACDATA -------------|T |
+| X|<----------- ACFLAG -------------|X |
+| |------------ CAREADY ----------->| |
+| | | |
+| | | |
++------------+ +---------------+
+
+2. HSI Subsystem in Linux
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+In the Linux kernel the hsi subsystem is supposed to be used for HSI devices.
+The hsi subsystem contains drivers for hsi controllers including support for
+multi-port controllers and provides a generic API for using the HSI ports.
+
+It also contains HSI client drivers, which make use of the generic API to
+implement a protocol used on the HSI interface. These client drivers can
+use an arbitrary number of channels.
+
+3. hsi-char Device
+~~~~~~~~~~~~~~~~~~
+
+Each port automatically registers a generic client driver called hsi_char,
+which provides a charecter device for userspace representing the HSI port.
+It can be used to communicate via HSI from userspace. Userspace may
+configure the hsi_char device using the following ioctl commands:
+
+* HSC_RESET:
+ - flush the HSI port
+
+* HSC_SET_PM
+ - enable or disable the client.
+
+* HSC_SEND_BREAK
+ - send break
+
+* HSC_SET_RX
+ - set RX configuration
+
+* HSC_GET_RX
+ - get RX configuration
+
+* HSC_SET_TX
+ - set TX configuration
+
+* HSC_GET_TX
+ - get TX configuration
--
1.9.0
next prev parent reply other threads:[~2014-03-29 0:31 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-29 0:31 [PATCHv3 00/14] OMAP SSI driver / N900 modem support Sebastian Reichel
2014-03-29 0:31 ` Sebastian Reichel [this message]
[not found] ` <1396053110-21639-2-git-send-email-sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-04-19 19:05 ` [PATCHv3 01/14] Documentation: HSI: Add some general description for the HSI subsystem Pavel Machek
2014-04-19 19:05 ` Pavel Machek
2014-03-29 0:31 ` [PATCHv3 02/14] MAINTAINERS: update HSI entry Sebastian Reichel
2014-04-19 19:06 ` Pavel Machek
2014-03-29 0:31 ` [PATCHv3 03/14] HSI: hsi-char: fix driver for multiport scenarios Sebastian Reichel
2014-04-19 19:06 ` Pavel Machek
2014-03-29 0:31 ` [PATCHv3 04/14] HSI: method to unregister clients from an hsi port Sebastian Reichel
[not found] ` <1396053110-21639-5-git-send-email-sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-04-19 19:07 ` Pavel Machek
2014-04-19 19:07 ` Pavel Machek
2014-03-29 0:31 ` [PATCHv3 05/14] HSI: Add channel resource support to HSI clients Sebastian Reichel
[not found] ` <1396053110-21639-6-git-send-email-sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-04-19 19:11 ` Pavel Machek
2014-04-19 19:11 ` Pavel Machek
2014-04-25 17:32 ` Sebastian Reichel
2014-03-29 0:31 ` [PATCHv3 06/14] HSI: export method to (un)register clients Sebastian Reichel
[not found] ` <1396053110-21639-7-git-send-email-sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-04-19 19:13 ` Pavel Machek
2014-04-19 19:13 ` Pavel Machek
2014-03-29 0:31 ` [PATCHv3 07/14] HSI: Add common DT binding for HSI client devices Sebastian Reichel
[not found] ` <1396053110-21639-8-git-send-email-sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-04-19 19:16 ` Pavel Machek
2014-04-19 19:16 ` Pavel Machek
2014-04-25 18:25 ` Sebastian Reichel
[not found] ` <20140425182535.GB22721-SfvFxonMDyemK9LvCR3Hrw@public.gmane.org>
2014-04-25 20:59 ` Sebastian Reichel
2014-04-25 20:59 ` Sebastian Reichel
[not found] ` <20140425205926.GA30032-SfvFxonMDyemK9LvCR3Hrw@public.gmane.org>
2014-04-27 10:57 ` Pavel Machek
2014-04-27 10:57 ` Pavel Machek
[not found] ` <20140427105755.GA12265-tWAi6jLit6GreWDznjuHag@public.gmane.org>
2014-04-27 11:33 ` Sebastian Reichel
2014-04-27 11:33 ` Sebastian Reichel
2014-04-21 16:52 ` Rob Herring
2014-04-25 18:32 ` Sebastian Reichel
2014-03-29 0:31 ` [PATCHv3 08/14] HSI: Introduce OMAP SSI driver Sebastian Reichel
[not found] ` <1396053110-21639-9-git-send-email-sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-04-19 19:30 ` Pavel Machek
2014-04-19 19:30 ` Pavel Machek
2014-04-25 18:36 ` Sebastian Reichel
2014-03-29 0:31 ` [PATCHv3 09/14] Documentation: DT: omap-ssi binding documentation Sebastian Reichel
2014-04-19 19:32 ` Pavel Machek
2014-04-21 16:43 ` Rob Herring
2014-04-25 18:38 ` Sebastian Reichel
2014-03-29 0:31 ` [PATCHv3 10/14] HSI: Introduce driver for SSI Protocol Sebastian Reichel
[not found] ` <1396053110-21639-11-git-send-email-sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-04-19 19:49 ` Pavel Machek
2014-04-19 19:49 ` Pavel Machek
[not found] ` <20140419194936.GJ5148-tWAi6jLit6GreWDznjuHag@public.gmane.org>
2014-04-25 18:49 ` Sebastian Reichel
2014-04-25 18:49 ` Sebastian Reichel
[not found] ` <1396053110-21639-1-git-send-email-sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-03-29 0:31 ` [PATCHv3 11/14] HSI: Introduce Nokia N900 modem driver Sebastian Reichel
2014-03-29 0:31 ` Sebastian Reichel
2014-04-19 20:25 ` Pavel Machek
2014-03-29 0:31 ` [PATCHv3 12/14] ARM: dts: omap3 clocks: simplify ssi aliases Sebastian Reichel
2014-04-19 20:26 ` Pavel Machek
2014-03-29 0:31 ` [PATCHv3 13/14] DTS: ARM: OMAP3-N900: Add SSI support Sebastian Reichel
2014-04-19 20:28 ` Pavel Machek
2014-03-29 0:31 ` [PATCHv3 14/14] DTS: ARM: OMAP3-N900: Add modem support Sebastian Reichel
2014-04-19 20:28 ` Pavel Machek
2014-05-05 19:31 ` [PATCHv3 00/14] OMAP SSI driver / N900 " Tony Lindgren
2014-05-05 22:41 ` Sebastian Reichel
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=1396053110-21639-2-git-send-email-sre@kernel.org \
--to=sre@kernel.org \
--cc=aaro.koskinen@iki.fi \
--cc=cch.devel@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=freemangordon@abv.bg \
--cc=galak@codeaurora.org \
--cc=joni.lapilainen@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=omaplinuxkernel@gmail.com \
--cc=pali.rohar@gmail.com \
--cc=pawel.moll@arm.com \
--cc=robh+dt@kernel.org \
--cc=sre@ring0.de \
--cc=tony@atomide.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.