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>
ZynqMP: init hil_proc with remoteproc plat API
Initialize the hil_proc with remoteproc platform API.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Initialize the hil_proc with remoteproc platform API.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add remoteproc platform APIs
Add remoteproc platform APIs to setup the hil_proc
with the input platform user data.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add remoteproc platform APIs to setup the hil_proc
with the input platform user data.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
rpmsg: run cache ops against cacheable buffers
If the shared buffers are cacheable, flush cache
before it enqueues the buffer to send, and invalidate
cache before it reads the buffer to receive.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
If the shared buffers are cacheable, flush cache
before it enqueues the buffer to send, and invalidate
cache before it reads the buffer to receive.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add metal device and I/O region to hil_proc
Add metal_device and I/O region to the following hil_proc elements:
* vring
* vring IPI
* shm (shared memory)
So that later, can use the metal device, I/O region to access the
device and the shared memory.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add metal_device and I/O region to the following hil_proc elements:
* vring
* vring IPI
* shm (shared memory)
So that later, can use the metal device, I/O region to access the
device and the shared memory.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
zynqmp remoteproc: cleanup IPI in the driver probe
This patch is to clean up the IPI interrupts in the driver probe()
function.
It assumes the other end will not start triggering IPI until it
finish initialization.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
This patch is to clean up the IPI interrupts in the driver probe()
function.
It assumes the other end will not start triggering IPI until it
finish initialization.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Zynq7 master: Add the firmware table to app init
Add the firmware table to the application initialization.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add the firmware table to the application initialization.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
firmware: move the firmware table out from lib
Move the predefined firmware table out from the library.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Move the predefined firmware table out from the library.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
remoteproc: remove system cleanup related from lib
Remove the metal_finish() and cache invalidation/disabling
from remoteproc lib as these are related to system cleanup.
They should be called from application instead.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove the metal_finish() and cache invalidation/disabling
from remoteproc lib as these are related to system cleanup.
They should be called from application instead.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Apps: do the system cleanup in the app
Add cleanup function in the app to do the system cleanup.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add cleanup function in the app to do the system cleanup.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Apps: generic: Zynq7: add cleanup API
Add system/platform dependent API to do the system cleanup.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add system/platform dependent API to do the system cleanup.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Apps: generic: ZynqMP R5: add cleanup API
Add system/platform dependent API to do the system cleanup.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add system/platform dependent API to do the system cleanup.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
app: Update init data def due to hil_proc change
Update the machine initialization data definition due
to the change of hil_proc struct.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Update the machine initialization data definition due
to the change of hil_proc struct.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Introduce hil_proc rsc header and rsc data struct
Introduce hil_proc resource header
so that user can specify their hardware resource in such a format:
{
<resource_header>
<user_defined_resource>
}
User don't have to define the full hil_proc in their application.
This way can sperate data structure definition from internal
implementation and user input.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Introduce hil_proc resource header
so that user can specify their hardware resource in such a format:
{
<resource_header>
<user_defined_resource>
}
User don't have to define the full hil_proc in their application.
This way can sperate data structure definition from internal
implementation and user input.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
apps: pass RPMsg role to remoteproc init API
As it is required to pass RPMsg role argument to
remoteproc_resource_init(), we need to give this
argument in the caller function in the demo apps.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As it is required to pass RPMsg role argument to
remoteproc_resource_init(), we need to give this
argument in the caller function in the demo apps.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
remoteproc: Add support for peers without firmware
Add support for initiating communication with a peer that does
not carry any firmware package. This is for example useful
when the remote processor already is running.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add support for initiating communication with a peer that does
not carry any firmware package. This is for example useful
when the remote processor already is running.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
remoteproc: remove ipi deinit function
Each remoteproc driver is responsible to define the way to handle
IPI interrupt after the remoteproc resource is deleted.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Each remoteproc driver is responsible to define the way to handle
IPI interrupt after the remoteproc resource is deleted.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add checking stdatomic header file checking
Check wheter stdatomic header file exists, if not, use the
atomic operations defined in libmetal, if not, use the
atomic operations defined in libmetal.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Check wheter stdatomic header file exists, if not, use the
atomic operations defined in libmetal, if not, use the
atomic operations defined in libmetal.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Zynq7:platform_patova: return the correct va
This patch is to correct the pa to va conversion
in zynq7 generic.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
This patch is to correct the pa to va conversion
in zynq7 generic.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
rpmsg: Not convert va to pa when getting tx/rx buf
Logical address should be used of the buffer got from
rpmsg_get_tx_buffer. We should not convert logical
address back to physical address for the buffer need to
be returned.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Logical address should be used of the buffer got from
rpmsg_get_tx_buffer. We should not convert logical
address back to physical address for the buffer need to
be returned.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
hil_proc: Use logical address in proc_vring
It is not necessary to maintain the physical address in hil_proc,
and actually the physical address field phy_addr is already used
as logical address. This patch is to rename the physical address
data field to logical address.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
It is not necessary to maintain the physical address in hil_proc,
and actually the physical address field phy_addr is already used
as logical address. This patch is to rename the physical address
data field to logical address.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
hil_proc: initialize with proc->ops->initialize()
Use proc->ops->initialize() for the remote processor initialization,
which will initialize the hil_proc and memory map the shared
memory specified in proc_shm.
The hil_create_proc() will only link the initialized hil_proc
to the hil_proc list.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use proc->ops->initialize() for the remote processor initialization,
which will initialize the hil_proc and memory map the shared
memory specified in proc_shm.
The hil_create_proc() will only link the initialized hil_proc
to the hil_proc list.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
hil_proc: use proc->ops->release()
Use proc->ops->release() to release resource of each remote
proc driver. This allow each remote processor to define its
own resource release function.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use proc->ops->release() to release resource of each remote
proc driver. This allow each remote processor to define its
own resource release function.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
hil_proc: introduce release()
Introduce remoteproc specific release() to release
resource of a remote processor.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Introduce remoteproc specific release() to release
resource of a remote processor.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
zynqmp_r5 remoteproc: remove platform_get_processor_for_fw()
This function was to get the CPU ID (the index in
the proc_table which is a table to keep the remoteproc
platform data) from firmware.
However, the user application should know which platform
data in the table to initialize which remote processor.
It is not necessary to to have this function, and not
necessary to have the "CPU ID" in the firmware.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
This function was to get the CPU ID (the index in
the proc_table which is a table to keep the remoteproc
platform data) from firmware.
However, the user application should know which platform
data in the table to initialize which remote processor.
It is not necessary to to have this function, and not
necessary to have the "CPU ID" in the firmware.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
apps: zynq: remove platform_get_processor_for_fw()
This function was to get the CPU ID (the index in
the proc_table which is a table to keep the remoteproc
platform data) from firmware.
However, the user application should know which platform
data in the table to initialize which remote processor.
It is not necessary to to have this function, and not
necessary to have the "CPU ID" in the firmware.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
This function was to get the CPU ID (the index in
the proc_table which is a table to keep the remoteproc
platform data) from firmware.
However, the user application should know which platform
data in the table to initialize which remote processor.
It is not necessary to to have this function, and not
necessary to have the "CPU ID" in the firmware.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove hil_get_cpuforfw()
As it is no longer required to specify CPU ID in the firmware,
remove the hil_get_cpuforfw().
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As it is no longer required to specify CPU ID in the firmware,
remove the hil_get_cpuforfw().
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove platform_get_processor_info() from hil_proc
As platform_get_processor_info() is no longer used, remove it
from hil_proc extern declaration.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As platform_get_processor_info() is no longer used, remove it
from hil_proc extern declaration.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
remoteproc: Remove getting CPU Id from firmware
The CPU ID is the ID defined in the remoteproc data table
in the application, the user application should know
what what data should be used to do the remoteproc initialization.
It is not necessary to have CPU ID in the firmware.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
The CPU ID is the ID defined in the remoteproc data table
in the application, the user application should know
what what data should be used to do the remoteproc initialization.
It is not necessary to have CPU ID in the firmware.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
apps: update calling the remoteproc init API
As the remoteproc init API has changed, update how to call the API
in the demo applications.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As the remoteproc init API has changed, update how to call the API
in the demo applications.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
apps: zynq7: remove setting rproc platform data funciton
Setting data function is defined in the remoteproc driver.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Setting data function is defined in the remoteproc driver.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
apps: zynqmp r5: remove extra remoteproc information
Remove not used remoteproc data from the remote proc data table.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove not used remoteproc data from the remote proc data table.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
zynq a9 remoteproc: implement _initialize()
Add _initialize() implementation to have remoteproc
driver specific initialization.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add _initialize() implementation to have remoteproc
driver specific initialization.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
zynqmp r5 remoteproc: implement _initialize()
Add _initialize() implementation to have remoteproc
driver specific initialization.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add _initialize() implementation to have remoteproc
driver specific initialization.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Make platform data as remote proc init input
Previously, the library relies on extern platform data variable.
This patch changes the remote processor initialization API to
have platform data as input argument and also allows each
remoteproc driver to have its own initialization implementation.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Previously, the library relies on extern platform data variable.
This patch changes the remote processor initialization API to
have platform data as input argument and also allows each
remoteproc driver to have its own initialization implementation.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add initialize() hil_proc API
Introduce initialize() hil_proc API to set platform data for
each remoteproc processor.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Introduce initialize() hil_proc API to set platform data for
each remoteproc processor.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
rproc init: remove system init
System init should be done outside the OpenAMP library.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
System init should be done outside the OpenAMP library.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
rpmsg_init: caller to control whether to init env
Add parameter to rpmsg_init() to allow caller to specify
whether to initialize environment in the function.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add parameter to rpmsg_init() to allow caller to specify
whether to initialize environment in the function.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace llist with metal_list for rpmsg endpoint
Use metal_list to keep rpmsg endpoints
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use metal_list to keep rpmsg endpoints
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace llist with metal_list for rpmsg channels
Use metal_list for rpmsg_channels.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use metal_list for rpmsg_channels.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Apps: add list node in platform info new hil_proc
There is metal_list node added to hil_proc struct.
Add its field to the prefilled platform data.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
There is metal_list node added to hil_proc struct.
Add its field to the prefilled platform data.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
port hil_proc to use metal_list
use metal_list instead of llist in hil_proc.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
use metal_list instead of llist in hil_proc.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
replace env_print with printf
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove OpenAMP env_print and env_assert
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Introduce RPMSG_ASSERT
Remove OpenAMP env assert.
Similar to virtqueue assert, introduce RPMSG_ASSERT
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove OpenAMP env assert.
Similar to virtqueue assert, introduce RPMSG_ASSERT
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove memory barrier definition from OpenAMP env
As we use atomic operations to setup memory fence.
It is not required to define memory barrier in
OpenAMP.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As we use atomic operations to setup memory fence.
It is not required to define memory barrier in
OpenAMP.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace OpenAMP memory barrier with atomic operation
Use atomic_thread_fence() to setup memory fence.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use atomic_thread_fence() to setup memory fence.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
remove memory barrier from zynqmp remoteproc driver
As memory barrier is already called in virtio before
kicking the remote. It is not required to call again before
raising the IPI interrupt.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As memory barrier is already called in virtio before
kicking the remote. It is not required to call again before
raising the IPI interrupt.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove env_strncmp()
env_strncmp() has been replaced with strncmp().
Signed-off-by: Wendy Liang <jliang@xilinx.com>
env_strncmp() has been replaced with strncmp().
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace env_strncmp() wisth strncmp()
Replace env_strncmp() with standard C function strncmp().
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace env_strncmp() with standard C function strncmp().
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove env_strcmp()
env_strcmp() has been replaced by strcmp()
Signed-off-by: Wendy Liang <jliang@xilinx.com>
env_strcmp() has been replaced by strcmp()
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace env_strcmp() with strcmp()
Repalce env_strcmp() with standard c function strcmp().
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Repalce env_strcmp() with standard c function strcmp().
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove env_strncpy()
env_strncpy has been replaced by strncpy().
Signed-off-by: Wendy Liang <jliang@xilinx.com>
env_strncpy has been replaced by strncpy().
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace env_strncpy() with strncpy()
Replace env_strncpy() with strncpy() standard C function.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace env_strncpy() with strncpy() standard C function.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove undefined env_strcpy()
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove undefined env_strlen()
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove env_memcpy()
env_memcpy() has been replaced by memcpy()
Signed-off-by: Wendy Liang <jliang@xilinx.com>
env_memcpy() has been replaced by memcpy()
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace env_memcpy() with memcpy()
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove env_memset()
Use ANSI C memset() instead.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use ANSI C memset() instead.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace env_memset() with memset()
There is memset() in standard C.
There is no need to redefine env_memset()
Signed-off-by: Wendy Liang <jliang@xilinx.com>
There is memset() in standard C.
There is no need to redefine env_memset()
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove env_init()
As env_init() has been replaced with metal_init(),
remove it from the code.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As env_init() has been replaced with metal_init(),
remove it from the code.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace env_init() with metal_init()
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
sh_mem.c: Remove unused status var
Removed unused status variable in shared memory
create pool function.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Removed unused status variable in shared memory
create pool function.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove OpenAMP env mutex implementation
As libmetal mutex has been ported to OpenAMP,
remove the OpenAMP env mutex implementation.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As libmetal mutex has been ported to OpenAMP,
remove the OpenAMP env mutex implementation.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace ENV mutex with the libmetal mutex
This patch is to replace the OpoenAMP env mutex with
the libmetal mutex.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
This patch is to replace the OpoenAMP env mutex with
the libmetal mutex.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add libmetal to the libraries to build OpenAMP app
Add libmetal to the libraries list required to build
the OpenAMP example app.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add libmetal to the libraries list required to build
the OpenAMP example app.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Check libmetal include dir
Add libmetal include directory when buildling
OpenAMP library.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add libmetal include directory when buildling
OpenAMP library.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add CMake depends to check OpenAMP dependencies
Introduce depends.cmake to check dependencies for
OpenAMP library.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Introduce depends.cmake to check dependencies for
OpenAMP library.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add CMake module for look for libmetal
Add a CMake module to look for the libmetal library
and header files.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add a CMake module to look for the libmetal library
and header files.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
ZynqMP_R5: Add support to out of repo libxil
Allow CMake to search for libxil and its header files.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Allow CMake to search for libxil and its header files.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
shared mem: fix the get first zero bit function
The previous API doesn't work on 64bit machine.
This patch is to fix it.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
The previous API doesn't work on 64bit machine.
This patch is to fix it.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
swap the trace and devmem rsc handler
Match the resource handlers sequence in the resource
handlers table to the resource type definition sequence.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Match the resource handlers sequence in the resource
handlers table to the resource type definition sequence.
Signed-off-by: Wendy Liang <jliang@xilinx.com>