Software APIs
device_silicon.c
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#include <stdbool.h>
6
8
9/**
10 * Device-specific symbol definitions for the Silicon device.
11 */
12
14
15const uint64_t kClockFreqCpuMhz = 100;
16
17const uint64_t kClockFreqCpuHz = kClockFreqCpuMhz * 1000 * 1000;
18
19uint64_t to_cpu_cycles(uint64_t usec) { return usec * kClockFreqCpuMhz; }
20
21const uint64_t kClockFreqHiSpeedPeripheralHz = 96 * 1000 * 1000; // 96MHz
22
23const uint64_t kClockFreqPeripheralHz = 24 * 1000 * 1000; // 24MHz
24
25const uint64_t kClockFreqUsbHz = 48 * 1000 * 1000; // 48MHz
26
27const uint64_t kClockFreqAonHz = 200 * 1000; // 200kHz
28
29const uint64_t kUartBaudrate = 115200;
30
31const uint32_t kUartNCOValue =
32 CALCULATE_UART_NCO(kUartBaudrate, kClockFreqPeripheralHz);
33
34const uint32_t kUartBaud115K =
35 CALCULATE_UART_NCO(115200, kClockFreqPeripheralHz);
36const uint32_t kUartBaud230K =
37 CALCULATE_UART_NCO(115200 * 2, kClockFreqPeripheralHz);
38const uint32_t kUartBaud460K =
39 CALCULATE_UART_NCO(115200 * 4, kClockFreqPeripheralHz);
40const uint32_t kUartBaud921K =
41 CALCULATE_UART_NCO(115200 * 8, kClockFreqPeripheralHz);
42const uint32_t kUartBaud1M33 =
43 CALCULATE_UART_NCO(1333333, kClockFreqPeripheralHz);
44const uint32_t kUartBaud1M50 =
45 CALCULATE_UART_NCO(1500000, kClockFreqPeripheralHz);
46
47const uint32_t kAstCheckPollCpuCycles =
49
50uintptr_t device_test_status_address(void) { return 0; }
51
52uintptr_t device_log_bypass_uart_address(void) { return 0; }