linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Lechner <david@lechnology.com>
To: linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org,
	linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Cc: "David Lechner" <david@lechnology.com>,
	"Ohad Ben-Cohen" <ohad@wizery.com>,
	"Bjorn Andersson" <bjorn.andersson@linaro.org>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Mark Rutland" <mark.rutland@arm.com>,
	"Benoît Cousson" <bcousson@baylibre.com>,
	"Tony Lindgren" <tony@atomide.com>,
	"Sekhar Nori" <nsekhar@ti.com>,
	"Kevin Hilman" <khilman@kernel.org>,
	linux-kernel@vger.kernel.org
Subject: (unknown)
Subject: 
Date: Sat, 23 Jun 2018 16:08:02 -0500	[thread overview]
Message-ID: <20180623210810.21232-1-david@lechnology.com> (raw)


Date: Sat, 23 Jun 2018 15:43:59 -0500
Subject: [PATCH 0/8] New remoteproc driver for TI PRU

This series adds a new remoteproc driver for the TI Programmable Runtime Unit
(PRU) that is present in some TI Sitara processors. This code has been tested
working on AM1808 (LEGO MINDSTORMS EV3) and AM3358 (BeagleBone Green).

There are a couple of quirks that had to be worked around in order to get this
working. The PRU units have multiple memory maps. Notably, both the instruction
RAM and data RAM are at address 0x0. This caused the da_to_va callback to not
work because the same address could refer to two different locations. To work
around this, the first two patches add a "map" parameter to the da_to_va
callbacks so that we have an extra bit of information to make this distinction.

Also, on AM38xx we have to use pdata for accessing a reset since there is not
a reset controller. There are several other devices doing this, so the seems
the best way for now.

For anyone else who would like to test, I used the rpmsg-client-sample driver.
Just enable it in your kernel config. Then grab the appropriate firmware[1]
and put in in /lib/firmware/. Use sysfs to start and stop the PRU:

        echo start > /sys/class/remoteproc<n>/state
        echo stop > /sys/class/remoteproc<n>/state

[1]: firmware downloads:

AM18XX: https://github.com/ev3dev/ev3dev-pru-firmware/releases/download/mainline-kernel-testing/AM18xx-PRU-rpmsg-client-sample.zip
AM335X: https://github.com/ev3dev/ev3dev-pru-firmware/releases/download/mainline-kernel-testing/AM335x-PRU-rpmsg-client-sample.zip

David Lechner (8):
  remoteproc: add map parameter to da_to_va
  remoteproc: add page lookup for TI PRU to ELF loader
  ARM: OMAP2+: add pdata quirks for PRUSS reset
  dt-bindings: add bindings for TI PRU as remoteproc
  remoteproc: new driver for TI PRU
  ARM: davinci_all_defconfig: enable PRU remoteproc module
  ARM: dts: da850: add node for PRUSS
  ARM: dts: am33xx: add node for PRU remoteproc

 .../bindings/remoteproc/ti_pru_rproc.txt      |  51 ++
 MAINTAINERS                                   |   5 +
 arch/arm/boot/dts/am33xx.dtsi                 |   9 +
 arch/arm/boot/dts/da850.dtsi                  |   8 +
 arch/arm/configs/davinci_all_defconfig        |   2 +
 arch/arm/mach-omap2/pdata-quirks.c            |   9 +
 drivers/remoteproc/Kconfig                    |   7 +
 drivers/remoteproc/Makefile                   |   1 +
 drivers/remoteproc/imx_rproc.c                |   2 +-
 drivers/remoteproc/keystone_remoteproc.c      |   3 +-
 drivers/remoteproc/qcom_adsp_pil.c            |   2 +-
 drivers/remoteproc/qcom_q6v5_pil.c            |   2 +-
 drivers/remoteproc/qcom_wcnss.c               |   2 +-
 drivers/remoteproc/remoteproc_core.c          |  10 +-
 drivers/remoteproc/remoteproc_elf_loader.c    | 117 +++-
 drivers/remoteproc/remoteproc_internal.h      |   2 +-
 drivers/remoteproc/st_slim_rproc.c            |   2 +-
 drivers/remoteproc/ti_pru_rproc.c             | 660 ++++++++++++++++++
 drivers/remoteproc/wkup_m3_rproc.c            |   3 +-
 include/linux/platform_data/ti-pruss.h        |  18 +
 include/linux/remoteproc.h                    |   2 +-
 include/uapi/linux/elf-em.h                   |   1 +
 22 files changed, 899 insertions(+), 19 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/remoteproc/ti_pru_rproc.txt
 create mode 100644 drivers/remoteproc/ti_pru_rproc.c
 create mode 100644 include/linux/platform_data/ti-pruss.h

