Software APIs
Main Page
File List
Globals
All
a
b
c
d
e
g
h
i
k
l
m
o
p
r
s
t
u
w
Functions
a
b
c
d
g
h
i
l
m
o
p
r
s
t
u
w
Variables
k
t
Typedefs
a
b
c
d
h
i
l
m
o
r
s
t
u
Enumerations
b
d
h
i
l
o
s
t
Enumerator
k
Macros
a
c
d
e
h
i
l
m
o
p
s
t
u
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Functions
a
b
c
d
e
f
g
h
i
k
m
o
p
r
s
t
w
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Enumerations
Enumerator
sw
device
examples
demos.h
1
// Copyright lowRISC contributors (OpenTitan project).
2
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
3
// SPDX-License-Identifier: Apache-2.0
4
5
#ifndef OPENTITAN_SW_DEVICE_EXAMPLES_DEMOS_H_
6
#define OPENTITAN_SW_DEVICE_EXAMPLES_DEMOS_H_
7
8
#include <
stdint.h
>
9
10
#include "
sw/device/lib/dif/dif_gpio.h
"
11
#include "
sw/device/lib/dif/dif_uart.h
"
12
13
/**
14
* This header provides a small library of reuseable demos for use with
15
* OpenTitan example code.
16
*/
17
18
/**
19
* Runs a small demo on the GPIO pins to show that things are working.
20
*
21
* @param gpio the GPIO device to actuate.
22
*/
23
void
demo_gpio_startup(dif_gpio_t *gpio);
24
25
/**
26
* Executes a step of a GPIO -> LOG echo demo, by diffing
27
* the previous GPIO state with the current state, and reporting
28
* the difference.
29
*
30
* The new state is returned, so it can be passed in on the next
31
* iteration.
32
*
33
* @param gpio the GPIO device to pull bits from.
34
* @param prev_gpio_state the previous GPIO state to diff against.
35
* @return the new GPIO state.
36
*/
37
uint32_t demo_gpio_to_log_echo(dif_gpio_t *gpio, uint32_t prev_gpio_state);
38
39
/**
40
* Attempts to read characters from UART and immediately echo them back,
41
* as well as to write its bits to GPIO pins 8-15.
42
*
43
* @param uart the UART device to actuate.
44
* @param gpio the GPIO device to actuate.
45
*/
46
void
demo_uart_to_uart_and_gpio_echo(dif_uart_t *uart, dif_gpio_t *gpio);
47
48
#endif
// OPENTITAN_SW_DEVICE_EXAMPLES_DEMOS_H_
Return to
OpenTitan Documentation