chromeos mainboards: remove chromeos.asl
Use the ACPI generator for creating the Chrome OS gpio package. Each mainboard has its own list of Chrome OS gpios that are fed into a helper to generate the ACPI external OIPG package. Additionally, the common chromeos.asl is now conditionally included based on CONFIG_CHROMEOS. Change-Id: I1d3d951964374a9d43521879d4c265fa513920d2 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/15909 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
This commit is contained in:
committed by
Duncan Laurie
parent
212820c8d7
commit
b0f81518b5
@ -1,19 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2014 Google Inc.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
Name(OIPG, Package() {
|
|
||||||
Package () { 0x0001, 0, 0xFFFFFFFF, "PCH-LP" }, // no recovery button
|
|
||||||
Package () { 0x0003, 1, 58, "PCH-LP" }, // firmware write protect
|
|
||||||
})
|
|
@ -82,3 +82,13 @@ int get_write_protect_state(void)
|
|||||||
{
|
{
|
||||||
return get_gpio(CROS_WP_GPIO);
|
return get_gpio(CROS_WP_GPIO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AH(CROS_WP_GPIO, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -47,7 +47,6 @@ DefinitionBlock(
|
|||||||
#include "acpi/thermal.asl"
|
#include "acpi/thermal.asl"
|
||||||
|
|
||||||
// Chrome OS specific
|
// Chrome OS specific
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
// Chipset specific sleep states
|
// Chipset specific sleep states
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
#include <arch/io.h>
|
#include <arch/io.h>
|
||||||
#include <arch/interrupt.h>
|
#include <arch/interrupt.h>
|
||||||
#include <boot/coreboot_tables.h>
|
#include <boot/coreboot_tables.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
#include "onboard.h"
|
#include "onboard.h"
|
||||||
|
|
||||||
@ -88,6 +89,7 @@ static void mainboard_enable(device_t dev)
|
|||||||
{
|
{
|
||||||
dev->ops->init = mainboard_init;
|
dev->ops->init = mainboard_init;
|
||||||
dev->ops->get_smbios_data = mainboard_smbios_data;
|
dev->ops->get_smbios_data = mainboard_smbios_data;
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2014 Google Inc.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
Name(OIPG, Package() {
|
|
||||||
Package () { 0x0001, 0, 0xFFFFFFFF, "PCH-LP" }, // no recovery button
|
|
||||||
Package () { 0x0003, 1, 58, "PCH-LP" }, // firmware write protect
|
|
||||||
})
|
|
@ -82,3 +82,13 @@ int get_write_protect_state(void)
|
|||||||
{
|
{
|
||||||
return get_gpio(CROS_WP_GPIO);
|
return get_gpio(CROS_WP_GPIO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AH(CROS_WP_GPIO, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -47,7 +47,6 @@ DefinitionBlock(
|
|||||||
#include "acpi/thermal.asl"
|
#include "acpi/thermal.asl"
|
||||||
|
|
||||||
// Chrome OS specific
|
// Chrome OS specific
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
// Chipset specific sleep states
|
// Chipset specific sleep states
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
#include <arch/io.h>
|
#include <arch/io.h>
|
||||||
#include <arch/interrupt.h>
|
#include <arch/interrupt.h>
|
||||||
#include <boot/coreboot_tables.h>
|
#include <boot/coreboot_tables.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
#include "onboard.h"
|
#include "onboard.h"
|
||||||
|
|
||||||
@ -61,6 +62,7 @@ static void mainboard_enable(device_t dev)
|
|||||||
{
|
{
|
||||||
dev->ops->init = mainboard_init;
|
dev->ops->init = mainboard_init;
|
||||||
dev->ops->get_smbios_data = mainboard_smbios_data;
|
dev->ops->get_smbios_data = mainboard_smbios_data;
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP,
|
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP,
|
||||||
GMA_INT15_PANEL_FIT_CENTERING,
|
GMA_INT15_PANEL_FIT_CENTERING,
|
||||||
GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2011 The ChromiumOS Authors. All rights reserved.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
Name(OIPG, Package() {
|
|
||||||
Package() { 0x001, 1, 0xFF, "PantherPoint" }, // recovery button
|
|
||||||
Package() { 0x002, 1, 0xFF, "PantherPoint" }, // developer button
|
|
||||||
Package() { 0x003, 0, 6, "PantherPoint" }, // firmware write protect
|
|
||||||
})
|
|
@ -23,6 +23,7 @@
|
|||||||
#include <southbridge/intel/bd82x6x/pch.h>
|
#include <southbridge/intel/bd82x6x/pch.h>
|
||||||
#include <southbridge/intel/common/gpio.h>
|
#include <southbridge/intel/common/gpio.h>
|
||||||
#include <ec/quanta/ene_kb3940q/ec.h>
|
#include <ec/quanta/ene_kb3940q/ec.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
|
|
||||||
#define WP_GPIO 6
|
#define WP_GPIO 6
|
||||||
@ -136,3 +137,14 @@ int get_recovery_mode_switch(void)
|
|||||||
|
|
||||||
return ec_rec_mode;
|
return ec_rec_mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AH(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_DEV_AH(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AL(WP_GPIO, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -50,7 +50,6 @@ DefinitionBlock(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
/* Chipset specific sleep states */
|
/* Chipset specific sleep states */
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
#include <smbios.h>
|
#include <smbios.h>
|
||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
#include <ec/quanta/ene_kb3940q/ec.h>
|
#include <ec/quanta/ene_kb3940q/ec.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
|
|
||||||
static unsigned int search(char *p, char *a, unsigned int lengthp,
|
static unsigned int search(char *p, char *a, unsigned int lengthp,
|
||||||
unsigned int lengtha)
|
unsigned int lengtha)
|
||||||
@ -276,6 +277,7 @@ static void mainboard_enable(device_t dev)
|
|||||||
{
|
{
|
||||||
dev->ops->init = mainboard_init;
|
dev->ops->init = mainboard_init;
|
||||||
dev->ops->get_smbios_data = butterfly_onboard_smbios_data;
|
dev->ops->get_smbios_data = butterfly_onboard_smbios_data;
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_INT_LVDS, GMA_INT15_PANEL_FIT_DEFAULT, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_INT_LVDS, GMA_INT15_PANEL_FIT_DEFAULT, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2015 Google Inc.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "../gpio.h"
|
|
||||||
|
|
||||||
Name (OIPG, Package () {
|
|
||||||
/* No physical recovery GPIO. */
|
|
||||||
Package () { 0x0001, 0, 0xFFFFFFFF, "INT344B:00" },
|
|
||||||
/* Firmware write protect GPIO. */
|
|
||||||
Package () { 0x0003, 1, GPIO_PCH_WP, "INT344B:00" },
|
|
||||||
})
|
|
@ -82,3 +82,13 @@ int get_write_protect_state(void)
|
|||||||
/* Read PCH_WP GPIO. */
|
/* Read PCH_WP GPIO. */
|
||||||
return gpio_get(GPIO_PCH_WP);
|
return gpio_get(GPIO_PCH_WP);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AH(GPIO_PCH_WP, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -45,7 +45,6 @@ DefinitionBlock(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Chrome OS specific
|
// Chrome OS specific
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
// Chipset specific sleep states
|
// Chipset specific sleep states
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <soc/nhlt.h>
|
#include <soc/nhlt.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
|
|
||||||
static void mainboard_init(device_t dev)
|
static void mainboard_init(device_t dev)
|
||||||
@ -69,6 +70,7 @@ static void mainboard_enable(device_t dev)
|
|||||||
{
|
{
|
||||||
dev->ops->init = mainboard_init;
|
dev->ops->init = mainboard_init;
|
||||||
dev->ops->write_acpi_tables = mainboard_write_acpi_tables;
|
dev->ops->write_acpi_tables = mainboard_write_acpi_tables;
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct chip_operations mainboard_ops = {
|
struct chip_operations mainboard_ops = {
|
||||||
|
@ -1,33 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2011 Google Inc.
|
|
||||||
* Copyright (C) 2015 Intel Corp.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Fields are in the following order.
|
|
||||||
* - Type: recovery = 1 developer mode = 2 write protect = 3
|
|
||||||
* - Active Level - if -1 not a valid gpio
|
|
||||||
* - GPIO number encoding - if -1 not a valid gpio
|
|
||||||
* - Chipset Name
|
|
||||||
*
|
|
||||||
* Note: We need to encode gpios within the 4 separate banks
|
|
||||||
* with the MMIO offset of each banks space. e.g. MF_ISH_GPIO_4 would be encoded
|
|
||||||
* as 0x10016 where the SUS offset (COMMUNITY_OFFSET_GPEAST) is 0x10000.
|
|
||||||
*/
|
|
||||||
|
|
||||||
Name(OIPG, Package() {
|
|
||||||
/* No physical recovery button */
|
|
||||||
Package () { 0x0001, 0, 0xFFFFFFFF, "Braswell" },
|
|
||||||
Package () { 0x0003, 1, 0x10013, "Braswell" },
|
|
||||||
})
|
|
@ -123,3 +123,13 @@ int get_write_protect_state(void)
|
|||||||
return (read32((void *)(COMMUNITY_GPEAST_BASE + WP_STATUS_PAD_CFG0))
|
return (read32((void *)(COMMUNITY_GPEAST_BASE + WP_STATUS_PAD_CFG0))
|
||||||
& PAD_VAL_HIGH);
|
& PAD_VAL_HIGH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AH(0x10013, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -53,7 +53,6 @@ DefinitionBlock(
|
|||||||
#include <soc/intel/common/acpi/wifi.asl>
|
#include <soc/intel/common/acpi/wifi.asl>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
/* Chipset specific sleep states */
|
/* Chipset specific sleep states */
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
#include <bootstate.h>
|
#include <bootstate.h>
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <soc/gpio.h>
|
#include <soc/gpio.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
|
|
||||||
static void mainboard_init(device_t dev)
|
static void mainboard_init(device_t dev)
|
||||||
@ -32,6 +33,7 @@ static void mainboard_init(device_t dev)
|
|||||||
static void mainboard_enable(device_t dev)
|
static void mainboard_enable(device_t dev)
|
||||||
{
|
{
|
||||||
dev->ops->init = mainboard_init;
|
dev->ops->init = mainboard_init;
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2012 Google Inc.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
Name(OIPG, Package() {
|
|
||||||
Package () { 0x0001, 0, 0xFFFFFFFF, "LynxPoint" }, // no recovery button
|
|
||||||
Package () { 0x0003, 1, 58, "LynxPoint" }, // firmware write protect
|
|
||||||
})
|
|
@ -20,6 +20,7 @@
|
|||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
#include <southbridge/intel/lynxpoint/pch.h>
|
#include <southbridge/intel/lynxpoint/pch.h>
|
||||||
#include <southbridge/intel/common/gpio.h>
|
#include <southbridge/intel/common/gpio.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
|
|
||||||
#if CONFIG_EC_GOOGLE_CHROMEEC
|
#if CONFIG_EC_GOOGLE_CHROMEEC
|
||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
@ -86,3 +87,13 @@ int get_write_protect_state(void)
|
|||||||
{
|
{
|
||||||
return get_gpio(58);
|
return get_gpio(58);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AH(58, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -54,7 +54,6 @@ DefinitionBlock(
|
|||||||
#include "acpi/thermal.asl"
|
#include "acpi/thermal.asl"
|
||||||
|
|
||||||
// Chrome OS specific
|
// Chrome OS specific
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
// Chipset specific sleep states
|
// Chipset specific sleep states
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
#include <arch/interrupt.h>
|
#include <arch/interrupt.h>
|
||||||
#include <boot/coreboot_tables.h>
|
#include <boot/coreboot_tables.h>
|
||||||
#include <southbridge/intel/lynxpoint/pch.h>
|
#include <southbridge/intel/lynxpoint/pch.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
#include "onboard.h"
|
#include "onboard.h"
|
||||||
|
|
||||||
@ -87,6 +88,7 @@ static void mainboard_enable(device_t dev)
|
|||||||
{
|
{
|
||||||
dev->ops->init = mainboard_init;
|
dev->ops->init = mainboard_init;
|
||||||
dev->ops->get_smbios_data = mainboard_smbios_data;
|
dev->ops->get_smbios_data = mainboard_smbios_data;
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2015 Google Inc.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "../gpio.h"
|
|
||||||
|
|
||||||
Name (OIPG, Package () {
|
|
||||||
/* No physical recovery GPIO. */
|
|
||||||
Package () { 0x0001, 0, 0xFFFFFFFF, "INT344B:00" },
|
|
||||||
/* Firmware write protect GPIO. */
|
|
||||||
Package () { 0x0003, 1, GPIO_PCH_WP, "INT344B:00" },
|
|
||||||
})
|
|
@ -82,3 +82,13 @@ int get_write_protect_state(void)
|
|||||||
/* Read PCH_WP GPIO. */
|
/* Read PCH_WP GPIO. */
|
||||||
return gpio_get(GPIO_PCH_WP);
|
return gpio_get(GPIO_PCH_WP);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AH(GPIO_PCH_WP, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -45,7 +45,6 @@ DefinitionBlock(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Chrome OS specific
|
// Chrome OS specific
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
// Chipset specific sleep states
|
// Chipset specific sleep states
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <soc/nhlt.h>
|
#include <soc/nhlt.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
|
|
||||||
static void mainboard_init(device_t dev)
|
static void mainboard_init(device_t dev)
|
||||||
@ -73,6 +74,7 @@ static void mainboard_enable(device_t dev)
|
|||||||
{
|
{
|
||||||
dev->ops->init = mainboard_init;
|
dev->ops->init = mainboard_init;
|
||||||
dev->ops->write_acpi_tables = mainboard_write_acpi_tables;
|
dev->ops->write_acpi_tables = mainboard_write_acpi_tables;
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct chip_operations mainboard_ops = {
|
struct chip_operations mainboard_ops = {
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2014 Google Inc.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
Name(OIPG, Package() {
|
|
||||||
Package () { 0x0001, 0, 12, "PCH-LP" }, // recovery button
|
|
||||||
Package () { 0x0003, 1, 58, "PCH-LP" }, // firmware write protect
|
|
||||||
})
|
|
@ -93,3 +93,13 @@ void save_chromeos_gpios(void)
|
|||||||
pci_write_config32(PCI_DEV(0, 0x1f, 2), SATA_SP, flags);
|
pci_write_config32(PCI_DEV(0, 0x1f, 2), SATA_SP, flags);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AL(GPIO_REC_MODE, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AH(GPIO_SPI_WP, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -46,7 +46,6 @@ DefinitionBlock(
|
|||||||
#include "acpi/thermal.asl"
|
#include "acpi/thermal.asl"
|
||||||
|
|
||||||
// Chrome OS specific
|
// Chrome OS specific
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
// Chipset specific sleep states
|
// Chipset specific sleep states
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
#include <arch/acpi.h>
|
#include <arch/acpi.h>
|
||||||
#include <arch/io.h>
|
#include <arch/io.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#include "onboard.h"
|
#include "onboard.h"
|
||||||
|
|
||||||
void mainboard_suspend_resume(void)
|
void mainboard_suspend_resume(void)
|
||||||
@ -35,6 +36,7 @@ static void mainboard_init(device_t dev)
|
|||||||
static void mainboard_enable(device_t dev)
|
static void mainboard_enable(device_t dev)
|
||||||
{
|
{
|
||||||
dev->ops->init = mainboard_init;
|
dev->ops->init = mainboard_init;
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct chip_operations mainboard_ops = {
|
struct chip_operations mainboard_ops = {
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2014 Google Inc.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
Name(OIPG, Package() {
|
|
||||||
Package () { 0x0001, 0, 12, "PCH-LP" }, // recovery button
|
|
||||||
Package () { 0x0003, 1, 58, "PCH-LP" }, // firmware write protect
|
|
||||||
})
|
|
@ -94,3 +94,13 @@ void save_chromeos_gpios(void)
|
|||||||
pci_write_config32(PCI_DEV(0, 0x1f, 2), SATA_SP, flags);
|
pci_write_config32(PCI_DEV(0, 0x1f, 2), SATA_SP, flags);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AL(GPIO_REC_MODE, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AH(GPIO_SPI_WP, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -47,7 +47,6 @@ DefinitionBlock(
|
|||||||
#include "acpi/thermal.asl"
|
#include "acpi/thermal.asl"
|
||||||
|
|
||||||
// Chrome OS specific
|
// Chrome OS specific
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
// Chipset specific sleep states
|
// Chipset specific sleep states
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
#include <arch/io.h>
|
#include <arch/io.h>
|
||||||
#include <arch/interrupt.h>
|
#include <arch/interrupt.h>
|
||||||
#include <boot/coreboot_tables.h>
|
#include <boot/coreboot_tables.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#include "onboard.h"
|
#include "onboard.h"
|
||||||
|
|
||||||
void mainboard_suspend_resume(void)
|
void mainboard_suspend_resume(void)
|
||||||
@ -135,6 +136,7 @@ static void mainboard_init(device_t dev)
|
|||||||
static void mainboard_enable(device_t dev)
|
static void mainboard_enable(device_t dev)
|
||||||
{
|
{
|
||||||
dev->ops->init = mainboard_init;
|
dev->ops->init = mainboard_init;
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
#if CONFIG_VGA_ROM_RUN
|
#if CONFIG_VGA_ROM_RUN
|
||||||
/* Install custom int15 handler for VGA OPROM */
|
/* Install custom int15 handler for VGA OPROM */
|
||||||
mainboard_interrupt_handlers(0x15, &int15_handler);
|
mainboard_interrupt_handlers(0x15, &int15_handler);
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2013 Google Inc.
|
|
||||||
* Copyright (C) 2015 Intel Corporation.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "../gpio.h"
|
|
||||||
|
|
||||||
Name (OIPG, Package () {
|
|
||||||
/* No physical recovery GPIO. */
|
|
||||||
Package () { 0x0001, 0, 0xFFFFFFFF, "INT344B:00" },
|
|
||||||
/* Firmware write protect GPIO. */
|
|
||||||
Package () { 0x0003, 1, GPIO_PCH_WP, "INT344B:00" },
|
|
||||||
})
|
|
@ -82,3 +82,13 @@ int get_write_protect_state(void)
|
|||||||
/* Read PCH_WP GPIO. */
|
/* Read PCH_WP GPIO. */
|
||||||
return gpio_get(GPIO_PCH_WP);
|
return gpio_get(GPIO_PCH_WP);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AH(GPIO_PCH_WP, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -45,7 +45,6 @@ DefinitionBlock(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Chrome OS specific
|
// Chrome OS specific
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
// Chipset specific sleep states
|
// Chipset specific sleep states
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <soc/nhlt.h>
|
#include <soc/nhlt.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
|
|
||||||
static void mainboard_init(device_t dev)
|
static void mainboard_init(device_t dev)
|
||||||
@ -69,6 +70,7 @@ static void mainboard_enable(device_t dev)
|
|||||||
{
|
{
|
||||||
dev->ops->init = mainboard_init;
|
dev->ops->init = mainboard_init;
|
||||||
dev->ops->write_acpi_tables = mainboard_write_acpi_tables;
|
dev->ops->write_acpi_tables = mainboard_write_acpi_tables;
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct chip_operations mainboard_ops = {
|
struct chip_operations mainboard_ops = {
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2011 Google Inc.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
Name(OIPG, Package() {
|
|
||||||
Package() { 0x001, 0, 9, "PantherPoint" }, // recovery button
|
|
||||||
Package() { 0x003, 1, 57, "PantherPoint" }, // firmware write protect
|
|
||||||
})
|
|
@ -22,6 +22,7 @@
|
|||||||
#include <southbridge/intel/common/gpio.h>
|
#include <southbridge/intel/common/gpio.h>
|
||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
#include <ec/google/chromeec/ec.h>
|
#include <ec/google/chromeec/ec.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
|
|
||||||
#ifndef __PRE_RAM__
|
#ifndef __PRE_RAM__
|
||||||
#include <boot/coreboot_tables.h>
|
#include <boot/coreboot_tables.h>
|
||||||
@ -107,3 +108,13 @@ int get_recovery_mode_switch(void)
|
|||||||
return !!(ec_events &
|
return !!(ec_events &
|
||||||
EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEYBOARD_RECOVERY));
|
EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEYBOARD_RECOVERY));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AL(9, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AH(57, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -50,7 +50,6 @@ DefinitionBlock(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
/* Chipset specific sleep states */
|
/* Chipset specific sleep states */
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
#include <smbios.h>
|
#include <smbios.h>
|
||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
#include <ec/google/chromeec/ec.h>
|
#include <ec/google/chromeec/ec.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
|
|
||||||
/* placeholder for evenual link post. Not sure what we'll
|
/* placeholder for evenual link post. Not sure what we'll
|
||||||
* do but it will look nice
|
* do but it will look nice
|
||||||
@ -199,6 +200,7 @@ static void mainboard_enable(device_t dev)
|
|||||||
{
|
{
|
||||||
dev->ops->init = mainboard_init;
|
dev->ops->init = mainboard_init;
|
||||||
dev->ops->get_smbios_data = link_onboard_smbios_data;
|
dev->ops->get_smbios_data = link_onboard_smbios_data;
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
#if CONFIG_VGA_ROM_RUN
|
#if CONFIG_VGA_ROM_RUN
|
||||||
/* Install custom int15 handler for VGA OPROM */
|
/* Install custom int15 handler for VGA OPROM */
|
||||||
mainboard_interrupt_handlers(0x15, &int15_handler);
|
mainboard_interrupt_handlers(0x15, &int15_handler);
|
||||||
|
@ -1,31 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2011 Google Inc.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Fields are in the following order.
|
|
||||||
* - Type: recovery = 1 developer mode = 2 write protect = 3
|
|
||||||
* - Active Level - if -1 not a valid gpio
|
|
||||||
* - GPIO number encoding - if -1 not a valid gpio
|
|
||||||
* - Chipset Name
|
|
||||||
*
|
|
||||||
* Note: On Bay Trail we need to encode gpios within the 3 separate banks
|
|
||||||
* with the MMIO offset of each banks space. e.g. GPIO_SUS[8] would be encoded
|
|
||||||
* as 0x2008 where the SUS offset (IO_BASE_OFFSET_GPSSUS) is 0x2000.
|
|
||||||
*/
|
|
||||||
|
|
||||||
Name(OIPG, Package() {
|
|
||||||
Package () { 0x0001, 0, 0x2008, "BayTrail" }, // recovery
|
|
||||||
Package () { 0x0003, 1, 0x2006, "BayTrail" }, // firmware write protect
|
|
||||||
})
|
|
@ -100,4 +100,14 @@ int get_write_protect_state(void)
|
|||||||
|
|
||||||
/* WP is enabled when the pin is reading high. */
|
/* WP is enabled when the pin is reading high. */
|
||||||
return ssus_get_gpio(WP_STATUS_PAD);
|
return ssus_get_gpio(WP_STATUS_PAD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AL(0x2008, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AH(0x2006, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -44,7 +44,6 @@ DefinitionBlock(
|
|||||||
#include "acpi/dptf.asl"
|
#include "acpi/dptf.asl"
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
/* Chipset specific sleep states */
|
/* Chipset specific sleep states */
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
#include "onboard.h"
|
#include "onboard.h"
|
||||||
#include <soc/gpio.h>
|
#include <soc/gpio.h>
|
||||||
#include <bootstate.h>
|
#include <bootstate.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
|
|
||||||
void mainboard_suspend_resume(void)
|
void mainboard_suspend_resume(void)
|
||||||
{
|
{
|
||||||
@ -144,6 +145,7 @@ static void mainboard_enable(device_t dev)
|
|||||||
{
|
{
|
||||||
dev->ops->init = mainboard_init;
|
dev->ops->init = mainboard_init;
|
||||||
dev->ops->get_smbios_data = mainboard_smbios_data;
|
dev->ops->get_smbios_data = mainboard_smbios_data;
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
#if CONFIG_VGA_ROM_RUN
|
#if CONFIG_VGA_ROM_RUN
|
||||||
/* Install custom int15 handler for VGA OPROM */
|
/* Install custom int15 handler for VGA OPROM */
|
||||||
mainboard_interrupt_handlers(0x15, &int15_handler);
|
mainboard_interrupt_handlers(0x15, &int15_handler);
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2012 Google Inc.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
Name(OIPG, Package() {
|
|
||||||
Package () { 0x0001, 0, 12, "LynxPoint" }, // recovery button
|
|
||||||
Package () { 0x0003, 1, 58, "LynxPoint" }, // firmware write protect
|
|
||||||
})
|
|
@ -92,3 +92,13 @@ void init_bootmode_straps(void)
|
|||||||
pci_write_config32(PCI_DEV(0, 0x1f, 2), SATA_SP, flags);
|
pci_write_config32(PCI_DEV(0, 0x1f, 2), SATA_SP, flags);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AL(GPIO_REC_MODE, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AH(GPIO_SPI_WP, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -54,7 +54,6 @@ DefinitionBlock(
|
|||||||
#include "acpi/thermal.asl"
|
#include "acpi/thermal.asl"
|
||||||
|
|
||||||
// Chrome OS specific
|
// Chrome OS specific
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
// Chipset specific sleep states
|
// Chipset specific sleep states
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
#include <pc80/mc146818rtc.h>
|
#include <pc80/mc146818rtc.h>
|
||||||
#include <southbridge/intel/lynxpoint/pch.h>
|
#include <southbridge/intel/lynxpoint/pch.h>
|
||||||
#include <drivers/intel/gma/int15.h>
|
#include <drivers/intel/gma/int15.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#include "onboard.h"
|
#include "onboard.h"
|
||||||
|
|
||||||
|
|
||||||
@ -51,6 +52,7 @@ static void mainboard_init(device_t dev)
|
|||||||
static void mainboard_enable(device_t dev)
|
static void mainboard_enable(device_t dev)
|
||||||
{
|
{
|
||||||
dev->ops->init = mainboard_init;
|
dev->ops->init = mainboard_init;
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2011 The ChromiumOS Authors. All rights reserved.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
Name(OIPG, Package() {
|
|
||||||
Package() { 0x001, 1, 0xFF, "PantherPoint" }, // recovery button
|
|
||||||
Package() { 0x002, 1, 0xFF, "PantherPoint" }, // developer button
|
|
||||||
Package() { 0x003, 0, 70, "PantherPoint" }, // firmware write protect
|
|
||||||
})
|
|
@ -23,6 +23,7 @@
|
|||||||
#include <southbridge/intel/bd82x6x/pch.h>
|
#include <southbridge/intel/bd82x6x/pch.h>
|
||||||
#include <southbridge/intel/common/gpio.h>
|
#include <southbridge/intel/common/gpio.h>
|
||||||
#include <ec/compal/ene932/ec.h>
|
#include <ec/compal/ene932/ec.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
|
|
||||||
|
|
||||||
@ -122,3 +123,14 @@ int parrot_ec_running_ro(void)
|
|||||||
{
|
{
|
||||||
return !get_gpio(68);
|
return !get_gpio(68);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AH(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_DEV_AH(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AL(70, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -50,7 +50,6 @@ DefinitionBlock(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
/* Chipset specific sleep states */
|
/* Chipset specific sleep states */
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
#include <smbios.h>
|
#include <smbios.h>
|
||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
#include <ec/compal/ene932/ec.h>
|
#include <ec/compal/ene932/ec.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
|
|
||||||
void mainboard_suspend_resume(void)
|
void mainboard_suspend_resume(void)
|
||||||
{
|
{
|
||||||
@ -81,6 +82,7 @@ static void mainboard_enable(device_t dev)
|
|||||||
{
|
{
|
||||||
dev->ops->init = mainboard_init;
|
dev->ops->init = mainboard_init;
|
||||||
dev->ops->get_smbios_data = parrot_onboard_smbios_data;
|
dev->ops->get_smbios_data = parrot_onboard_smbios_data;
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_DEFAULT, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_DEFAULT, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2012 Google Inc.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
Name(OIPG, Package() {
|
|
||||||
Package () { 0x0001, 0, 0xFFFFFFFF, "LynxPoint" }, // no recovery button
|
|
||||||
Package () { 0x0003, 1, 58, "LynxPoint" }, // firmware write protect
|
|
||||||
})
|
|
@ -20,6 +20,7 @@
|
|||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
#include <southbridge/intel/lynxpoint/pch.h>
|
#include <southbridge/intel/lynxpoint/pch.h>
|
||||||
#include <southbridge/intel/common/gpio.h>
|
#include <southbridge/intel/common/gpio.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
|
|
||||||
#if CONFIG_EC_GOOGLE_CHROMEEC
|
#if CONFIG_EC_GOOGLE_CHROMEEC
|
||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
@ -86,3 +87,13 @@ int get_write_protect_state(void)
|
|||||||
{
|
{
|
||||||
return get_gpio(58);
|
return get_gpio(58);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AH(58, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -52,7 +52,6 @@ DefinitionBlock(
|
|||||||
#include "acpi/thermal.asl"
|
#include "acpi/thermal.asl"
|
||||||
|
|
||||||
// Chrome OS specific
|
// Chrome OS specific
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
// Chipset specific sleep states
|
// Chipset specific sleep states
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
#include <arch/interrupt.h>
|
#include <arch/interrupt.h>
|
||||||
#include <boot/coreboot_tables.h>
|
#include <boot/coreboot_tables.h>
|
||||||
#include <southbridge/intel/lynxpoint/pch.h>
|
#include <southbridge/intel/lynxpoint/pch.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
#include "onboard.h"
|
#include "onboard.h"
|
||||||
|
|
||||||
@ -87,6 +88,7 @@ static void mainboard_enable(device_t dev)
|
|||||||
{
|
{
|
||||||
dev->ops->init = mainboard_init;
|
dev->ops->init = mainboard_init;
|
||||||
dev->ops->get_smbios_data = mainboard_smbios_data;
|
dev->ops->get_smbios_data = mainboard_smbios_data;
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,32 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2011 Google Inc.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Fields are in the following order.
|
|
||||||
* - Type: recovery = 1 developer mode = 2 write protect = 3
|
|
||||||
* - Active Level - if -1 not a valid gpio
|
|
||||||
* - GPIO number encoding - if -1 not a valid gpio
|
|
||||||
* - Chipset Name
|
|
||||||
*
|
|
||||||
* Note: On Bay Trail we need to encode gpios within the 3 separate banks
|
|
||||||
* with the MMIO offset of each banks space. e.g. GPIO_SUS[8] would be encoded
|
|
||||||
* as 0x2008 where the SUS offset (IO_BASE_OFFSET_GPSSUS) is 0x2000.
|
|
||||||
*/
|
|
||||||
|
|
||||||
Name(OIPG, Package() {
|
|
||||||
// No physical recovery button
|
|
||||||
Package () { 0x0001, 0, 0xFFFFFFFF, "BayTrail" },
|
|
||||||
Package () { 0x0003, 1, 0x2006, "BayTrail" },
|
|
||||||
})
|
|
@ -20,6 +20,7 @@
|
|||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
#include <soc/gpio.h>
|
#include <soc/gpio.h>
|
||||||
#include <vboot/vboot_common.h>
|
#include <vboot/vboot_common.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
|
|
||||||
#if CONFIG_EC_GOOGLE_CHROMEEC
|
#if CONFIG_EC_GOOGLE_CHROMEEC
|
||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
@ -111,3 +112,13 @@ int get_write_protect_state(void)
|
|||||||
/* WP is enabled when the pin is reading high. */
|
/* WP is enabled when the pin is reading high. */
|
||||||
return ssus_get_gpio(WP_STATUS_PAD);
|
return ssus_get_gpio(WP_STATUS_PAD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AH(0x2006, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -44,7 +44,6 @@ DefinitionBlock(
|
|||||||
#include "acpi/dptf.asl"
|
#include "acpi/dptf.asl"
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
/* Chipset specific sleep states */
|
/* Chipset specific sleep states */
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
#include "onboard.h"
|
#include "onboard.h"
|
||||||
#include <soc/gpio.h>
|
#include <soc/gpio.h>
|
||||||
#include <bootstate.h>
|
#include <bootstate.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
|
|
||||||
void mainboard_suspend_resume(void)
|
void mainboard_suspend_resume(void)
|
||||||
{
|
{
|
||||||
@ -163,6 +164,7 @@ static void mainboard_enable(device_t dev)
|
|||||||
{
|
{
|
||||||
dev->ops->init = mainboard_init;
|
dev->ops->init = mainboard_init;
|
||||||
dev->ops->get_smbios_data = mainboard_smbios_data;
|
dev->ops->get_smbios_data = mainboard_smbios_data;
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
#if CONFIG_VGA_ROM_RUN
|
#if CONFIG_VGA_ROM_RUN
|
||||||
/* Install custom int15 handler for VGA OPROM */
|
/* Install custom int15 handler for VGA OPROM */
|
||||||
mainboard_interrupt_handlers(0x15, &int15_handler);
|
mainboard_interrupt_handlers(0x15, &int15_handler);
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright 2016 Google Inc.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <soc/gpio_defs.h>
|
|
||||||
|
|
||||||
Name (OIPG, Package () {
|
|
||||||
/* No physical recovery GPIO. */
|
|
||||||
Package () { 0x0001, 0, 0xFFFFFFFF, "INT3452:01" },
|
|
||||||
/* Firmware write protect GPIO. */
|
|
||||||
Package () { 0x0003, 1, PAD_NW(GPIO_75), "INT3452:01" },
|
|
||||||
})
|
|
@ -19,6 +19,7 @@
|
|||||||
#include <vendorcode/google/chromeos/chromeos.h>
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#include <soc/gpio.h>
|
#include <soc/gpio.h>
|
||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
|
#include "gpio.h"
|
||||||
|
|
||||||
#define GPIO_PCH_WP GPIO_75
|
#define GPIO_PCH_WP GPIO_75
|
||||||
#define GPIO_EC_IN_RW GPIO_41
|
#define GPIO_EC_IN_RW GPIO_41
|
||||||
@ -69,3 +70,13 @@ int get_write_protect_state(void)
|
|||||||
/* Read PCH_WP GPIO. */
|
/* Read PCH_WP GPIO. */
|
||||||
return gpio_get(GPIO_PCH_WP);
|
return gpio_get(GPIO_PCH_WP);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, GPIO_COMM_NW_NAME),
|
||||||
|
CROS_GPIO_WP_AH(PAD_NW(GPIO_PCH_WP), GPIO_COMM_NW_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -38,7 +38,6 @@ DefinitionBlock(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Chrome OS specific */
|
/* Chrome OS specific */
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
/* Chipset specific sleep states */
|
/* Chipset specific sleep states */
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#include <nhlt.h>
|
#include <nhlt.h>
|
||||||
#include <soc/gpio.h>
|
#include <soc/gpio.h>
|
||||||
#include <soc/nhlt.h>
|
#include <soc/nhlt.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
#include "gpio.h"
|
#include "gpio.h"
|
||||||
|
|
||||||
@ -83,6 +84,7 @@ static unsigned long mainboard_write_acpi_tables(
|
|||||||
static void mainboard_enable(device_t dev)
|
static void mainboard_enable(device_t dev)
|
||||||
{
|
{
|
||||||
dev->ops->write_acpi_tables = mainboard_write_acpi_tables;
|
dev->ops->write_acpi_tables = mainboard_write_acpi_tables;
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct chip_operations mainboard_ops = {
|
struct chip_operations mainboard_ops = {
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2015 Google Inc.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
Name(OIPG, Package() {
|
|
||||||
Package () { 0x0001, 0, 12, "PCH-LP" }, // recovery button
|
|
||||||
Package () { 0x0003, 1, 58, "PCH-LP" }, // firmware write protect
|
|
||||||
})
|
|
@ -93,3 +93,13 @@ void save_chromeos_gpios(void)
|
|||||||
pci_write_config32(PCI_DEV(0, 0x1f, 2), SATA_SP, flags);
|
pci_write_config32(PCI_DEV(0, 0x1f, 2), SATA_SP, flags);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AL(GPIO_REC_MODE, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AH(GPIO_SPI_WP, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -46,7 +46,6 @@ DefinitionBlock(
|
|||||||
#include "acpi/thermal.asl"
|
#include "acpi/thermal.asl"
|
||||||
|
|
||||||
// Chrome OS specific
|
// Chrome OS specific
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
// Chipset specific sleep states
|
// Chipset specific sleep states
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
#include <arch/acpi.h>
|
#include <arch/acpi.h>
|
||||||
#include <arch/io.h>
|
#include <arch/io.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#include "onboard.h"
|
#include "onboard.h"
|
||||||
|
|
||||||
void mainboard_suspend_resume(void)
|
void mainboard_suspend_resume(void)
|
||||||
@ -35,6 +36,7 @@ static void mainboard_init(device_t dev)
|
|||||||
static void mainboard_enable(device_t dev)
|
static void mainboard_enable(device_t dev)
|
||||||
{
|
{
|
||||||
dev->ops->init = mainboard_init;
|
dev->ops->init = mainboard_init;
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct chip_operations mainboard_ops = {
|
struct chip_operations mainboard_ops = {
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2013 Google Inc.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
Name (OIPG, Package() {
|
|
||||||
Package () { 0x0001, 0, 0xFFFFFFFF, "INT3437:00" }, // no recovery button
|
|
||||||
Package () { 0x0003, 1, 16, "INT3437:00" }, // firmware write protect
|
|
||||||
})
|
|
@ -93,3 +93,13 @@ int get_write_protect_state(void)
|
|||||||
{
|
{
|
||||||
return get_gpio(CROS_WP_GPIO);
|
return get_gpio(CROS_WP_GPIO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, CROS_GPIO_ACPI_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AH(CROS_WP_GPIO, CROS_GPIO_ACPI_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -47,7 +47,6 @@ DefinitionBlock(
|
|||||||
#include "acpi/thermal.asl"
|
#include "acpi/thermal.asl"
|
||||||
|
|
||||||
// Chrome OS specific
|
// Chrome OS specific
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
// Chipset specific sleep states
|
// Chipset specific sleep states
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
#include <arch/io.h>
|
#include <arch/io.h>
|
||||||
#include <arch/interrupt.h>
|
#include <arch/interrupt.h>
|
||||||
#include <boot/coreboot_tables.h>
|
#include <boot/coreboot_tables.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#include "board_version.h"
|
#include "board_version.h"
|
||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
|
|
||||||
@ -51,6 +52,7 @@ static void mainboard_init(device_t dev)
|
|||||||
static void mainboard_enable(device_t dev)
|
static void mainboard_enable(device_t dev)
|
||||||
{
|
{
|
||||||
dev->ops->init = mainboard_init;
|
dev->ops->init = mainboard_init;
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,22 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2011 The ChromiumOS Authors. All rights reserved.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
Name(OIPG, Package() {
|
|
||||||
// No GPIO for recovery mode, developer mode, or firmware write protect
|
|
||||||
// on stout - note: all virtual pins are active HIGH polarity on stout.
|
|
||||||
Package() { 0x001, 1, 0xFF, "PantherPoint" }, // recovery button
|
|
||||||
Package() { 0x002, 1, 0xFF, "PantherPoint" }, // developer button
|
|
||||||
Package() { 0x003, 0, 7, "PantherPoint" }, // firmware write protect
|
|
||||||
})
|
|
@ -22,6 +22,7 @@
|
|||||||
|
|
||||||
#include <southbridge/intel/bd82x6x/pch.h>
|
#include <southbridge/intel/bd82x6x/pch.h>
|
||||||
#include <southbridge/intel/common/gpio.h>
|
#include <southbridge/intel/common/gpio.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
#include <ec/quanta/it8518/ec.h>
|
#include <ec/quanta/it8518/ec.h>
|
||||||
|
|
||||||
@ -133,3 +134,14 @@ int get_recovery_mode_switch(void)
|
|||||||
return ec_in_rec_mode;
|
return ec_in_rec_mode;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AH(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_REC_AH(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AL(7, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -50,7 +50,6 @@ DefinitionBlock(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
/* Chipset specific sleep states */
|
/* Chipset specific sleep states */
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
#include <smbios.h>
|
#include <smbios.h>
|
||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
#include <ec/quanta/it8518/ec.h>
|
#include <ec/quanta/it8518/ec.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
|
|
||||||
void mainboard_suspend_resume(void)
|
void mainboard_suspend_resume(void)
|
||||||
{
|
{
|
||||||
@ -66,6 +67,7 @@ static void mainboard_init(device_t dev)
|
|||||||
static void mainboard_enable(device_t dev)
|
static void mainboard_enable(device_t dev)
|
||||||
{
|
{
|
||||||
dev->ops->init = mainboard_init;
|
dev->ops->init = mainboard_init;
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_INT_LVDS, GMA_INT15_PANEL_FIT_DEFAULT, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_INT_LVDS, GMA_INT15_PANEL_FIT_DEFAULT, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2014 Google Inc.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
Name(OIPG, Package() {
|
|
||||||
Package () { 0x0001, 0, 12, "PCH-LP" }, // recovery button
|
|
||||||
Package () { 0x0003, 1, 58, "PCH-LP" }, // firmware write protect
|
|
||||||
})
|
|
@ -93,3 +93,13 @@ void save_chromeos_gpios(void)
|
|||||||
pci_write_config32(PCI_DEV(0, 0x1f, 2), SATA_SP, flags);
|
pci_write_config32(PCI_DEV(0, 0x1f, 2), SATA_SP, flags);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AL(GPIO_REC_MODE, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AH(GPIO_SPI_WP, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -46,7 +46,6 @@ DefinitionBlock(
|
|||||||
#include "acpi/thermal.asl"
|
#include "acpi/thermal.asl"
|
||||||
|
|
||||||
// Chrome OS specific
|
// Chrome OS specific
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
// Chipset specific sleep states
|
// Chipset specific sleep states
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
#include <arch/acpi.h>
|
#include <arch/acpi.h>
|
||||||
#include <arch/io.h>
|
#include <arch/io.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#include "onboard.h"
|
#include "onboard.h"
|
||||||
|
|
||||||
void mainboard_suspend_resume(void)
|
void mainboard_suspend_resume(void)
|
||||||
@ -35,6 +36,7 @@ static void mainboard_init(device_t dev)
|
|||||||
static void mainboard_enable(device_t dev)
|
static void mainboard_enable(device_t dev)
|
||||||
{
|
{
|
||||||
dev->ops->init = mainboard_init;
|
dev->ops->init = mainboard_init;
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct chip_operations mainboard_ops = {
|
struct chip_operations mainboard_ops = {
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2013 Google Inc.
|
|
||||||
* Copyright (C) 2016 Intel Corporation.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <soc/gpio_defs.h>
|
|
||||||
|
|
||||||
Name (OIPG, Package () {
|
|
||||||
/* No physical recovery GPIO. */
|
|
||||||
Package () { 0x0001, 0, 0xFFFFFFFF, "INT3452:01" },
|
|
||||||
/* Firmware write protect GPIO. */
|
|
||||||
Package () { 0x0003, 1, PAD_NW(GPIO_75), "INT3452:01" },
|
|
||||||
})
|
|
@ -18,6 +18,7 @@
|
|||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
|
|
||||||
#include <ec/google/chromeec/ec.h>
|
#include <ec/google/chromeec/ec.h>
|
||||||
|
#include <soc/gpio_defs.h>
|
||||||
#include <vendorcode/google/chromeos/chromeos.h>
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
|
|
||||||
int get_lid_switch(void)
|
int get_lid_switch(void)
|
||||||
@ -48,3 +49,13 @@ int get_write_protect_state(void)
|
|||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, GPIO_COMM_NW_NAME),
|
||||||
|
CROS_GPIO_WP_AH(PAD_NW(GPIO_75), GPIO_COMM_NW_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -39,10 +39,7 @@ DefinitionBlock(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if IS_ENABLED(CONFIG_CHROMEOS)
|
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Mainboard Specific devices */
|
/* Mainboard Specific devices */
|
||||||
#include "acpi/mainboard.asl"
|
#include "acpi/mainboard.asl"
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2011 The ChromiumOS Authors. All rights reserved.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
Name(OIPG, Package() {
|
|
||||||
Package () { 0x0001, 1, 69, "LynxPoint" }, // recovery
|
|
||||||
Package () { 0x0002, 0, 48, "LynxPoint" }, // developer
|
|
||||||
Package () { 0x0003, 0, 22, "LynxPoint" }, // firmware write protect
|
|
||||||
})
|
|
@ -20,6 +20,7 @@
|
|||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
#include <southbridge/intel/lynxpoint/pch.h>
|
#include <southbridge/intel/lynxpoint/pch.h>
|
||||||
#include <southbridge/intel/common/gpio.h>
|
#include <southbridge/intel/common/gpio.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
|
|
||||||
#ifndef __PRE_RAM__
|
#ifndef __PRE_RAM__
|
||||||
#include <boot/coreboot_tables.h>
|
#include <boot/coreboot_tables.h>
|
||||||
@ -102,3 +103,14 @@ int get_write_protect_state(void)
|
|||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AH(69, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_DEV_AL(48, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AL(22, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -48,7 +48,6 @@ DefinitionBlock(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
/* Chipset specific sleep states */
|
/* Chipset specific sleep states */
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
#include <arch/interrupt.h>
|
#include <arch/interrupt.h>
|
||||||
#include <boot/coreboot_tables.h>
|
#include <boot/coreboot_tables.h>
|
||||||
#include <southbridge/intel/lynxpoint/pch.h>
|
#include <southbridge/intel/lynxpoint/pch.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
|
|
||||||
void mainboard_suspend_resume(void)
|
void mainboard_suspend_resume(void)
|
||||||
{
|
{
|
||||||
@ -35,13 +36,12 @@ void mainboard_suspend_resume(void)
|
|||||||
outb(0xcb, 0xb2);
|
outb(0xcb, 0xb2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// mainboard_enable is executed as first thing after
|
// mainboard_enable is executed as first thing after
|
||||||
// enumerate_buses().
|
// enumerate_buses().
|
||||||
|
|
||||||
static void mainboard_enable(device_t dev)
|
static void mainboard_enable(device_t dev)
|
||||||
{
|
{
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2011 The ChromiumOS Authors. All rights reserved.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
Name(OIPG, Package() {
|
|
||||||
Package() { 0x001, 0, 22, "CougarPoint" }, // recovery button
|
|
||||||
Package() { 0x002, 1, 57, "CougarPoint" }, // developer switch
|
|
||||||
Package() { 0x003, 0, 48, "CougarPoint" }, // firmware write protect
|
|
||||||
})
|
|
@ -20,6 +20,7 @@
|
|||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
#include <southbridge/intel/bd82x6x/pch.h>
|
#include <southbridge/intel/bd82x6x/pch.h>
|
||||||
#include <southbridge/intel/common/gpio.h>
|
#include <southbridge/intel/common/gpio.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
|
|
||||||
#ifndef __PRE_RAM__
|
#ifndef __PRE_RAM__
|
||||||
#include <boot/coreboot_tables.h>
|
#include <boot/coreboot_tables.h>
|
||||||
@ -91,3 +92,14 @@ int get_recovery_mode_switch(void)
|
|||||||
/* Recovery: GPIO22, active low */
|
/* Recovery: GPIO22, active low */
|
||||||
return !get_gpio(22);
|
return !get_gpio(22);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AL(22, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_DEV_AH(57, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AL(48, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -49,7 +49,6 @@ DefinitionBlock(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
/* Chipset specific sleep states */
|
/* Chipset specific sleep states */
|
||||||
|
@ -28,12 +28,14 @@
|
|||||||
#include <arch/interrupt.h>
|
#include <arch/interrupt.h>
|
||||||
#include <boot/coreboot_tables.h>
|
#include <boot/coreboot_tables.h>
|
||||||
#include <southbridge/intel/bd82x6x/pch.h>
|
#include <southbridge/intel/bd82x6x/pch.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
|
|
||||||
// mainboard_enable is executed as first thing after
|
// mainboard_enable is executed as first thing after
|
||||||
// enumerate_buses().
|
// enumerate_buses().
|
||||||
|
|
||||||
static void mainboard_enable(device_t dev)
|
static void mainboard_enable(device_t dev)
|
||||||
{
|
{
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2013 Google Inc.
|
|
||||||
* Copyright (C) 2015 Intel Corporation.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "../gpio.h"
|
|
||||||
|
|
||||||
Name (OIPG, Package () {
|
|
||||||
/* No physical recovery GPIO. */
|
|
||||||
Package () { 0x0001, 0, 0xFFFFFFFF, "INT344B:00" },
|
|
||||||
/* Firmware write protect GPIO. */
|
|
||||||
Package () { 0x0003, 1, GPIO_PCH_WP, "INT344B:00" },
|
|
||||||
})
|
|
@ -82,3 +82,13 @@ int get_write_protect_state(void)
|
|||||||
/* Read PCH_WP GPIO. */
|
/* Read PCH_WP GPIO. */
|
||||||
return gpio_get(GPIO_PCH_WP);
|
return gpio_get(GPIO_PCH_WP);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AH(GPIO_PCH_WP, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
|
{
|
||||||
|
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
||||||
|
}
|
||||||
|
@ -45,7 +45,6 @@ DefinitionBlock(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Chrome OS specific
|
// Chrome OS specific
|
||||||
#include "acpi/chromeos.asl"
|
|
||||||
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
|
||||||
|
|
||||||
// Chipset specific sleep states
|
// Chipset specific sleep states
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <soc/nhlt.h>
|
#include <soc/nhlt.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#include "ec.h"
|
#include "ec.h"
|
||||||
#include "gpio.h"
|
#include "gpio.h"
|
||||||
|
|
||||||
@ -99,6 +100,7 @@ static void mainboard_enable(device_t dev)
|
|||||||
{
|
{
|
||||||
dev->ops->init = mainboard_init;
|
dev->ops->init = mainboard_init;
|
||||||
dev->ops->write_acpi_tables = mainboard_write_acpi_tables;
|
dev->ops->write_acpi_tables = mainboard_write_acpi_tables;
|
||||||
|
dev->ops->acpi_inject_dsdt_generator = chromeos_dsdt_generator;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct chip_operations mainboard_ops = {
|
struct chip_operations mainboard_ops = {
|
||||||
|
@ -1,33 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2011 Google Inc.
|
|
||||||
* Copyright (C) 2015 Intel Corp.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Fields are in the following order.
|
|
||||||
* - Type: recovery = 1 developer mode = 2 write protect = 3
|
|
||||||
* - Active Level - if -1 not a valid gpio
|
|
||||||
* - GPIO number encoding - if -1 not a valid gpio
|
|
||||||
* - Chipset Name
|
|
||||||
*
|
|
||||||
* Note: We need to encode gpios within the 4 separate banks
|
|
||||||
* with the MMIO offset of each banks space. e.g. MF_ISH_GPIO_4 would be encoded
|
|
||||||
* as 0x10013 where the SUS offset (COMMUNITY_OFFSET_GPEAST) is 0x10000.
|
|
||||||
*/
|
|
||||||
|
|
||||||
Name(OIPG, Package() {
|
|
||||||
/* No physical recovery button */
|
|
||||||
Package () { 0x0001, 0, 0xFFFFFFFF, "Braswell" },
|
|
||||||
Package () { 0x0003, 1, 0x10013, "Braswell" },
|
|
||||||
})
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user