1 | #pragma once |
2 | |
3 | #include <uacpi/types.h> |
4 | |
5 | enum uacpi_register { |
6 | UACPI_REGISTER_PM1_STS = 0, |
7 | UACPI_REGISTER_PM1_EN, |
8 | UACPI_REGISTER_PM1_CNT, |
9 | UACPI_REGISTER_PM_TMR, |
10 | UACPI_REGISTER_PM2_CNT, |
11 | UACPI_REGISTER_SLP_CNT, |
12 | UACPI_REGISTER_SLP_STS, |
13 | UACPI_REGISTER_RESET, |
14 | UACPI_REGISTER_SMI_CMD, |
15 | UACPI_REGISTER_MAX = UACPI_REGISTER_SMI_CMD, |
16 | }; |
17 | |
18 | uacpi_status uacpi_read_register(enum uacpi_register, uacpi_u64*); |
19 | |
20 | uacpi_status uacpi_write_register(enum uacpi_register, uacpi_u64); |
21 | uacpi_status uacpi_write_registers(enum uacpi_register, uacpi_u64, uacpi_u64); |
22 | |
23 | enum uacpi_register_field { |
24 | UACPI_REGISTER_FIELD_TMR_STS = 0, |
25 | UACPI_REGISTER_FIELD_BM_STS, |
26 | UACPI_REGISTER_FIELD_GBL_STS, |
27 | UACPI_REGISTER_FIELD_PWRBTN_STS, |
28 | UACPI_REGISTER_FIELD_SLPBTN_STS, |
29 | UACPI_REGISTER_FIELD_RTC_STS, |
30 | UACPI_REGISTER_FIELD_PCIEX_WAKE_STS, |
31 | UACPI_REGISTER_FIELD_HWR_WAK_STS, |
32 | UACPI_REGISTER_FIELD_WAK_STS, |
33 | UACPI_REGISTER_FIELD_TMR_EN, |
34 | UACPI_REGISTER_FIELD_GBL_EN, |
35 | UACPI_REGISTER_FIELD_PWRBTN_EN, |
36 | UACPI_REGISTER_FIELD_SLPBTN_EN, |
37 | UACPI_REGISTER_FIELD_RTC_EN, |
38 | UACPI_REGISTER_FIELD_PCIEXP_WAKE_DIS, |
39 | UACPI_REGISTER_FIELD_SCI_EN, |
40 | UACPI_REGISTER_FIELD_BM_RLD, |
41 | UACPI_REGISTER_FIELD_GBL_RLS, |
42 | UACPI_REGISTER_FIELD_SLP_TYP, |
43 | UACPI_REGISTER_FIELD_HWR_SLP_TYP, |
44 | UACPI_REGISTER_FIELD_SLP_EN, |
45 | UACPI_REGISTER_FIELD_HWR_SLP_EN, |
46 | UACPI_REGISTER_FIELD_ARB_DIS, |
47 | UACPI_REGISTER_FIELD_MAX = UACPI_REGISTER_FIELD_ARB_DIS, |
48 | }; |
49 | |
50 | uacpi_status uacpi_read_register_field(enum uacpi_register_field, uacpi_u64*); |
51 | uacpi_status uacpi_write_register_field(enum uacpi_register_field, uacpi_u64); |
52 | |