blob: 552c0d3dc8b139712d06553b09025dc6a0a7e513 [file] [log] [blame]
Eric Laif6c52f42022-05-23 15:47:20 +08001/* SPDX-License-Identifier: GPL-2.0-or-later */
2
Eric Lai366fba22022-05-24 09:25:57 +08003#include <acpi/acpi.h>
Eric Lai5c027792022-05-23 16:21:36 +08004#include <baseboard/variants.h>
Eric Laif6c52f42022-05-23 15:47:20 +08005#include <device/device.h>
Eric Lai7c304f82022-05-24 10:01:49 +08006#include <ec/ec.h>
Eric Lai366fba22022-05-24 09:25:57 +08007#include <vendorcode/google/chromeos/chromeos.h>
Eric Laif6c52f42022-05-23 15:47:20 +08008
9static void mainboard_init(void *chip_info)
10{
Eric Lai5c027792022-05-23 16:21:36 +080011 const struct pad_config *pads;
12 size_t num;
13 pads = variant_gpio_table(&num);
14 gpio_configure_pads(pads, num);
Eric Laif6c52f42022-05-23 15:47:20 +080015}
Eric Lai366fba22022-05-24 09:25:57 +080016
17static void mainboard_fill_ssdt(const struct device *dev)
18{
19 /* TODO: Add mainboard-specific SSDT entries */
20}
21
22static void mainboard_smbios_strings(struct device *dev, struct smbios_type11 *t)
23{
24 /* TODO: Add mainboard-smbios entries */
25}
26
Eric Lai7c304f82022-05-24 10:01:49 +080027static void mainboard_dev_init(struct device *dev)
28{
29 mainboard_ec_init();
30}
Eric Laif6c52f42022-05-23 15:47:20 +080031
32static void mainboard_enable(struct device *dev)
33{
Eric Lai7c304f82022-05-24 10:01:49 +080034 dev->ops->init = mainboard_dev_init;
Eric Lai366fba22022-05-24 09:25:57 +080035 dev->ops->get_smbios_strings = mainboard_smbios_strings;
36 dev->ops->acpi_fill_ssdt = mainboard_fill_ssdt;
Eric Laif6c52f42022-05-23 15:47:20 +080037}
38
39struct chip_operations mainboard_ops = {
40 .init = mainboard_init,
41 .enable_dev = mainboard_enable,
42};