]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/freedom-e-sdk/include/sifive/devices/prci.h
Recreate the RISC-V-Qemu demo using Vanilla Eclipse in place of Freedom Studio as...
[freertos] / FreeRTOS / Demo / RISC-V-Qemu-sifive_e-FreedomStudio / freedom-e-sdk / include / sifive / devices / prci.h
1 // See LICENSE for license details.\r
2 \r
3 #ifndef _SIFIVE_PRCI_H\r
4 #define _SIFIVE_PRCI_H\r
5 \r
6 /* Register offsets */\r
7 \r
8 #define PRCI_HFROSCCFG   (0x0000)\r
9 #define PRCI_HFXOSCCFG   (0x0004)\r
10 #define PRCI_PLLCFG      (0x0008)\r
11 #define PRCI_PLLDIV      (0x000C)\r
12 #define PRCI_PROCMONCFG  (0x00F0)\r
13 \r
14 /* Fields */\r
15 #define ROSC_DIV(x)    (((x) & 0x2F) << 0 ) \r
16 #define ROSC_TRIM(x)   (((x) & 0x1F) << 16)\r
17 #define ROSC_EN(x)     (((x) & 0x1 ) << 30) \r
18 #define ROSC_RDY(x)    (((x) & 0x1 ) << 31)\r
19 \r
20 #define XOSC_EN(x)     (((x) & 0x1) << 30)\r
21 #define XOSC_RDY(x)    (((x) & 0x1) << 31)\r
22 \r
23 #define PLL_R(x)       (((x) & 0x7)  << 0)\r
24 // single reserved bit for F LSB.\r
25 #define PLL_F(x)       (((x) & 0x3F) << 4)\r
26 #define PLL_Q(x)       (((x) & 0x3)  << 10)\r
27 #define PLL_SEL(x)     (((x) & 0x1)  << 16)\r
28 #define PLL_REFSEL(x)  (((x) & 0x1)  << 17)\r
29 #define PLL_BYPASS(x)  (((x) & 0x1)  << 18)\r
30 #define PLL_LOCK(x)    (((x) & 0x1)  << 31)\r
31 \r
32 #define PLL_R_default 0x1\r
33 #define PLL_F_default 0x1F\r
34 #define PLL_Q_default 0x3\r
35 \r
36 #define PLL_REFSEL_HFROSC 0x0\r
37 #define PLL_REFSEL_HFXOSC 0x1\r
38 \r
39 #define PLL_SEL_HFROSC 0x0\r
40 #define PLL_SEL_PLL    0x1\r
41 \r
42 #define PLL_FINAL_DIV(x)      (((x) & 0x3F) << 0)\r
43 #define PLL_FINAL_DIV_BY_1(x) (((x) & 0x1 ) << 8)\r
44 \r
45 #define PROCMON_DIV(x)   (((x) & 0x1F) << 0)\r
46 #define PROCMON_TRIM(x)  (((x) & 0x1F) << 8)\r
47 #define PROCMON_EN(x)    (((x) & 0x1)  << 16)\r
48 #define PROCMON_SEL(x)   (((x) & 0x3)  << 24)\r
49 #define PROCMON_NT_EN(x) (((x) & 0x1)  << 28)\r
50 \r
51 #define PROCMON_SEL_HFCLK     0\r
52 #define PROCMON_SEL_HFXOSCIN  1\r
53 #define PROCMON_SEL_PLLOUTDIV 2\r
54 #define PROCMON_SEL_PROCMON   3\r
55 \r
56 #endif // _SIFIVE_PRCI_H\r