linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: subhasish@mistralsolutions.com (Subhasish Ghosh)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 0/7] pruss mfd drivers
Date: Tue,  8 Mar 2011 19:27:39 +0530	[thread overview]
Message-ID: <1299592667-21367-1-git-send-email-subhasish@mistralsolutions.com> (raw)

				PRUSS Functional Block Diagram
		/-------------------------------------------------------\
		|							|
		|			|------|			|
	32GPO<------->PRU CORE-0 <----->|      |<----> DRAM 0		|
	30GPI<------->(4KB IRAM)	|  S   |	(512 Bytes)	|
		|			|      |			|
	32GPO<------->PRU CORE-1 <----->|  C   |<----> DRAM 1		|
	30GPI<------->(4KB IRAM)	|      |	(512 Bytes)	|
		|			|  R   |			|
		|			|      |			|
Ints to ARM/	|	Interrupt <---->|      |-------------------------> Master I/F (to SCR2)
DSP INTC <------------->Controller	|      |<------------------------- Slave I/F (from SCR2)
Events from	|	(INTC)		|------|			|
Periph + PRUs	|							|
		\-------------------------------------------------------/

Programmable Realtime Unit (PRU) is basically a 32-bit RISC
processor available within TI's DA8XX SOCs. It consists of local
instruction and data RAM and also has access to SOC resources
via a Switched Central Resource (SCR).

There are two PRU's available within DA8XX SOC's PRUSS, hence providing
two execution cores. Devices/Protocols can be emulated on these utilizing
either both or only one of the PRUs independently.

The rational behind the MFD driver being the fact that multiple devices can
be implemented on the cores independently.
It's also possible, as in our case, to implement a single device on both
the PRU's resulting in improved load sharing.

A detailed description is also available here:
http://processors.wiki.ti.com/index.php/Programmable_Realtime_Unit_Subsystem

version 3:
=========
* added locking to mfd driver.
* removed typedefs.
* resource allocation through mfd.
* renamed da8xx_register_pruss to da8xx_register_pruss_mfd.
* removed da8xx_pruss directory for suart.
* combined all suart headers.
* modified register structure for pruss.
* added function clk_add_alias_mcasp.
* suart api layer cleanup.
* removed semaphore usage.
* updated to latest internal code base.
* removed __suart_err/dbg.

version 2:
==========
* added pruss TTY Soft-UART driver.
* added pruss Soft-UART board and platform changes.
* fixed previous review comments.
* reordered patch sequence.

version 1:
==========
* added pruss mfd driver.

Subhasish Ghosh (7):
  mfd: add pruss mfd driver.
  da850: pruss platform specific additions.
  da850: pruss board specific additions.
  mfd: pruss SUART private data.
  da850: pruss SUART board specific additions.
  da850: pruss SUART platform specific additions.
  tty: add pruss SUART driver

 arch/arm/mach-davinci/board-da850-evm.c    |   68 ++
 arch/arm/mach-davinci/da850.c              |    7 +
 arch/arm/mach-davinci/devices-da8xx.c      |   83 ++
 arch/arm/mach-davinci/include/mach/da8xx.h |    2 +
 drivers/mfd/Kconfig                        |   10 +
 drivers/mfd/Makefile                       |    1 +
 drivers/mfd/da8xx_pru.c                    |  560 +++++++++
 drivers/tty/serial/Kconfig                 |   22 +
 drivers/tty/serial/Makefile                |   10 +
 drivers/tty/serial/pruss_suart.c           | 1058 +++++++++++++++++
 drivers/tty/serial/pruss_suart.h           | 1081 +++++++++++++++++
 drivers/tty/serial/pruss_suart_api.c       | 1757 ++++++++++++++++++++++++++++
 drivers/tty/serial/pruss_suart_utils.c     |  391 ++++++
 include/linux/mfd/da8xx/da8xx_pru.h        |  139 +++
 include/linux/mfd/da8xx/da8xx_prucore.h    |  129 ++
 include/linux/serial_core.h                |    2 +
 16 files changed, 5320 insertions(+), 0 deletions(-)
 create mode 100644 drivers/mfd/da8xx_pru.c
 create mode 100644 drivers/tty/serial/pruss_suart.c
 create mode 100644 drivers/tty/serial/pruss_suart.h
 create mode 100644 drivers/tty/serial/pruss_suart_api.c
 create mode 100644 drivers/tty/serial/pruss_suart_utils.c
 create mode 100644 include/linux/mfd/da8xx/da8xx_pru.h
 create mode 100644 include/linux/mfd/da8xx/da8xx_prucore.h

-- 
1.7.2.3

             reply	other threads:[~2011-03-08 13:57 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-08 13:57 Subhasish Ghosh [this message]
2011-03-08 13:57 ` [PATCH v3 1/7] mfd: add pruss mfd driver Subhasish Ghosh
2011-03-09 11:56   ` Marc Kleine-Budde
2011-03-24 13:16     ` Subhasish Ghosh
2011-03-24 13:24       ` Marc Kleine-Budde
2011-03-24 13:41         ` Kurt Van Dijck
2011-03-11 15:28   ` Arnd Bergmann
2011-03-30  7:16     ` Subhasish Ghosh
2011-03-30 10:59       ` Arnd Bergmann
2011-04-05  6:40         ` Subhasish Ghosh
2011-03-30  9:15     ` Subhasish Ghosh
2011-03-30 11:38       ` Arnd Bergmann
2011-03-18 11:59   ` Nori, Sekhar
2011-03-18 12:39     ` Mark Brown
2011-03-22  9:35       ` Nori, Sekhar
2011-03-22  9:43         ` Nori, Sekhar
2011-03-22 16:52         ` Mark Brown
2011-03-08 13:57 ` [PATCH v3 2/7] da850: pruss platform specific additions Subhasish Ghosh
2011-03-08 15:17   ` Sergei Shtylyov
2011-03-08 13:57 ` [PATCH v3 3/7] da850: pruss board " Subhasish Ghosh
2011-03-08 15:19   ` Sergei Shtylyov
2011-03-09  4:29     ` Subhasish Ghosh
2011-03-09 11:59   ` Marc Kleine-Budde
2011-03-08 13:57 ` [PATCH v3 4/7] mfd: pruss SUART private data Subhasish Ghosh
2011-03-08 13:57 ` [PATCH v3 5/7] da850: pruss SUART board specific additions Subhasish Ghosh
2011-03-08 13:57 ` [PATCH v3 6/7] da850: pruss SUART platform " Subhasish Ghosh
2011-03-08 13:57 ` [PATCH v3 7/7] tty: add pruss SUART driver Subhasish Ghosh
2011-03-08 18:47   ` Randy Dunlap
2011-03-15  7:23     ` Subhasish Ghosh
2011-03-18  5:43   ` Subhasish Ghosh
2011-03-18 11:45     ` Alan Cox
2011-03-18 12:07     ` Arnd Bergmann

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=1299592667-21367-1-git-send-email-subhasish@mistralsolutions.com \
    --to=subhasish@mistralsolutions.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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).