lib: Add support for AM64x SoCs The TI K3 AM64x SoCs have two MAIN R5FSS clusters with dual R5F cores. The R5FSS clusters on AM64x SoCs can support two modes that affects the number of usable R5F cores. The conventional 'Split-mode' allows both the R5F cores to run different applications/firmwares. A new 'Single-CPU' allows only Core0 to run an application, but combines the Tightly-Coupled Memory (TCM) from Core1 with Core0 effectively doubling the available TCM memory. Add the support for these SoCs in the ti_rpmsg_char library. The library version is also bumped up to 0.3.0 to account for the added new SoC support. Signed-off-by: Suman Anna <s-anna@ti.com>
lib: Improve signal handling logic The commit f3d1fba69ca8 ("lib: Add initial signal handling code") added some functionality in rpmsg_char_init() to unconditionally register a signal handler for SIGINT and SIGTERM, and uses the handler to perform cleanup of any open rpmsg local endpoint devices during abnormal termination of applications. This was needed to handle the weird dev management logic used by the rpmsg char driver. This signal handling design is not ideal though, as it overwrites any pre-installed signal handlers by the applications. Improve this logic by actually checking for pre-existing signal handlers, and registering only when none exist. This improves the overall flexibility, without causing any inadvertant behavior. Enhance the documentation around the public headers reflecting the same. Any signal handlers registered by applications after rpmsg_char_init() still take precedence, and the applications handlers are responsible for calling rpmsg_char_exit() to ensure the proper cleanup of stale endpoint devices. The library version is also bumped up to 0.2.0 because of the modified behavior. Signed-off-by: Suman Anna <s-anna@ti.com>
examples: Add rpmsg_char_simple example Add a very basic example application demonstrating the usage of the rpmsg_char API provided by the ti-rpmsg-char library. The application is a single-threaded application, communicating with a single rpmsg device on a remote processor using one local endpoint device. The example is added in a new 'examples' directory. An README file is also added in the examples folder with the usage instructions. The examples folder is not built automatically using top-level make, and requires a specific command to be built. The top-level README is also updated accordingly. Signed-off-by: Suman Anna <s-anna@ti.com>
lib: Add initial automake build related files Add various automake build related files to be able to build and install the library. The library uses the version number 0.1.0. Signed-off-by: Suman Anna <s-anna@ti.com>