-- 
2.17.1

             reply	other threads:[~2018-06-23 21:08 UTC|newest]

Thread overview: 112+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-23 21:08 David Lechner [this message]
2018-06-23 21:08 ` [PATCH 1/8] remoteproc: add map parameter to da_to_va David Lechner
2018-06-23 21:08 ` [PATCH 2/8] remoteproc: add page lookup for TI PRU to ELF loader David Lechner
2018-06-23 21:08 ` [PATCH 3/8] ARM: OMAP2+: add pdata quirks for PRUSS reset David Lechner
2018-06-23 21:08 ` [PATCH 4/8] dt-bindings: add bindings for TI PRU as remoteproc David Lechner
2018-07-03 20:59   ` Rob Herring
2018-06-23 21:08 ` [PATCH 5/8] remoteproc: new driver for TI PRU David Lechner
2018-06-29 10:14   ` Roger Quadros
     [not found]     ` <CA+CtpRhQ07=3UytY7QrfnpWkY06UqHbNVq099Coez3C4H3U5yg@mail.gmail.com>
2018-07-02  8:05       ` Roger Quadros
2018-06-23 21:08 ` [PATCH 6/8] ARM: davinci_all_defconfig: enable PRU remoteproc module David Lechner
2018-06-23 21:08 ` [PATCH 7/8] ARM: dts: da850: add node for PRUSS David Lechner
2018-06-23 21:08 ` [PATCH 8/8] ARM: dts: am33xx: add node for PRU remoteproc David Lechner
2018-06-29  9:58 ` New remoteproc driver for TI PRU Roger Quadros
2018-06-29 17:44   ` David Lechner
2018-06-30  0:17     ` Suman Anna
2018-08-06 16:32       ` David Lechner
2018-08-07  1:39         ` Suman Anna
2018-07-02  8:17     ` Roger Quadros
  -- strict thread matches above, loose matches on Subject: below --
