blob: d69250776c5d61e618e0d90e5e32609991dd0f93 [file] [log] [blame]
Andrey Petrov60a7e782017-06-05 14:11:32 -07001/*
2 * This file is part of the coreboot project.
3 *
Lijian Zhao0ade3132017-07-07 12:25:20 -07004 * Copyright (C) 2014 Google Inc.
5 * Copyright (C) 2015-2016 Intel Corporation.
Andrey Petrov60a7e782017-06-05 14:11:32 -07006 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; version 2 of the License.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 */
16
Lijian Zhao0ade3132017-07-07 12:25:20 -070017#ifndef _SOC_PM_H_
18#define _SOC_PM_H_
Andrey Petrov60a7e782017-06-05 14:11:32 -070019
Lijian Zhao0ade3132017-07-07 12:25:20 -070020#include <arch/acpi.h>
21#include <soc/pmc.h>
Andrey Petrov60a7e782017-06-05 14:11:32 -070022
Lijian Zhao0ade3132017-07-07 12:25:20 -070023struct chipset_power_state {
24 uint16_t pm1_sts;
25 uint16_t pm1_en;
26 uint32_t pm1_cnt;
27 uint16_t tco1_sts;
28 uint16_t tco2_sts;
29 uint32_t gpe0_sts[4];
30 uint32_t gpe0_en[4];
31 uint32_t gen_pmcon_a;
32 uint32_t gen_pmcon_b;
33 uint32_t gblrst_cause[2];
34 uint32_t prev_sleep_state;
35} __attribute__ ((packed));
36
37struct chipset_power_state *fill_power_state(void);
38
39#endif