README.md
1<!--
2 Copyright 2020, Data61
3 Commonwealth Scientific and Industrial Research Organisation (CSIRO)
4 ABN 41 687 119 230.
5
6 This software may be distributed and modified according to the terms of
7 the BSD 2-Clause license. Note that NO WARRANTY is provided.
8 See "LICENSE_BSD2.txt" for details.
9
10 @TAG(DATA61_BSD)
11-->
12
13# BPMPServer
14
15This is a CAmkES component that is intended to abstract over the TX2's Boot and
16Power Management Processor (BPMP) co-processor and multiplex client access to
17it.
18
19## Dependencies
20
21This component needs to be used with the `single-threaded` module that performs
22the initialisation process, and client request routing the component relies on.
23
24## Usage
25
26For clients to use the functionality exposed by the component, the clients will
27have to connect to the CAmkES interface that the following CPP defintion
28exposes.
29
30```c
31BPMPServer_server_interfaces(the_bpmp)
32```
33
34The definition exposes a `BPMP` RPC interface that is expected to be connected
35via the `seL4RPCNoThreads` connector. However, there is a helper macro which
36simplifies this process and also registers a BPMP interface on the client's
37interface registration service (`ps_interface_ops_t`).
38
39```c
40BPMPServer_client_connections(client_name, client, server_name, server)
41```
42
43## Supported platforms
44
45The component only supports the TX2 platform as the device is exclusive to the TX2.
46
47## Limitations
48
49There are currently no limitations with this component.
50