1/*
2 * Copyright 2017, Data61
3 * Commonwealth Scientific and Industrial Research Organisation (CSIRO)
4 * ABN 41 687 119 230.
5 *
6 * This software may be distributed and modified according to the terms of
7 * the BSD 2-Clause license. Note that NO WARRANTY is provided.
8 * See "LICENSE_BSD2.txt" for details.
9 *
10 * @TAG(DATA61_BSD)
11 */
12
13#pragma pack(push,1)
14
15/* Fixed ACPI Descriptor Table "FACP" */
16typedef struct acpi_fadt {
17    acpi_header_t header;
18    uint32_t       facs_address;
19    uint32_t       dsdt_address;
20    uint8_t       res1[1];
21    uint8_t       pref_PM_profile;
22    uint16_t      sci_int;
23    uint32_t      smi_cmd;
24    uint8_t       acpi_enable;
25    uint8_t       acpi_disable;
26    uint8_t       s4bios_req;
27    uint8_t       pstate_cnt;
28    uint32_t       pm1a_evt_blk;
29    uint32_t       pm1b_evt_blk;
30    uint32_t       pm1a_cnt_blk;
31    uint32_t       pm1b_cnt_blk;
32    uint32_t       pm2_cnt_blk;
33    uint32_t       pm_tmr_blk;
34    uint32_t       gpe0_blk;
35    uint32_t       gpe1_blk;
36    uint8_t       pm1_evt_len;
37    uint8_t       pm1_cnt_len;
38    uint8_t       pm2_cnt_len;
39    uint8_t       pm_tmr_len;
40    uint8_t       gpe0_blk_len;
41    uint8_t       gpe1_blk_len;
42    uint8_t       gpe1_base;
43    uint8_t       cst_cnt;
44    uint16_t      p_lvl2_lat;
45    uint16_t      p_lvl3_lat;
46    uint16_t      flush_size;
47    uint16_t      flush_stride;
48    uint8_t       duty_offset;
49    uint8_t       duty_width;
50    uint8_t       day_alrm;
51    uint8_t       mon_alrm;
52    uint8_t       century;
53    uint16_t      iapc_boot_arch;
54    uint8_t       res2[1];
55    uint32_t      flags;
56    acpi_GAS_t    reset_reg;
57    uint8_t       reset_value;
58    uint8_t       res3[3];
59    uint64_t       x_facs_address;
60    uint64_t       x_dsdt_address;
61    acpi_GAS_t    x_pm1a_evt_blk;
62    acpi_GAS_t    x_pm1b_evt_blk;
63    acpi_GAS_t    x_pm1a_cnt_blk;
64    acpi_GAS_t    x_pm1b_cnt_blk;
65    acpi_GAS_t    x_pm2_cnt_blk;
66    acpi_GAS_t    x_pm_tmr_blk;
67    acpi_GAS_t    x_gpe0_blk;
68    acpi_GAS_t    x_gpe1_blk;
69    acpi_GAS_t    sleep_control_reg;
70    acpi_GAS_t    sleep_status_reg;
71    /* Physical table is 24 bytes shorter than this structure on dogfood? */
72} acpi_fadt_t;
73
74#pragma pack(pop)
75