summaryrefslogtreecommitdiff
path: root/riscv/riscv-probe/libfemto/include/auxval.h
blob: de108243640d3a8179b85cffb1dd8a54b47f3b14 (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
// See LICENSE for license details.

#pragma once

#ifdef __cplusplus
extern "C" {
#endif

enum {
    HART0_CLOCK_FREQ           = 0x00010000,
    UART0_CLOCK_FREQ           = 0x00011000,
    UART0_BAUD_RATE            = 0x00011100,
    NS16550A_UART0_CTRL_ADDR   = 0x00030000,
    RISCV_HTIF_BASE_ADDR       = 0x00050000,
    SIFIVE_CLINT_CTRL_ADDR     = 0x55550000,
    SIFIVE_CLIC_CRTL_ADDR      = 0x55550001,
    SIFIVE_TEST_CTRL_ADDR      = 0x55550002,
    SIFIVE_UART0_CTRL_ADDR     = 0x55550010,
    SIFIVE_GPIO0_CTRL_ADDR     = 0x55550020,
    SIFIVE_SPI0_CTRL_ADDR      = 0x55550030,
};

typedef struct auxval {
    unsigned long key;
    unsigned long val;
} auxval_t;

extern auxval_t __auxv[];

unsigned long getauxval(unsigned long key);

#ifdef __cplusplus
}
#endif