rpmsg: use hil_free_vqs to delete virtqueues
Use hil_free_vqs to delete virtqueues of the specified vdev.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use hil_free_vqs to delete virtqueues of the specified vdev.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
hil: add free vqs for specified vdev
Add APIs to free vqs for the specified vdev.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add APIs to free vqs for the specified vdev.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
hil: add mutex lock to hil_proc
Add mutex lock to hil_proc
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add mutex lock to hil_proc
Signed-off-by: Wendy Liang <jliang@xilinx.com>
hil: fix spaces in the headers
replace heading spaces with tab.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
replace heading spaces with tab.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
hil: add hil_vdev_notify
Add hil_vdev_notify to notify vdev config changes.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add hil_vdev_notify to notify vdev config changes.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
hil: add intr info to proc_vdev
There should be notification settings for vdev.
Add intr info which stores the notification settings for
vdev.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
There should be notification settings for vdev.
Add intr info which stores the notification settings for
vdev.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
virtio: replace _RESET status with _NEEDS_RESET
There is no _RESET status in virtio, remove it and
add _NEEDS_RESET status.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
There is no _RESET status in virtio, remove it and
add _NEEDS_RESET status.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
hil: remove unused attributes
remove unused attributes from hil_proc struct
Signed-off-by: Wendy Liang <jliang@xilinx.com>
remove unused attributes from hil_proc struct
Signed-off-by: Wendy Liang <jliang@xilinx.com>
apps: generic: zynqmp_r5: sync linker script with latest xsdk
Update the zynqmp_r5 generic linker script to match with the latest xsdk.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Update the zynqmp_r5 generic linker script to match with the latest xsdk.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
apps: zynqmp_r5: add fw_chksum entry to rsc table
Add firmware checksum resource entry to the resource table.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add firmware checksum resource entry to the resource table.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
apps: zynqmp_r5: add rproc_mem to rsc table
Add rproc_mem resource entry to resource table.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add rproc_mem resource entry to resource table.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
remoteproc: resource table: add fw checksum rsc
Add firmware checksum resource type to resource table.
It can be used for the master to check if the remote runs on
the expected firmware if it is still running before it tries
to boot the remote.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add firmware checksum resource type to resource table.
It can be used for the master to check if the remote runs on
the expected firmware if it is still running before it tries
to boot the remote.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
rproc: add rproc_mem resource entry
Add fw_rsc_rproc_mem resource entry to tell the host the
remote processor's memory which can be used as shared memory.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add fw_rsc_rproc_mem resource entry to tell the host the
remote processor's memory which can be used as shared memory.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
rpmsg: remove setting remote dev active from remote dev kick
Move setting the remote device status from remote dev kick function
to the caller. It should be the caller to decide when it is ready.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Move setting the remote device status from remote dev kick function
to the caller. It should be the caller to decide when it is ready.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
rpmsg: start_ipc: only kick the remote if start_ipc from master
It only needs to kick the remote if it is the master calls
start_ipc after it is ready.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
It only needs to kick the remote if it is the master calls
start_ipc after it is ready.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
rpmsg: rdev_init: do not create rpmsg channels before remote is OK
It is the virtio master to allocate the vrings' memories, on the slave
side, it should not create channels before the master driver is OK.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
It is the virtio master to allocate the vrings' memories, on the slave
side, it should not create channels before the master driver is OK.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
rpmsg: remote_dev: add API to check if remote is ready
Add an API to check if the remote is ready.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add an API to check if the remote is ready.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
rpmsg: remote_device: virio ops: get/set actual vdev status
change get_status and set_status vdev operation to get/set the
actual virtio status from the resource table.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
change get_status and set_status vdev operation to get/set the
actual virtio status from the resource table.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
rsc table: move setting vring info to hil_get_vring_info
moving setting vrings info to hil_get_vring_info() because
when resource table is passed the vring information maynot
have been setup yet.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
moving setting vrings info to hil_get_vring_info() because
when resource table is passed the vring information maynot
have been setup yet.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
remoteproc: rsc parser: set vdev_info to proc_vdev
Store the vdev resource pointer to proc_vdev so that it will
be able to get remote update.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Store the vdev resource pointer to proc_vdev so that it will
be able to get remote update.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
hil: Add vdev_info to proc_vdev struct
Add a field to point to the virtio dev information.
Currently, it will be the pointer to the vdev resource in the
resource table.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add a field to point to the virtio dev information.
Currently, it will be the pointer to the vdev resource in the
resource table.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
remoteproc: zynqMP_a53: Do not clear IPI irq when it is probed
Do not clear IPI irq when it is probed as it is possible for the other
end has already kicked IPI when it is probed.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Do not clear IPI irq when it is probed as it is possible for the other
end has already kicked IPI when it is probed.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
fix install paths to work for multilib
When running multilib builds on 64-bit platforms, the system library
paths need to be adjusted to either lib64/lib32, or lib64/lib in a
distro specific way. This is handled via CMAKE_INSTALL_LIBDIR/BINDIR
variable
Signed-off-by: Wendy Liang <jliang@xilinx.com>
When running multilib builds on 64-bit platforms, the system library
paths need to be adjusted to either lib64/lib32, or lib64/lib in a
distro specific way. This is handled via CMAKE_INSTALL_LIBDIR/BINDIR
variable
Signed-off-by: Wendy Liang <jliang@xilinx.com>
rpmsg: change channel state if nameservice is sent
Should not blindly change the channel state after
sending the name service message.
because it is possible that name service fails to send.
e.g. it fails to get the buffer to send the name service
message.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Should not blindly change the channel state after
sending the name service message.
because it is possible that name service fails to send.
e.g. it fails to get the buffer to send the name service
message.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use meta-openamp to build Linux Userspace OpenAMP
Update instructions to use meta-openamp to build OpenAMP in
Linux userspace.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Update instructions to use meta-openamp to build OpenAMP in
Linux userspace.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
remoteproc: zynq: remove compile warning
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
remoteproc: zynq: do not free proc mem in release
As the hil_proc memory is allocated and free in the hil APIs.
We should not free it in the remoteproc driver.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As the hil_proc memory is allocated and free in the hil APIs.
We should not free it in the remoteproc driver.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Update README for the OpenAMP on top of libmetal
Update the README file for the structure and the compilation basic
instructions for OpenAMP on top of libmetal.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Update the README file for the structure and the compilation basic
instructions for OpenAMP on top of libmetal.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove the system/machine dependent layers
As libmetal provides system/machine dependent metal access functions,
we remove the system/machine dependent layers from OpenAMP.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As libmetal provides system/machine dependent metal access functions,
we remove the system/machine dependent layers from OpenAMP.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use libmetal sleep and timestamp APIs
Replace the OpenAMP sleep and timestamp APIs with
those provided from libmetal.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace the OpenAMP sleep and timestamp APIs with
those provided from libmetal.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove machine specific include directory
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Adding RPMsg Extension layer implementing zero-copy send and receive.
Signed-off-by: Marek Novak <marek.novak@nxp.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Marek Novak <marek.novak@nxp.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Update applications RPMsg between processes
This patch is to update the application demos to show
the RPMsg between processes
Signed-off-by: Wendy Liang <jliang@xilinx.com>
This patch is to update the application demos to show
the RPMsg between processes
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Apps: zynqmp: Add API to get rsc table
This API is introduced for applications to get the resource table
across different platforms. For baremetal/RTOS, you don't actually
need this API, but for Linux userspace, it is required as it
can have multiple resource talbes for different remotes.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
This API is introduced for applications to get the resource table
across different platforms. For baremetal/RTOS, you don't actually
need this API, but for Linux userspace, it is required as it
can have multiple resource talbes for different remotes.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Apps: zynq7: Add API to get rsc table
This API is introduced for applications to get the resource table
across different platforms. For baremetal/RTOS, you don't actually
need this API, but for Linux userspace, it is required as it
can have multiple resource talbes for different remotes.
This API is introduced for applications to get the resource table
across different platforms. For baremetal/RTOS, you don't actually
need this API, but for Linux userspace, it is required as it
can have multiple resource talbes for different remotes.
Apps: zynqmp_r5: Add API to get rsc table
This API is introduced for applications to get the resource table
across different platforms. For baremetal/RTOS, you don't actually
need this API, but for Linux userspace, it is required as it
can have multiple resource talbes for different remotes.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
This API is introduced for applications to get the resource table
across different platforms. For baremetal/RTOS, you don't actually
need this API, but for Linux userspace, it is required as it
can have multiple resource talbes for different remotes.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add Linux application generic initialization
Add apps common for RPMsg between Linux processes.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add apps common for RPMsg between Linux processes.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add Linux remoteproc between two processes
Introduce a remoteproc driver for the RPMsg between
two Linux processes.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Introduce a remoteproc driver for the RPMsg between
two Linux processes.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Update demo apps to use new HIL proc APIs
As the hil_proc init APIs has been changed, the applications OpenAMP
initialization needs to update to use the new APIs.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As the hil_proc init APIs has been changed, the applications OpenAMP
initialization needs to update to use the new APIs.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Not use remoteproc_plat in Zynq7 BM apps helpers
As remoteproc_plat has been removed, update the Zynq7 baremetal apps
helper functions not to use those APIs.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As remoteproc_plat has been removed, update the Zynq7 baremetal apps
helper functions not to use those APIs.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove remoteproc_plat from Zynq remoteproc driver
As remoteproc_plat has been removed, update the Zynq
baremetal/RTOS driver to remove using remoteproc_plat.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As remoteproc_plat has been removed, update the Zynq
baremetal/RTOS driver to remove using remoteproc_plat.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Not use remoteproc_plat in ZynqMP apps helper functions
As remoteproc_plat has been removed, update the ZynqMP Linux
userspace apps helper functions not to use those APIs.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As remoteproc_plat has been removed, update the ZynqMP Linux
userspace apps helper functions not to use those APIs.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove remoteproc_plat in ZynqMP rproc driver
As remoteproc_plat has been removed, update the remoteproc driver
not to use that APIs.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As remoteproc_plat has been removed, update the remoteproc driver
not to use that APIs.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Not use remoteproc_plat in ZynqMP R5 apps helpers
As remoteproc_plat has been removed, update the ZynqMP R5 apps
helper functions not to use those APIs.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As remoteproc_plat has been removed, update the ZynqMP R5 apps
helper functions not to use those APIs.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove remoteproc_plat from ZynqMP R5 rproc driver
As remoteproc_plat has been removed, update the driver not
to use that driver.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As remoteproc_plat has been removed, update the driver not
to use that driver.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
update hil_proc not to add new user data struct
This patch is to:
* hide hil_proc data struct details from user
* not to introduce new data structure for user to understand
Here is the new flow:
For RPMsg slave:
* proc = hil_create_proc(<hil_proc_ops>)
* hil_set_rpmsg_channel()
* hil_set_ipi()
* remoteproc_resource_init(<rsc_tabl>,<hil_proc>, ...)
For RPMsg master:
* proc = hil_create_proc(<hil_proc_ops>)
* hil_set_rpmsg_channel()
* hil_set_shm()
* hil_set_ipi()
* remoteproc_resource_init(<rsc_tabl>,<hil_proc>, ...)
Signed-off-by: Wendy Liang <jliang@xilinx.com>
This patch is to:
* hide hil_proc data struct details from user
* not to introduce new data structure for user to understand
Here is the new flow:
For RPMsg slave:
* proc = hil_create_proc(<hil_proc_ops>)
* hil_set_rpmsg_channel()
* hil_set_ipi()
* remoteproc_resource_init(<rsc_tabl>,<hil_proc>, ...)
For RPMsg master:
* proc = hil_create_proc(<hil_proc_ops>)
* hil_set_rpmsg_channel()
* hil_set_shm()
* hil_set_ipi()
* remoteproc_resource_init(<rsc_tabl>,<hil_proc>, ...)
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Introduce openamp_print
Add openamp_print() instead of directly using printf for
printing in OpenAMP repo.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add openamp_print() instead of directly using printf for
printing in OpenAMP repo.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Apps: update zynqmp example
Update the ZynqMP example to move the firmware run on
TCM instead of OCM.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Update the ZynqMP example to move the firmware run on
TCM instead of OCM.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Apps: move linux helper to linux/machine
As the application initialization is system dependent,
move the helper.c which for the system initialization
to linux/machine.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As the application initialization is system dependent,
move the helper.c which for the system initialization
to linux/machine.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add DTSI example to OpenAMP in Linux userspace
Add the DTSI example to OpenAMP in Linux userspace.
The example is for Xilinx Zynq Ultrascale+ MPSoC.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add the DTSI example to OpenAMP in Linux userspace.
The example is for Xilinx Zynq Ultrascale+ MPSoC.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
zynq_remoteproc: solve the atomic warning
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
add option to exclude dependency check
Add option to avoid checking for pre-existence of libmetal.a.
Add option to avoid checking external include existence.
This is needed in case cmake is invoked before those others are created.
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
Add option to avoid checking for pre-existence of libmetal.a.
Add option to avoid checking external include existence.
This is needed in case cmake is invoked before those others are created.
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
add explicit include to errno.h
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
add freertos env
env_sleep_msec is needed by openamp lib.
this will eventually disapear when moved to libmetal.
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
env_sleep_msec is needed by openamp lib.
this will eventually disapear when moved to libmetal.
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
matrix_multiplyd clarify main loop
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
rpc_demo code cleanup
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
echo_testd simplify main loop
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
cleanup: const definition, unused includes,...
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
CMake: generic: ZynqMP R5: udpate to use libxil, libmetal
Update ZynqMP R5 generic CMake toolchain file to use libxil, libmetal
libraries.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Update ZynqMP R5 generic CMake toolchain file to use libxil, libmetal
libraries.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
CMake: Zynq: generic: update to use xil,metal lib
Default Zynq generic CMake toolchain file is updated to use libxil and
libmetal libraries.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Default Zynq generic CMake toolchain file is updated to use libxil and
libmetal libraries.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Apps: Remove the need to have old Zynq includes
Remove the need to have old Zynq include headers.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove the need to have old Zynq include headers.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Apps: CMake: allow system machine linker option
Allow to specify system/machine specific linker option.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Allow to specify system/machine specific linker option.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Apps: ZynqMP R5: specify full linker script option
Instead of just specifying the linker script, specify the
system machine specific linker option.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Instead of just specifying the linker script, specify the
system machine specific linker option.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Apps: Zynq: Update to use libmetal I/O and device
Update Zynq generic system implementation to use libmetal I/O and
device APIs
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Update Zynq generic system implementation to use libmetal I/O and
device APIs
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove Zynq7 generic system implementation
As the Zynq7 generic system implementation is covered by libmetal,
removed the implementation in the OpenAMP repo.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As the Zynq7 generic system implementation is covered by libmetal,
removed the implementation in the OpenAMP repo.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Zynq remoteproc: update to use libmetal APIs
Update the Zynq remoteproc driver to user libmetal I/O region
for IPI, and implement the hil_proc poll() for application to
poll if virings are notified.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Update the Zynq remoteproc driver to user libmetal I/O region
for IPI, and implement the hil_proc poll() for application to
poll if virings are notified.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove ZynqMP R5 system/machine specific files
Remove ZynqMP R5 system/machine specific files
as they are no longer required.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove ZynqMP R5 system/machine specific files
as they are no longer required.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Update CMake files to compile OpenAMP for Linux
This patch is to enable to build OpenAMP for Linux
userspace.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
This patch is to enable to build OpenAMP for Linux
userspace.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Apps: Add Linux and ZynqMP layer
Add the Linux system and ZynqMP layer to do the ZynqMP
Linux system specific initialization.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add the Linux system and ZynqMP layer to do the ZynqMP
Linux system specific initialization.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add Linux env
this is to add the OpenAMO Linux evnvironment layer.
This is a temporary workaround as the sleep and timestamp is not
implemented in the libmetal yet.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
this is to add the OpenAMO Linux evnvironment layer.
This is a temporary workaround as the sleep and timestamp is not
implemented in the libmetal yet.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add proxy deamon service demo application
This application will listen the proxy RPMsg
endpoint, it will implement the file operations
specified in the RPMsg.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
This application will listen the proxy RPMsg
endpoint, it will implement the file operations
specified in the RPMsg.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add matrix multiplication client demo application
This application is to generate random 6*6 matrices, send them
to the remote, and wait for the result, and then it will check
if the result is as expected.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
This application is to generate random 6*6 matrices, send them
to the remote, and wait for the result, and then it will check
if the result is as expected.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add echo_test client demo applicaiton
This application is to send message to the other end
and wait for the other end to send it back and check if
the message echoed back is the same as expected.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
This application is to send message to the other end
and wait for the other end to send it back and check if
the message echoed back is the same as expected.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add zynqMP APU to RPU remoteproc driver
This driver is used to trigger IPI if application has
a message to send, or for applicaiton to morning the IPI
and vrings to see if there was message sent from the RPU
is available.
It polls the IPI ISR to see if the other side kicks the APU.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
This driver is used to trigger IPI if application has
a message to send, or for applicaiton to morning the IPI
and vrings to see if there was message sent from the RPU
is available.
It polls the IPI ISR to see if the other side kicks the APU.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
env: introduce OpenAMP debug
If OPENAMP_DEBUG is defined, enable to use openamp_dbg
to print debugging messages.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
If OPENAMP_DEBUG is defined, enable to use openamp_dbg
to print debugging messages.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
OpenAMP: env: remove unused env funcitons
Remove the following env functions which have been replaced
by the libmetal functions:
* locking
* va to pa conversion and vice versa
* interrupt handling
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove the following env functions which have been replaced
by the libmetal functions:
* locking
* va to pa conversion and vice versa
* interrupt handling
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace alloc/free memory with the libmetal APIs
Replace:
* env_allocate_memory with metal_allocate_memory
* env_free_memory with metal_free_memory
Replace:
* env_allocate_memory with metal_allocate_memory
* env_free_memory with metal_free_memory
remoteproc: r5 to a53: remove shm mem map
As the Cortex R5 to A53 remoteproc calls the remoteproc platform
for initialization, the shared memory mapping is done in the
remoteproc platform, remove the duplication from this remoteproc
driver.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As the Cortex R5 to A53 remoteproc calls the remoteproc platform
for initialization, the shared memory mapping is done in the
remoteproc platform, remove the duplication from this remoteproc
driver.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
remoteproc plat: init shmem if required
memory map the shared memory if shared memory is provided.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
memory map the shared memory if shared memory is provided.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
rpc_demo: print to proxy before it send shutdown
Print to the proxy before it sends the ready to shutdown
message to the remote.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Print to the proxy before it sends the ready to shutdown
message to the remote.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
rpmsg_retarget: check if proxy is created
Only do rpmsg_retarget if proxy is created.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Only do rpmsg_retarget if proxy is created.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
remoteproc: shutdown before rpmsg deinit
As the rpmsg deinit will delete the remoteproc,
will need to shutdown the remote before the remoteproc
is deleted.
There should be another fix to do the shutdown after
rpmsg channels shutdown but before deleting the remoteproc.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As the rpmsg deinit will delete the remoteproc,
will need to shutdown the remote before the remoteproc
is deleted.
There should be another fix to do the shutdown after
rpmsg channels shutdown but before deleting the remoteproc.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
remoteproc: not del remoteproc after deinit rpmsg
Remoteproc is deleted when deinit rpmsg, do not delete
the remoteproc again.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remoteproc is deleted when deinit rpmsg, do not delete
the remoteproc again.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use libmetal_memset/memcpy_io for device memory
The default memset/memcpy doesn't always work for device memory as
some architecture assumes device memory access needs to be address aligned.
the libemtal memset/memcpy IO allows unaligned device memory address.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
The default memset/memcpy doesn't always work for device memory as
some architecture assumes device memory access needs to be address aligned.
the libemtal memset/memcpy IO allows unaligned device memory address.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Apps: generic: ZynqMP R5: use libmetal ISR
Use libmetal ISR in ZynqMP R5 generic for interrupt handling.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use libmetal ISR in ZynqMP R5 generic for interrupt handling.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use uintptr_t for firmware addr
Use uintptr_t for firmware address to avoid compilation warning
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use uintptr_t for firmware address to avoid compilation warning
Signed-off-by: Wendy Liang <jliang@xilinx.com>
remoteproc: zynqmp_r5: Update to use libmetal irq
Update ZynqMP R5 remoteproc driver to use libmetal IRQ APIs
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Update ZynqMP R5 remoteproc driver to use libmetal IRQ APIs
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Apps: remoteproc slave: use hil_poll()
Use hil_poll() to wait for remoteproc to be signaled.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use hil_poll() to wait for remoteproc to be signaled.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Apps: platform info: ZynqMP r5: update IPI info
Add sync lock to IPI info, it is used by the remoteproc driver
to know if the vring is signaled by the other end.
This is dependent to the remoteproc driver implementation.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add sync lock to IPI info, it is used by the remoteproc driver
to know if the vring is signaled by the other end.
This is dependent to the remoteproc driver implementation.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Apps: remoteproc slave: user libmetal dev
Update the remoteproc slave applications to use libmetal device
for platform initialization.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Update the remoteproc slave applications to use libmetal device
for platform initialization.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Apps: platform init: ZynqMP r5: use libmetal dev
Use libmetal device in the platform initialization data
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use libmetal device in the platform initialization data
Signed-off-by: Wendy Liang <jliang@xilinx.com>
rpmsg proxy: Use hil_proc poll to wait
Use hil_proc poll() API to wait for remoteproc to be signaled.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use hil_proc poll() API to wait for remoteproc to be signaled.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Zynqmp R5 remoteproc: implement poll function
Implement the poll() function in the ZynqMP R5 driver.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Implement the poll() function in the ZynqMP R5 driver.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add hil_proc poll()
Add hil_proc poll() for user to poll if the remoteproc has been
signaled.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add hil_proc poll() for user to poll if the remoteproc has been
signaled.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
virtqueue: Use I/O region for pa to va convertion
In the virtqueue implementation, use I/O region for the physical
address to virtual address converstion.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
In the virtqueue implementation, use I/O region for the physical
address to virtual address converstion.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove llist from the library
As llist has been replaced with the metal_list and metal_sg,
we can remove the llist from the OpenAMP library.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As llist has been replaced with the metal_list and metal_sg,
we can remove the llist from the OpenAMP library.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
virtqueue: Add shared memory I/O region
Add shared memory I/O region to the virtqueue struct.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add shared memory I/O region to the virtqueue struct.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace llist rpmsg buf with libmetal scatter/gather list
Use libmetal scatter/gather list to replace the llist buffers.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use libmetal scatter/gather list to replace the llist buffers.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
remoteproc: rsc table: use libmetal to map memory
Use libmetal memory map API to do memory mapping.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use libmetal memory map API to do memory mapping.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
remoteproc: ZynqMP R5: remove flushing caches
We should not flush all caches in the remoteproc driver when
it receives a kick from the other end or before it kick the
other end.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
We should not flush all caches in the remoteproc driver when
it receives a kick from the other end or before it kick the
other end.
Signed-off-by: Wendy Liang <jliang@xilinx.com>