2016-04-11  7:51 (unknown) Paul Walmsley
     [not found] <1570038211.167595.1414613146892.JavaMail.yahoo@jws10056.mail.ne1.yahoo.com>
     [not found] ` <1835234304.171617.1414613165674.JavaMail.yahoo@jws10089.mail.ne1.yahoo.com>
     [not found]   ` <1938862685.172387.1414613200459.JavaMail.yahoo@jws100180.mail.ne1.yahoo.com>
     [not found]     ` <705402329.170339.1414613213653.JavaMail.yahoo@jws10087.mail.ne1.yahoo.com>
     [not found]       ` <760168749.169371.1414613227586.JavaMail.yahoo@jws10082.mail.ne1.yahoo.com>
     [not found]         ` <1233923671.167957.1414613439879.JavaMail.yahoo@jws10091.mail.ne1.yahoo.com>
     [not found]           ` <925985882.172122.1414613520734.JavaMail.yahoo@jws100207.mail.ne1.yahoo.com>
     [not found]             ` <1216694778.172990.1414613570775.JavaMail.yahoo@jws100152.mail.ne1.yahoo.com>
     [not found]               ` <1213035306.169838.1414613612716.JavaMail.yahoo@jws10097.mail.ne1.yahoo.com>
     [not found]                 ` <2058591563.172973.1414613668636.JavaMail.yahoo@jws10089.mail.ne1.yahoo.com>
     [not found]                   ` <1202030640.175493 .1414613712352.JavaMail.yahoo@jws10036.mail.ne1.yahoo.com>
     [not found]                     ` <1111049042.175610.1414613739099.JavaMail.yahoo@jws100165.mail.ne1.yahoo.com>
     [not found]                       ` <574125160.175950.1414613784216.JavaMail.yahoo@jws100158.mail.ne1.yahoo.com>
     [not found]                         ` <1726966600.175552.1414613846198.JavaMail.yahoo@jws100190.mail.ne1.yahoo.com>
     [not found]                           ` <976499752.219775.1414613888129.JavaMail.yahoo@jws100101.mail.ne1.yahoo.com>
     [not found]                             ` <1400960529.171566.1414613936238.JavaMail.yahoo@jws10059.mail.ne1.yahoo.com>
     [not found]                               ` <1333619289.175040.1414613999304.JavaMail.yahoo@jws100196.mail.ne1.yahoo.com>
     [not found]                                 ` <1038759122.176173.1414614054070.JavaMail.yahoo@jws100138.mail.ne1.yahoo.com>
     [not found]                                   ` <1109995533.176150.1414614101940.JavaMail.yahoo@jws100140.mail.ne1.yahoo.com>
     [not found]                                     ` <809474730.174920.1414614143971.JavaMail.yahoo@jws100154.mail.ne1.yahoo.com>
     [not found]                                       ` <1234226428.170349.1414614189490.JavaMail .yahoo@jws10056.mail.ne1.yahoo.com>
     [not found]                                         ` <1122464611.177103.1414614228916.JavaMail.yahoo@jws100161.mail.ne1.yahoo.com>
     [not found]                                           ` <1350859260.174219.1414614279095.JavaMail.yahoo@jws100176.mail.ne1.yahoo.com>
     [not found]                                             ` <1730751880.171557.1414614322033.JavaMail.yahoo@jws10060.mail.ne1.yahoo.com>
     [not found]                                               ` <642429550.177328.1414614367628.JavaMail.yahoo@jws100165.mail.ne1.yahoo.com>
     [not found]                                                 ` <1400780243.20511.1414614418178.JavaMail.yahoo@jws100162.mail.ne1.yahoo.com>
     [not found]                                                   ` <2025652090.173204.1414614462119.JavaMail.yahoo@jws10087.mail.ne1.yahoo.com>
     [not found]                                                     ` <859211720.180077.1414614521867.JavaMail.yahoo@jws100147.mail.ne1.yahoo.com>
     [not found]                                                       ` <258705675.173585.1414614563057.JavaMail.yahoo@jws10078.mail.ne1.yahoo.com>
     [not found]                                                         ` <1773234186.173687.1414614613736.JavaMail.yahoo@jws10078.mail.ne1.yahoo.com>
     [not found]                                                           ` <1132079010.173033.1414614645153.JavaMail.yahoo@jws10066.mail.ne1.ya hoo.com>
     [not found]                                                             ` <1972302405.176488.1414614708676.JavaMail.yahoo@jws100166.mail.ne1.yahoo.com>
     [not found]                                                               ` <1713123000.176308.1414614771694.JavaMail.yahoo@jws10045.mail.ne1.yahoo.com>
     [not found]                                                                 ` <299800233.173413.1414614817575.JavaMail.yahoo@jws10066.mail.ne1.yahoo.com>
     [not found]                                                                   ` <494469968.179875.1414614903152.JavaMail.yahoo@jws100144.mail.ne1.yahoo.com>
     [not found]                                                                     ` <2136945987.171995.1414614942776.JavaMail.yahoo@jws10091.mail.ne1.yahoo.com>
     [not found]                                                                       ` <257674219.177708.1414615022592.JavaMail.yahoo@jws100181.mail.ne1.yahoo.com>
     [not found]                                                                         ` <716927833.181664.1414615075308.JavaMail.yahoo@jws100145.mail.ne1.yahoo.com>
     [not found]                                                                           ` <874940984.178797.1414615132802.JavaMail.yahoo@jws100157.mail.ne1.yahoo.com>
     [not found]                                                                             ` <1283488887.176736.1414615187657.JavaMail.yahoo@jws100183.mail.ne1.yahoo.com>
     [not found]                                                                               ` <777665713.175887.1414615236293.JavaMail.yahoo@jws10083.mail.ne1.yahoo.com>
     [not found]                                                                                 ` <585395776.176325.1 414615298260.JavaMail.yahoo@jws10033.mail.ne1.yahoo.com>
     [not found]                                                                                   ` <178352191.221832.1414615355071.JavaMail.yahoo@jws100104.mail.ne1.yahoo.com>
     [not found]                                                                                     ` <108454213.176606.1414615522058.JavaMail.yahoo@jws10053.mail.ne1.yahoo.com>
     [not found]                                                                                       ` <1617229176.177502.1414615563724.JavaMail.yahoo@jws10030.mail.ne1.yahoo.com>
     [not found]                                                                                         ` <324334617.178254.1414615625247.JavaMail.yahoo@jws10089.mail.ne1.yahoo.com>
     [not found]                                                                                           ` <567135865.82376.1414615664442.JavaMail.yahoo@jws100136.mail.ne1.yahoo.com>
     [not found]                                                                                             ` <764758300.179669.1414615711821.JavaMail.yahoo@jws100107.mail.ne1.yahoo.com>
     [not found]                                                                                               ` <1072855470.183388.1414615775798.JavaMail.yahoo@jws100147.mail.ne1.yahoo.com>
     [not found]                                                                                                 ` <2134283632.173314.1414615831322.JavaMail.yahoo@jws10094.mail.ne1.yahoo.com>
     [not found]                                                                                                   ` <1454491902.178612.1414615875076.JavaMail.yahoo@jws100209.mail.ne1.yahoo.com>
     [not found]                                                                                                     ` <1480763910.146593.1414958012342.JavaMail.yahoo@jws10033.mail.ne1.yahoo.com>
2014-11-02 19:54                                                                                                       ` (unknown) MRS GRACE MANDA
2014-09-18 14:15 (unknown), Maria Caballero
2014-07-09 17:49 (unknown), Sebastian Andrzej Siewior
2013-10-01 20:45 (unknown), Mr. Cham Tao
2013-07-31  0:39 (unknown) 大宇
     [not found] <[PATCH v2 0/2]: auto request GPIO as input if used as IRQ via DT>
