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