aboutsummaryrefslogtreecommitdiff
path: root/src/ec/hp/kbc1126/Makefile.inc
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2017-03-26 10:25:00 +0800
committerMartin Roth <martinroth@google.com>2017-08-11 16:10:52 +0000
commit44d399c394f0cd5d38dffe551742badc100573d3 (patch)
tree23084902b39de3b72963bfc8bf8d24ebce979951 /src/ec/hp/kbc1126/Makefile.inc
parentae1548621acae99b7f7ac4a722607af0a4a0c825 (diff)
ec: add support for KBC1126 in HP laptops
- let the coreboot build system insert the two blobs to the coreboot image - EC and Super I/O initialization - ACPI support Tested on 2760p, 8460p, 2570p, 8470p. Issue: Kernel gives the following error: ACPI Error: No handler for Region [ECRM] (...) [EmbeddedControl] ACPI Error: Region EmbeddedControl (ID=3) has no handler TODO: - consider moving the Super I/O initialization code to ramstage, or reuse the existing sio/smsc/kbc1100 code (if so, how to add the additional kbc1126 specific functions to sio/kbc1100) - sort out the ACPI code which is mostly from the ACPI dump of vendor firmware - find out why the digitizer in hp/2760p doesn't work - GRUB payload freezing on all HP Elitebooks may be related to EC Change-Id: I6b16eb7e26303eda740f52d667dedb7cc04b4ef0 Signed-off-by: Iru Cai <mytbk920423@gmail.com> Reviewed-on: https://review.coreboot.org/19072 Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/ec/hp/kbc1126/Makefile.inc')
-rw-r--r--src/ec/hp/kbc1126/Makefile.inc58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/ec/hp/kbc1126/Makefile.inc b/src/ec/hp/kbc1126/Makefile.inc
new file mode 100644
index 0000000000..83b78f0112
--- /dev/null
+++ b/src/ec/hp/kbc1126/Makefile.inc
@@ -0,0 +1,58 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2017 Iru Cai
+##
+## 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.
+##
+
+ifeq ($(CONFIG_EC_HP_KBC1126),y)
+KBC1126_EC_INSERT:=$(top)/util/kbc1126/kbc1126_ec_insert
+INTERMEDIATE+=kbc1126_ec_insert
+
+ifeq ($(CONFIG_KBC1126_FIRMWARE),y)
+cbfs-files-y += ecfw1.bin
+cbfs-files-y += ecfw2.bin
+
+ecfw1.bin-file := $(call strip_quotes,$(CONFIG_KBC1126_FW1))
+ecfw1.bin-position := $(CONFIG_KBC1126_FW1_OFFSET)
+ecfw1.bin-type := raw
+
+ecfw2.bin-file := $(call strip_quotes,$(CONFIG_KBC1126_FW2))
+ecfw2.bin-position := $(CONFIG_KBC1126_FW2_OFFSET)
+ecfw2.bin-type := raw
+endif
+
+kbc1126_ec_insert: $(obj)/coreboot.pre
+ifeq ($(CONFIG_KBC1126_FIRMWARE),y)
+ printf " Building kbc1126_ec_insert.\n"
+ $(MAKE) -C util/kbc1126
+ printf " KBC1126 Inserting KBC1126 firmware blobs.\n"
+ $(KBC1126_EC_INSERT) $(obj)/coreboot.pre \
+ $(CONFIG_KBC1126_FW1_OFFSET) $(CONFIG_KBC1126_FW2_OFFSET)
+endif
+
+PHONY+=kbc1126_ec_insert
+
+build_complete::
+ifeq ($(CONFIG_KBC1126_FIRMWARE),)
+ printf "\n** WARNING **\n"
+ printf "You haven't added the firmware blobs for KBC1126 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 KBC1126 EC\n\n"
+ printf "You can read util/kbc1126/README.md for details.\n\n"
+endif
+
+ramstage-y += ec.c
+romstage-y += early_init.c
+
+endif