<?xml version="1.0" encoding="utf-8" standalone="no"?>
<IP xmlns="http://mcd.rou.st.com/modules.php?name=mcu" 
    xmlns:ns0="http://www.w3.org/2001/XMLSchema-instance" 
    CodeTemplate="" 
    DBVersion="V4.0" 
    IncludeFile="cmsis_os.h" 
    Name="OPENAMP" 
    RootFolder="Middlewares/Third_Party/OpenAMP/" 
    Version=""
    ns0:schemaLocation="http://mcd.rou.st.com/modules.php?name=mcu ../../../../../../../doc/V4/Development/Specifications/db/IP_Configs.xsd">

<RefConfig Comment="" Name="OPENAMP_Init">
        <Component Name="Middleware:OPENAMP"/>
        <ConfigFile Name="OPENAMP_CONF_H"/>
        <ConfigFile Name="MBOX_HSEM_H"/>
        <ConfigFile Name="OPENAMP_H"/>
        <ConfigFile Name="RSC_TABLE_H"/>
        <ConfigFile Name="OPENAMP_C"/>
        <ConfigFile Name="MBOX_HSEM_C"/>
        <ConfigFile Name="RSC_TABLE_C"/>
		<Defines Name="METAL_INTERNAL"/><!---Always defined for CM4 and CM7!-->
		<Defines Name="METAL_MAX_DEVICE_REGIONS" Value="$METAL_MAX_DEVICE_REGIONS_NUMBER"/> <!---If not defined the default value is 1, customizable by the user Max Value to 32-->
		<Defines Name="RPMSG_BUFFER_SIZE" Value="$RPMSG_BUFFER_SIZE"/> <!-- Default value 512, Cannot be 0, customizable by user-->
		<Defines Name="VIRTIO_MASTER_ONLY" Condition="S_MASTER_MODE_SET$context"/>
        <Defines Name="VIRTIO_SLAVE_ONLY" Condition="S_SLAVE_MODE_SET$context"/>
 	    <Defines Name="RPMSG_BUFFER_SIZE"/>
		<Defines Name="NO_ATOMIC_64_SUPPORT"/> <!---Always defined for CM4 and CM7-->
    </RefConfig>
    <RefComponent Cclass="Middleware" Cgroup="OPENAMP"  Cversion="1.0.0">				
	    <File Category="header" Name="open-amp/lib/include/*"/>
        <File Category="header" Name="libmetal/lib/include/*"/>
		<File Category="header" Name="virtual_driver/*"/>
		<File Category="header" Name="open-amp/lib/rpmsg/*"/>
		<File Category="source" Name="libmetal/lib/device.c"/>
		<File Category="source" Name="libmetal/lib/init.c"/>
		<File Category="source" Name="libmetal/lib/io.c"/>
		<File Category="source" Name="libmetal/lib/log.c"/>
		<File Category="source" Name="libmetal/lib/shmem.c"/>
		<File Category="source" Name="libmetal/lib/system/generic/condition.c"/>
		
	<!---Only for MDK-ARM KEIL!-->
		<File Category="source" Condition="KEIL_CM4;SIiTcompilerIiARMCC" Name="libmetal/lib/system/generic/irq.c"/>
		
		<File Category="source" Name="libmetal/lib/system/generic/generic_device.c"/>
		<File Category="source" Name="libmetal/lib/system/generic/generic_init.c"/>
		<File Category="source" Name="libmetal/lib/system/generic/generic_io.c"/>
		<File Category="source" Name="libmetal/lib/system/generic/generic_shmem.c"/>
		<File Category="source" Name="libmetal/lib/system/generic/time.c"/>
		<File Category="source" Name="open-amp/lib/remoteproc/remoteproc_virtio.c"/>
		<File Category="source" Name="open-amp/lib/rpmsg/rpmsg.c"/>
		<File Category="source" Name="open-amp/lib/rpmsg/rpmsg_virtio.c"/>
		<File Category="source" Name="open-amp/lib/virtio/virtio.c"/>
		<File Category="source" Name="open-amp/lib/virtio/virtqueue.c"/>
		<File Category="source" Name="libmetal/lib/system/generic/cortexm/sys.c"/>
    </RefComponent>

   <RefConfigFile Description="File manager wrapper definition : header file" Name="OPENAMP_CONF_H" Template="h7_openamp_conf_h.ftl">
        <File Category="header" Condition="all" Name="openamp_conf.h" Version=""/>
    <!--<Argument Name="SHM_START_ADDRESS" GenericType="Simple" Comment=""/>
        <Argument Name="SHM_SIZE" GenericType="Simple" Comment=""/>
        <Argument Name="VRING_RX_ADDRESS" GenericType="Simple" Comment=""/>
        <Argument Name="VRING_TX_ADDRESS" GenericType="Simple" Comment=""/>
        <Argument Name="VRING_BUFF_ADDRESS" GenericType="Simple" Comment=""/>
        <Argument Name="VRING_ALIGNMENT" GenericType="Simple" Comment=""/>
        <Argument Name="VRING_NUM_BUFFS" GenericType="Simple" Comment=""/> -->
        <Argument Name="NUM_RESOURCE_ENTRIES" GenericType="Simple" Comment=""/>
        <Argument Name="VRING_COUNT" GenericType="Simple" Comment=""/>
        <Argument Name="VDEV_ID" GenericType="Simple" Comment=""/>
        <Argument Name="VRING0_ID" GenericType="Simple" Comment=""/>
        <Argument Name="VRING1_ID" GenericType="Simple" Comment=""/>
    </RefConfigFile>
    
    <RefConfigFile Description="File manager wrapper definition : header file" Name="MBOX_HSEM_H" Template="h7_mbox_hsem_h.ftl">
        <File Category="header" Condition="all" Name="mbox_hsem.h" Version=""/>
    </RefConfigFile>

    <RefConfigFile Description="File manager wrapper definition : header file" Name="OPENAMP_H" Template="h7_openamp_h.ftl">
        <File Category="header" Condition="all" Name="openamp.h" Version=""/>
    </RefConfigFile>

    <RefConfigFile Description="File manager wrapper definition : header file" Name="RSC_TABLE_H" Template="h7_rsc_table_h.ftl">
        <File Category="header" Condition="all" Name="rsc_table.h" Version=""/>
    </RefConfigFile>

    <RefConfigFile Description="File manager wrapper definition : source file" Name="MBOX_HSEM_C" Template="h7_mbox_hsem_c.ftl">
        <File Category="source" Condition="all" Name="mbox_hsem.c" Version=""/>
    </RefConfigFile>

    <RefConfigFile Description="File manager wrapper definition : source file" Name="OPENAMP_C" Template="h7_openamp_c.ftl">
        <File Category="source" Condition="all" Name="openamp.c" Version=""/>
    </RefConfigFile>
    
    <RefConfigFile Description="File manager wrapper definition : source file" Name="RSC_TABLE_C" Template="h7_rsc_table_c.ftl">
        <File Category="source" Condition="all" Name="rsc_table.c" Version=""/>
    </RefConfigFile>
</IP>