This is the re-spin of the old patch series[1]. This doesn't have any functional changes, the old series has been rebased on linux-next. This series depends on another un-merged series in the remoteproc tree[2]. This series and the remoteproc series form the PRUSS comsumer API which can be used by consumer drivers to utilize the PRUs. One example of the consumer driver is the PRU-ICSSG ethernet driver, which depends on this series and the remoteproc series[2]. I had earlier sent all the three series, this, remoteproc, and the ethernet driver as RFC to get comments. It can be seen here[3] to understand the overall structure. The Programmable Real-Time Unit and Industrial Communication Subsystem (PRU-ICSS or simply PRUSS) on various TI SoCs consists of dual 32-bit RISC cores (Programmable Real-Time Units, or PRUs) for program execution. There are 3 foundation components for TI PRUSS subsystem: the PRUSS platform driver, the PRUSS INTC driver and the PRUSS remoteproc driver. The programmable nature of the PRUs provide flexibility to implement custom peripheral interfaces, fast real-time responses, or specialized data handling. Example of a PRU consumer drivers will be: - Software UART over PRUSS - PRU-ICSS Ethernet EMAC In order to make usage of common PRU resources and allow the consumer drivers to configure the PRU hardware for specific usage the PRU API is introduced. [1] https://patchwork.kernel.org/project/linux-remoteproc/cover/20201211184811.6490-1-grzegorz.jaszczyk@xxxxxxxxxx/ [2] https://patchwork.kernel.org/project/linux-remoteproc/cover/20220418104118.12878-1-p-mohan@xxxxxx/ [3] https://patchwork.kernel.org/project/linux-remoteproc/cover/20220406094358.7895-1-p-mohan@xxxxxx/ Thanks, Puranjay Mohan Andrew F. Davis (1): soc: ti: pruss: Add pruss_{request,release}_mem_region() API Suman Anna (3): soc: ti: pruss: Add pruss_cfg_read()/update() API soc: ti: pruss: Add helper functions to set GPI mode, MII_RT_event and XFR soc: ti: pruss: Add helper function to enable OCP master ports Tero Kristo (2): soc: ti: pruss: Add pruss_get()/put() API soc: ti: pruss: Add helper functions to get/set PRUSS_CFG_GPMUX drivers/soc/ti/pruss.c | 257 ++++++++++++++++++++++++++++++++++- include/linux/pruss.h | 221 ++++++++++++++++++++++++++++++ include/linux/pruss_driver.h | 72 +++++++--- 3 files changed, 526 insertions(+), 24 deletions(-) -- 2.17.1