ec/51nb: add support for NPCE985LA0DX EC

Add support for the NPCE985LA0DX, as used on the 51NB X210
(to be added in a follow-on commit, and from which this was extracted).

Original source: https://review.coreboot.org/c/coreboot/+/32531/37

Change-Id: I5798fad7fd18083cde1aa647fd91ca9c5ce963b7
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Signed-off-by: Matthew Garrett <mjg59@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/39567
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
This commit is contained in:
Matt DeVillier 2020-03-14 16:22:01 -05:00 committed by Patrick Georgi
parent 93b0c7cfc6
commit 2677e2dbf6
3 changed files with 74 additions and 0 deletions

View File

@ -0,0 +1,28 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# This file is part of the coreboot project.
config EC_51NB_NPCE985LA0DX
bool
default n
help
Support for the 51NB NPCE985LA0DX EC
if EC_51NB_NPCE985LA0DX
comment "Please select the following otherwise your laptop cannot be powered on."
config EC_51NB_NPCE985LA0DX_FIRMWARE
bool "Add firmware image for 51NB NPCE985LA0DX EC"
depends on EC_51NB_NPCE985LA0DX
default n
help
Select this option to add the firmware blob for the 51NB EC.
You need this blob to power on your machine.
config EC_51NB_NPCE985LA0DX_FW
string "51NB EC firmware path"
depends on EC_51NB_NPCE985LA0DX_FIRMWARE
default "ec.bin"
help
The path and filename of the file to use as 51NB firmware.
endif

View File

@ -0,0 +1,23 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# This file is part of the coreboot project.
ifeq ($(CONFIG_EC_51NB_NPCE985LA0DX),y)
files_added::
ifeq ($(CONFIG_EC_51NB_NPCE985LA0DX_FIRMWARE),y)
$(CBFSTOOL) $(obj)/coreboot.rom write -r EC -f $(CONFIG_EC_51NB_NPCE985LA0DX_FW) --fill-upward
endif
build_complete::
ifeq ($(CONFIG_EC_51NB_NPCE985LA0DX_FIRMWARE),)
printf "\n** WARNING **\n"
printf "You haven't added the firmware blobs for 51NB EC.\n"
printf "You may be unable to power on your laptop without these blobs.\n"
printf "Please select the following option to add them:\n\n"
printf " Chipset --->\n"
printf " [*] Add firmware images for 51NB EC\n\n"
endif
ramstage-y += npce985la0dx.c
endif

View File

@ -0,0 +1,23 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/* This file is part of the coreboot project. */
#include <device/pnp.h>
/*
* This embedded controller looks awfully like a Super I/O chip. LDNs 5 and 6
* need to be enabled to turn on the keyboard and mouse controller, and LDN
* 0x11 needs to be enabled to turn on ACPI embedded controller functionality.
*/
static struct pnp_info dev_infos[] = {
{ NULL, 0x05 }, { NULL, 0x06 }, { NULL, 0x11 }
};
static void ec_51nb_npce985la0dx_ops_enable(struct device *dev)
{
pnp_enable_devices(dev, &pnp_ops, ARRAY_SIZE(dev_infos), dev_infos);
}
struct chip_operations ec_51nb_npce985la0dx_ops = {
CHIP_NAME("51NB EC")
.enable_dev = ec_51nb_npce985la0dx_ops_enable,
};