aboutsummaryrefslogtreecommitdiff
path: root/platform/interface/device_region.h
blob: 1ad1721bcfb3f3ab6e1372d100efd2cceed7a49f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*
 * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

#ifndef TS_PLATFORM_INTERFACE_DEVICE_REGION_H
#define TS_PLATFORM_INTERFACE_DEVICE_REGION_H

#include <stddef.h>
#include <stdint.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * Defines a structure for describing a contiguous IO memory region
 * and other configuration information about a peripheral.  This may be based on
 * buildtime or runtime configuration information e.g. from device tree.
 */
struct device_region
{
    char dev_class[16];     /**< Identifier for class of device e.g. 'trng' */
    int dev_instance;       /**< Instance of the class of device on a platform */
    uint8_t *base_addr;     /**< Base address or region */
    size_t io_region_size;  /**< Size of I/O region in bytes */
};

#ifdef __cplusplus
}
#endif

#endif /* TS_PLATFORM_INTERFACE_DEVICE_REGION_H */