* Copyright (c) 2014, Mentor Graphics Corporation
* All rights reserved.
* Copyright (c) 2016 Xilinx, Inc. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
* This file populates resource table for BM remote
* for use by the Linux host
*/
#include <openamp/open_amp.h>
#include "rsc_table.h"
#define RPMSG_VDEV_DFEATURES (1 << VIRTIO_RPMSG_F_NS)
#define VIRTIO_ID_RPMSG_ 7
#define NUM_VRINGS 0x02
#define VRING_ALIGN 0x1000
#define RING_TX 0x00004000
#define RING_RX 0x00008000
#define VRING_SIZE 256
#define NUM_TABLE_ENTRIES 1
struct remote_resource_table resources = {
1,
NUM_TABLE_ENTRIES,
{0, 0,},
{
offsetof(struct remote_resource_table, rpmsg_vdev),
},
{
RSC_VDEV, VIRTIO_ID_RPMSG_, 0, RPMSG_VDEV_DFEATURES, 0, 0, 0,
NUM_VRINGS, {0, 0},
},
{RING_TX, VRING_ALIGN, VRING_SIZE, 1, 0},
{RING_RX, VRING_ALIGN, VRING_SIZE, 2, 0},
};
void *get_resource_table (int rsc_id, int *len)
{
(void) rsc_id;
*len = sizeof(resources);
return &resources;
}