1. 10 Dec, 2020 2 commits
    • Suman Anna's avatar
      remoteproc: pru: Add a PRU remoteproc driver · d4ce2de7
      Suman Anna authored
      The Programmable Real-Time Unit Subsystem (PRUSS) consists of
      dual 32-bit RISC cores (Programmable Real-Time Units, or PRUs)
      for program execution. This patch adds a remoteproc platform
      driver for managing the individual PRU RISC cores life cycle.
      
      The PRUs do not have a unified address space (have an Instruction
      RAM and a primary Data RAM at both 0x0). The PRU remoteproc driver
      therefore uses a custom remoteproc core ELF loader ops. The added
      .da_to_va ops is only used to provide translations for the PRU
      Data RAMs. This remoteproc driver does not have support for error
      recovery and system suspend/resume features. Different compatibles
      are used to allow providing scalability for instance-specific device
      data if needed. The driver uses a default firmware-name retrieved
      from device-tree for each PRU core, and the firmwares are expected
      to be present in the standard Linux firmware search paths. They can
      also be adjusted by userspace if required through the sysfs interface
      provided by the remoteproc core.
      
      The PRU remoteproc driver uses a client-driven boot methodology: it
      does _not_ support auto-boot so that the PRU load and boot is dictated
      by the corresponding client drivers for achieving various usecases.
      This allows flexibility for the client drivers or applications to set
      a firmware name (if needed) based on their desired functionality and
      boot the PRU. The sysfs bind and unbind attributes have also been
      suppressed so that the PRU devices cannot be unbound and thereby
      shutdown a PRU from underneath a PRU client driver.
      
      The driver currently supports the AM335x, AM437x, AM57xx and 66AK2G
      SoCs, and support for other TI SoCs will be added in subsequent
      patches.
      Co-developed-by: default avatarAndrew F. Davis <afd@ti.com>
      Signed-off-by: default avatarAndrew F. Davis <afd@ti.com>
      Signed-off-by: default avatarSuman Anna <s-anna@ti.com>
      Co-developed-by: default avatarGrzegorz Jaszczyk <grzegorz.jaszczyk@linaro.org>
      Signed-off-by: default avatarGrzegorz Jaszczyk <grzegorz.jaszczyk@linaro.org>
      Reviewed-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
      Link: https://lore.kernel.org/r/20201208141002.17777-3-grzegorz.jaszczyk@linaro.orgSigned-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
      d4ce2de7
    • Suman Anna's avatar
      dt-bindings: remoteproc: Add binding doc for PRU cores in the PRU-ICSS · d570d05e
      Suman Anna authored
      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.
      
      The K3 AM65x amd J721E SoCs have the next generation of the PRU-ICSS IP,
      commonly called ICSSG. The ICSSG IP on AM65x SoCs has two PRU cores,
      two auxiliary custom PRU cores called Real Time Units (RTUs). The K3
      AM65x SR2.0 and J721E SoCs have a revised version of the ICSSG IP, and
      include two additional custom auxiliary PRU cores called Transmit PRUs
      (Tx_PRUs).
      
      This patch adds the bindings for these PRU cores. The binding covers the
      OMAP architecture SoCs - AM33xx, AM437x and AM57xx; Keystone 2 architecture
      based 66AK2G SoC; and the K3 architecture based SoCs - AM65x and J721E. The
      Davinci based OMAPL138 SoCs will be covered in a future patch.
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Co-developed-by: default avatarRoger Quadros <rogerq@ti.com>
      Signed-off-by: default avatarRoger Quadros <rogerq@ti.com>
      Signed-off-by: default avatarSuman Anna <s-anna@ti.com>
      Signed-off-by: default avatarGrzegorz Jaszczyk <grzegorz.jaszczyk@linaro.org>
      Link: https://lore.kernel.org/r/20201208141002.17777-2-grzegorz.jaszczyk@linaro.orgSigned-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
      d570d05e
  2. 04 Dec, 2020 2 commits
  3. 26 Nov, 2020 8 commits
  4. 24 Nov, 2020 3 commits
  5. 21 Nov, 2020 4 commits
  6. 18 Nov, 2020 2 commits
  7. 26 Oct, 2020 8 commits
  8. 25 Oct, 2020 11 commits