blob: 1e02e3deb9ba2c8ebfafdb85744869623eec2790 [file] [log] [blame]
Angel Pons60ec3652020-04-03 01:22:13 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Maulik V Vagheladfc99172018-08-07 12:06:23 +05302
Furquan Shaikh76cedd22020-05-02 10:24:23 -07003#include <acpi/acpi.h>
Maulik V Vagheladfc99172018-08-07 12:06:23 +05304#include <baseboard/variants.h>
Kyösti Mälkkibe7692a2021-11-03 17:54:14 +02005#include <bootmode.h>
Kyösti Mälkki17887d02019-07-23 19:08:01 +03006#include <boot/coreboot_tables.h>
Maulik V Vagheladfc99172018-08-07 12:06:23 +05307#include <gpio.h>
Maulik V Vagheladfc99172018-08-07 12:06:23 +05308#include <soc/gpio.h>
Maulik V Vagheladfc99172018-08-07 12:06:23 +05309#include <vendorcode/google/chromeos/chromeos.h>
10
Maulik V Vagheladfc99172018-08-07 12:06:23 +053011void fill_lb_gpios(struct lb_gpios *gpios)
12{
13 struct lb_gpio chromeos_gpios[] = {
Maulik V Vagheladfc99172018-08-07 12:06:23 +053014 {-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
15 {-1, ACTIVE_HIGH, 0, "power"},
16 {-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
17 };
18 lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios));
19}
Maulik V Vagheladfc99172018-08-07 12:06:23 +053020
21int get_lid_switch(void)
22{
23 /* Lid always open */
24 return 1;
25}
26
27int get_recovery_mode_switch(void)
28{
29 return 0;
30}
31
32int get_write_protect_state(void)
33{
34 /* No write protect */
35 return 0;
36}
37
38void mainboard_chromeos_acpi_generate(void)
39{
40 const struct cros_gpio *gpios;
41 size_t num;
42
43 gpios = variant_cros_gpios(&num);
44 chromeos_acpi_gpio_generate(gpios, num);
45}