blob: 9aaad2f191f30c56a2b6bf6878a8495029522fad [file] [log] [blame]
Angel Pons163030b2020-04-05 13:22:07 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Gabe Blackd40be112013-10-09 23:45:07 -07002
3#include <boot/coreboot_tables.h>
Julius Wernerf0d21ff32014-10-20 13:24:14 -07004#include <bootmode.h>
Julius Wernereaa9c452014-09-24 15:40:49 -07005#include <gpio.h>
Gabe Blackd40be112013-10-09 23:45:07 -07006
7void fill_lb_gpios(struct lb_gpios *gpios)
8{
Julius Wernerc445b4f2016-03-31 17:27:05 -07009 struct lb_gpio chromeos_gpios[] = {
Julius Wernerc445b4f2016-03-31 17:27:05 -070010 {GPIO(R4), ACTIVE_HIGH, -1, "lid"},
11 {GPIO(Q0), ACTIVE_LOW, -1, "power"},
Julius Wernerc445b4f2016-03-31 17:27:05 -070012 {GPIO(U4), ACTIVE_HIGH, -1, "EC in RW"},
13 {GPIO(I5), ACTIVE_LOW, -1, "reset"},
14 };
15 lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios));
Gabe Blackd40be112013-10-09 23:45:07 -070016}
17
Gabe Blackd40be112013-10-09 23:45:07 -070018int get_write_protect_state(void)
19{
Julius Wernereaa9c452014-09-24 15:40:49 -070020 return !gpio_get(GPIO(R1));
Gabe Blackd40be112013-10-09 23:45:07 -070021}
Hsuan-ting Chen642508a2021-10-27 10:59:41 +000022
23int get_ec_is_trusted(void)
24{
25 /* EC is trusted if not in RW. */
26 return !gpio_get(GPIO(U4));
27}