blob: 99a060df7f4995208ea863351f4f31ea324b614a [file] [log] [blame]
Eric Lai50886822020-11-26 12:10:39 +08001/* SPDX-License-Identifier: GPL-2.0-or-later */
2
Eric Laib052c4b2020-11-27 13:50:02 +08003#include <acpi/acpi.h>
Eric Lai5e053af2020-11-26 12:58:10 +08004#include <baseboard/variants.h>
Eric Lai50886822020-11-26 12:10:39 +08005#include <device/device.h>
Eric Lai78b6a1b2020-11-27 14:11:59 +08006#include <ec/ec.h>
Eric Laib052c4b2020-11-27 13:50:02 +08007#include <vendorcode/google/chromeos/chromeos.h>
Eric Lai50886822020-11-26 12:10:39 +08008
9static void mainboard_init(void *chip_info)
10{
Eric Lai5e053af2020-11-26 12:58:10 +080011 const struct pad_config *pads;
12 size_t num;
13 pads = variant_gpio_table(&num);
14 gpio_configure_pads(pads, num);
Eric Lai50886822020-11-26 12:10:39 +080015}
16
Eric Lai78b6a1b2020-11-27 14:11:59 +080017static void mainboard_dev_init(struct device *dev)
18{
19 mainboard_ec_init();
20}
21
Eric Lai50886822020-11-26 12:10:39 +080022static void mainboard_enable(struct device *dev)
23{
Eric Lai78b6a1b2020-11-27 14:11:59 +080024 dev->ops->init = mainboard_dev_init;
Eric Laib052c4b2020-11-27 13:50:02 +080025 dev->ops->acpi_inject_dsdt = chromeos_dsdt_generator;
Eric Lai50886822020-11-26 12:10:39 +080026}
27
28struct chip_operations mainboard_ops = {
29 .init = mainboard_init,
30 .enable_dev = mainboard_enable,
31};