summaryrefslogtreecommitdiff
path: root/src/ec/starlabs/it8987/ec.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ec/starlabs/it8987/ec.c')
-rw-r--r--src/ec/starlabs/it8987/ec.c83
1 files changed, 0 insertions, 83 deletions
diff --git a/src/ec/starlabs/it8987/ec.c b/src/ec/starlabs/it8987/ec.c
deleted file mode 100644
index b555d28b84..0000000000
--- a/src/ec/starlabs/it8987/ec.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-
-#include <console/console.h>
-#include <device/device.h>
-#include <device/pnp.h>
-#include <pc80/keyboard.h>
-#include <ec/acpi/ec.h>
-#include <delay.h>
-#include <option.h>
-
-#include "ec.h"
-#include "chip.h"
-
-u16 it8987_get_version(void)
-{
- return (ec_read(0x00) << 8) | ec_read(0x01);
-}
-
-static void it8987_init(struct device *dev)
-{
- if (!dev->enabled)
- return;
-
- /*
- * The address/data IO port pair for the IT8987 EC are configurable
- * through the EC domain and are fixed by the EC's firmware blob. If
- * the value(s) passed through the "dev" structure don't match the
- * expected values then output severe warnings.
- */
- if (dev->path.pnp.port != IT8987E_FIXED_ADDR) {
- printk(BIOS_ERR, "IT8987: Incorrect ports defined in devicetree.cb.\n");
- printk(BIOS_ERR, "IT8987: Serious operational issues will arise.\n");
- return;
- }
-
- u8 chipid1 = pnp_read_index(dev->path.pnp.port, IT8987_CHIPID1);
- u8 chipid2 = pnp_read_index(dev->path.pnp.port, IT8987_CHIPID2);
- if (chipid1 != IT8987_CHIPID1_VAL || chipid2 != IT8987_CHIPID2_VAL) {
- printk(BIOS_DEBUG, "IT8987: Device not found.\n");
- return;
- }
-
- printk(BIOS_DEBUG, "IT8987: Initializing keyboard.\n");
- pc_keyboard_init(NO_AUX_DEVICE);
-
- /* Enable the keyboard backlight support. */
- ec_write(0x18, 0xaa);
- ec_write(0x19, 0xdd);
-
- /* Set the timeout for the keyboard backlight. */
- ec_write(ECRAM_KBL_TIMEOUT, get_uint_option("kbl_timeout", 0));
-
- /*
- * Set the correct state for the Ctrl Fn Reverse option. This
- * swaps the Ctrl and Fn keys to make it like an Apple keyboard.
- */
- ec_write(ECRAM_FN_CTRL_REVERSE, get_uint_option("fn_ctrl_swap", 0));
- /*
- * Copy the stored state of the fn_lock_state CMOS variable to the
- * corresponding location within the EC RAM.
- */
- ec_write(ECRAM_FN_LOCK_STATE, get_uint_option("fn_lock_state", 0));
-}
-
-static struct device_operations ops = {
- .init = it8987_init,
- .read_resources = noop_read_resources,
- .set_resources = noop_set_resources,
-};
-
-static struct pnp_info pnp_dev_info[] = {
- { NULL, 0, 0, 0, }
-};
-
-static void enable_dev(struct device *dev)
-{
- pnp_enable_devices(dev, &ops, ARRAY_SIZE(pnp_dev_info), pnp_dev_info);
-}
-
-struct chip_operations ec_starlabs_it8987_ops = {
- CHIP_NAME("ITE IT8987 EC")
- .enable_dev = enable_dev
-};