blob: 7d3da78d467482b9222eaf5b46525fcf33034eb1 [file] [log] [blame]
Angel Pons64b5d972020-04-05 13:20:50 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Matt DeVillier81ae67a2016-11-08 15:04:30 -06002
Furquan Shaikh76cedd22020-05-02 10:24:23 -07003#include <acpi/acpi.h>
Kyösti Mälkki3fccec52020-06-18 13:46:31 +03004#include <cpu/x86/smm.h>
Matt DeVillier81ae67a2016-11-08 15:04:30 -06005#include <device/device.h>
Matt DeVillier81ae67a2016-11-08 15:04:30 -06006#include <southbridge/intel/lynxpoint/pch.h>
Matt DeVillier81ae67a2016-11-08 15:04:30 -06007
Elyes HAOUAS32f48a22019-05-02 21:21:42 +02008#include "onboard.h"
Matt DeVillier81ae67a2016-11-08 15:04:30 -06009
10void mainboard_suspend_resume(void)
11{
12 /* Call SMM finalize() handlers before resume */
Kyösti Mälkki3fccec52020-06-18 13:46:31 +030013 apm_control(APM_CNT_FINALIZE);
Matt DeVillier81ae67a2016-11-08 15:04:30 -060014}
15
Elyes HAOUASd129d432018-05-04 20:23:33 +020016static void mainboard_init(struct device *dev)
Matt DeVillier81ae67a2016-11-08 15:04:30 -060017{
18 lan_init();
19}
20
Elyes HAOUASd129d432018-05-04 20:23:33 +020021static void mainboard_enable(struct device *dev)
Matt DeVillier81ae67a2016-11-08 15:04:30 -060022{
23 dev->ops->init = mainboard_init;
Matt DeVillier81ae67a2016-11-08 15:04:30 -060024}
25
26struct chip_operations mainboard_ops = {
27 .enable_dev = mainboard_enable,
28};