On 04/04/23 17:23, MD Danish Anwar wrote: > Hi All, > 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. All of them have > already been merged and can be found under: > 1) drivers/soc/ti/pruss.c > Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml > 2) drivers/irqchip/irq-pruss-intc.c > Documentation/devicetree/bindings/interrupt-controller/ti,pruss-intc.yaml > 3) drivers/remoteproc/pru_rproc.c > Documentation/devicetree/bindings/remoteproc/ti,pru-consumer.yaml > > 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. > > This is the v7 of the old patch series [9]. > Hi Mathieu, Can you please review this series. I have addressed comments made by you in v5. I have also addressed Simon's comment in v6 and removed redundant macros from pruss.h header file. > Changes from v6 [9] to v7: > *) Addressed Simon's comment on patch 3 of this series and dropped unnecassary > macros from the patch. > > Changes from v5 [1] to v6: > *) Added Reviewed by tags of Roger and Tony to the patches. > *) Added Acked by tag of Mathieu to patch 2 of this series. > *) Added NULL check for @mux in pruss_cfg_get_gpmux() API. > *) Added comment to the pruss_get() function documentation mentioning it is > expected the caller will have done a pru_rproc_get() on @rproc. > *) Fixed compilation warning "warning: ‘pruss_cfg_update’ defined but not used" > in patch 3 by squashing patch 3 [7] and patch 5 [8] of previous revision > together. Squashed patch 5 instead of patch 4 with patch 3 because patch 5 uses > both read() and update() APIs where as patch 4 only uses update() API. > Previously pruss_cfg_read()/update() APIs were intoroduced in patch 3 > and used in patch 4 and 5. Now these APIs are introduced as well as used in > patch 3. > -- Thanks and Regards, Danish.