Patrick Georgi submitted this change.

View Change

Approvals: build bot (Jenkins): Verified Felix Held: Looks good to me, approved Angel Pons: Looks good to me, approved
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>
---
A src/ec/51nb/npce985la0dx/Kconfig
A src/ec/51nb/npce985la0dx/Makefile.inc
A src/ec/51nb/npce985la0dx/npce985la0dx.c
3 files changed, 74 insertions(+), 0 deletions(-)

diff --git a/src/ec/51nb/npce985la0dx/Kconfig b/src/ec/51nb/npce985la0dx/Kconfig
new file mode 100644
index 0000000..caa5624
--- /dev/null
+++ b/src/ec/51nb/npce985la0dx/Kconfig
@@ -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
diff --git a/src/ec/51nb/npce985la0dx/Makefile.inc b/src/ec/51nb/npce985la0dx/Makefile.inc
new file mode 100644
index 0000000..810b324
--- /dev/null
+++ b/src/ec/51nb/npce985la0dx/Makefile.inc
@@ -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
diff --git a/src/ec/51nb/npce985la0dx/npce985la0dx.c b/src/ec/51nb/npce985la0dx/npce985la0dx.c
new file mode 100644
index 0000000..0e0fcd1
--- /dev/null
+++ b/src/ec/51nb/npce985la0dx/npce985la0dx.c
@@ -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,
+};

To view, visit change 39567. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I5798fad7fd18083cde1aa647fd91ca9c5ce963b7
Gerrit-Change-Number: 39567
Gerrit-PatchSet: 4
Gerrit-Owner: Matt DeVillier <matt.devillier@gmail.com>
Gerrit-Reviewer: Angel Pons <th3fanbus@gmail.com>
Gerrit-Reviewer: Felix Held <felix-coreboot@felixheld.de>
Gerrit-Reviewer: Martin Roth <martinroth@google.com>
Gerrit-Reviewer: Matthew Garrett <mjg59@google.com>
Gerrit-Reviewer: Patrick Georgi <pgeorgi@google.com>
Gerrit-Reviewer: Paul Menzel <paulepanter@users.sourceforge.net>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-MessageType: merged