2013-06-21 22:50 ` (unknown), Javier Martinez Canillas
2013-01-19 22:53 (unknown) Allanlarge Voiletlarge
2012-12-29  9:17 (unknown), steve.zhan
2012-12-28  6:07 (unknown), Mike Rapoport
2012-12-25 23:23 (unknown), Matthias Brugger
2012-10-14 10:12 (unknown), Alexey Dobriyan
2012-09-12 18:53 (unknown) Help Desk
2012-09-05 12:24 (unknown), Mrs. Yoshiko
2012-08-28 18:26 (unknown), Allen and Violet Large
2012-07-31 23:52 (unknown), Ricardo Neri
2012-06-21 18:26 (unknown) Paul Walmsley
2012-05-08  0:39 (unknown), Mrs.Dorothy Peters
2012-05-05 18:59 (unknown), Mrs Sabah Halif
2012-03-31 14:44 (unknown), jin mong
2012-03-18 19:02 (unknown), C'C Company
2012-02-15 17:47 (unknown), Ann Adams
2011-11-05 15:53 (unknown), Bootsdiy
2011-11-01 13:45 (unknown), dopeheath
2011-10-19  3:50 (unknown), maxinezaf
2011-10-14 22:19 (unknown), Sytem Administrator
2011-10-01 13:51 (unknown), dopeheath
2011-09-23  5:45 (unknown), Heath
2011-09-01  6:04 (unknown), Sabah Halif
2011-08-25  4:08 (unknown), con@telus.net
2011-08-18  1:23 (unknown), Mr. Vincent Cheng
2011-08-11  7:01 (unknown), COCA COLA PLC
2011-08-10 21:36 (unknown), COCA COLA PLC
2011-07-26 18:42 (unknown), EMAIL SELECTED
2011-07-26 11:07 (unknown), EMAIL SELECTED
2011-07-21 14:27 (unknown), Mr. Vincent Cheng
2011-07-19 15:09 (unknown), Liu Wang
2011-07-15 14:31 (unknown), Mr. Vincent Cheng
2011-07-12 15:29 (unknown), Systems Administrator
2011-05-16  9:34 (unknown), Keshava Munegowda
2011-05-10  9:47 (unknown), dm7799
2011-05-04 11:19 (unknown), ECOWAS/UNITED NATIONS
2011-05-03 16:05 (unknown), ken leo
2011-04-18  2:06 (unknown), Winning  Notification
2011-04-08 23:46 (unknown), Taylor, David
2011-04-02  3:45 (unknown), System Administrator
2011-02-24  8:54 (unknown), COCA COLA ONLINE
2011-02-17 16:46 (unknown) Account Service Department
2011-02-16 11:54 (unknown), Hema HK
2011-02-16 11:53 (unknown), Hema HK
2011-01-19 14:42 (unknown), Roberto Guerra
2010-11-29 21:56 (unknown), Mr. Peter Lee
2010-11-25 20:01 (unknown), ameya.palande
2010-11-17 23:56 (unknown), HATZFELD hélène
2010-11-07  7:28 (unknown) [AvataR]
2010-10-15  9:47 (unknown), WESTERN UNION TRANSFER
2010-10-13 14:52 (unknown), HOLIDAY INN HOTELS
2010-09-17 11:07 (unknown) K Gutseri
2010-09-16 13:53 (unknown) K Gutseri
2010-09-16 13:52 (unknown) K Gutseri
2010-09-16 13:52 (unknown) K Gutseri
2010-09-16 13:10 (unknown), William Wilcox
2010-09-15 21:28 (unknown), William Wilcox
2010-08-18 12:41 (unknown), Western Union Transfer
2010-08-05 17:54 (unknown), Western Union Customer Care
2010-07-27 15:29 (unknown), Western Union Transfer
2010-07-20 19:59 (unknown), Western Union Transfer
2010-07-04 13:27 (unknown), Western Union Transfer
2010-06-22  4:34 (unknown), Mr Chen Guan
2010-06-22  4:31 (unknown), Mr Chen Guan
2010-06-15 13:00 (unknown) omar hasan
2010-06-05 12:37 (unknown) ATM CARD DEPARTMAENT
2010-06-04 17:26 (unknown) jean-luc.robbe
2010-05-04  8:37 (unknown), ming chen
2010-05-04  8:37 (unknown), ming chen
2010-03-12 16:10 (unknown), Lesly A M
2010-03-09 13:43 (unknown), MR.TONG SHIU KI
2010-02-25  9:36 (unknown), Thomas Weber
2010-02-17  0:57 (unknown), Moiz Sonasath
2010-01-20  8:46 (unknown), Ameya Palande
2009-12-17  3:03 (unknown) Xmas Tobacc Promo Winner Alert
2009-11-07  7:40 (unknown) Irish Online Notification
2009-10-07 18:02 (unknown), UK Online Promo 09
2009-09-10 11:37 (unknown), vimal singh
2009-08-31 22:05 (unknown) Irish Online News
2009-08-25 10:34 (unknown), Syed Rafiuddin
2009-07-31  7:33 (unknown), Tar Gz
2009-07-07 12:53 (unknown), Fischer Steven-P27614
2009-04-20 20:01 (unknown), Dmitry_Shvedov
2009-03-26 10:57 (unknown), OXFAM GB UK
2009-03-26 10:57 (unknown), OXFAM GB UK
2008-10-10 12:42 (unknown) Felipe Balbi
2008-07-31 11:21 (unknown), Gadiyar, Anand
2008-06-03  6:15 (unknown), Ananth M

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=20180623210810.21232-1-david@lechnology.com \
    --to=david@lechnology.com \
    --cc=bcousson@baylibre.com \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=khilman@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=nsekhar@ti.com \
    --cc=ohad@wizery.com \
    --cc=robh+dt@kernel.org \
    --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 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).