From 5360c7ef94c9415fd0decd99b6a2d243f9c52e4c Mon Sep 17 00:00:00 2001 From: Furquan Shaikh Date: Sun, 19 Feb 2017 01:18:09 -0800 Subject: drivers/i2c: Use I2C HID driver for wacom devices Wacom I2C driver does the same thing as I2C HID driver, other than defining macros for Wacom HID. Instead of maintaining two separate drivers providing the same functionality, update all wacom devices to use generic I2C HID driver. BUG=None BRANCH=None TEST=Verified that ACPI nodes for wacom devices are unchanged. Change-Id: Ibb3226d1f3934f5c3c5d98b939756775d11b792c Signed-off-by: Furquan Shaikh Reviewed-on: https://review.coreboot.org/18401 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel Reviewed-by: Duncan Laurie --- src/drivers/i2c/wacom/Kconfig | 3 -- src/drivers/i2c/wacom/Makefile.inc | 1 - src/drivers/i2c/wacom/chip.h | 32 ------------ src/drivers/i2c/wacom/wacom.c | 60 ---------------------- src/mainboard/google/eve/Kconfig | 1 - src/mainboard/google/eve/devicetree.cb | 7 ++- src/mainboard/google/poppy/Kconfig | 2 +- src/mainboard/google/poppy/devicetree.cb | 11 ++-- src/mainboard/google/reef/Kconfig | 1 - .../google/reef/variants/baseboard/devicetree.cb | 11 ++-- .../google/reef/variants/pyro/devicetree.cb | 25 ++++----- .../google/reef/variants/snappy/devicetree.cb | 11 ++-- src/mainboard/intel/leafhill/Kconfig | 1 + src/mainboard/intel/leafhill/devicetree.cb | 11 ++-- 14 files changed, 32 insertions(+), 145 deletions(-) delete mode 100644 src/drivers/i2c/wacom/Kconfig delete mode 100644 src/drivers/i2c/wacom/Makefile.inc delete mode 100644 src/drivers/i2c/wacom/chip.h delete mode 100644 src/drivers/i2c/wacom/wacom.c (limited to 'src') diff --git a/src/drivers/i2c/wacom/Kconfig b/src/drivers/i2c/wacom/Kconfig deleted file mode 100644 index be2bf8336b..0000000000 --- a/src/drivers/i2c/wacom/Kconfig +++ /dev/null @@ -1,3 +0,0 @@ -config DRIVERS_I2C_WACOM - bool - select DRIVERS_I2C_GENERIC diff --git a/src/drivers/i2c/wacom/Makefile.inc b/src/drivers/i2c/wacom/Makefile.inc deleted file mode 100644 index e8df2c68a8..0000000000 --- a/src/drivers/i2c/wacom/Makefile.inc +++ /dev/null @@ -1 +0,0 @@ -ramstage-$(CONFIG_DRIVERS_I2C_WACOM) += wacom.c diff --git a/src/drivers/i2c/wacom/chip.h b/src/drivers/i2c/wacom/chip.h deleted file mode 100644 index fc75194119..0000000000 --- a/src/drivers/i2c/wacom/chip.h +++ /dev/null @@ -1,32 +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. - */ - -#ifndef __I2C_WACOM_CHIP_H__ -#define __I2C_WACOM_CHIP_H__ - -#include - -#define WCOM50C1_HID "WCOM50C1" -#define WCOMNTN2_HID "WCOMNTN2" -#define PNP0C50_CID "PNP0C50" -#define WCOM_TS_DESC "WCOM Touchscreen" -#define WCOM_DT_DESC "WCOM Digitizer" - -struct drivers_i2c_wacom_config { - struct drivers_i2c_generic_config generic; - uint8_t hid_desc_reg_offset; -}; - -#endif /* __I2C_WACOM_CHIP_H__ */ diff --git a/src/drivers/i2c/wacom/wacom.c b/src/drivers/i2c/wacom/wacom.c deleted file mode 100644 index e6d12775a2..0000000000 --- a/src/drivers/i2c/wacom/wacom.c +++ /dev/null @@ -1,60 +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 -#include -#include -#include "chip.h" - -static void i2c_wacom_fill_dsm(struct device *dev) -{ - struct drivers_i2c_wacom_config *config = dev->chip_info; - struct dsm_i2c_hid_config dsm_config = { - .hid_desc_reg_offset = config->hid_desc_reg_offset, - }; - - acpigen_write_dsm_i2c_hid(&dsm_config); -} - -static void i2c_wacom_fill_ssdt_generator(struct device *dev) -{ - struct drivers_i2c_wacom_config *config = dev->chip_info; - i2c_generic_fill_ssdt(dev, &i2c_wacom_fill_dsm, &config->generic); -} - -static const char *i2c_wacom_acpi_name(struct device *dev) -{ - return "WCOM"; -} - -static struct device_operations i2c_wacom_ops = { - .read_resources = DEVICE_NOOP, - .set_resources = DEVICE_NOOP, - .enable_resources = DEVICE_NOOP, -#if IS_ENABLED(CONFIG_HAVE_ACPI_TABLES) - .acpi_name = &i2c_wacom_acpi_name, - .acpi_fill_ssdt_generator = &i2c_wacom_fill_ssdt_generator, -#endif -}; - -static void i2c_wacom_enable(struct device *dev) -{ - dev->ops = &i2c_wacom_ops; -} - -struct chip_operations drivers_i2c_wacom_ops = { - CHIP_NAME("Wacom I2C Device") - .enable_dev = &i2c_wacom_enable -}; diff --git a/src/mainboard/google/eve/Kconfig b/src/mainboard/google/eve/Kconfig index 84f2df8c51..f51134c73e 100644 --- a/src/mainboard/google/eve/Kconfig +++ b/src/mainboard/google/eve/Kconfig @@ -6,7 +6,6 @@ config BOARD_SPECIFIC_OPTIONS select BOARD_ROMSIZE_KB_16384 select DRIVERS_I2C_GENERIC select DRIVERS_I2C_HID - select DRIVERS_I2C_WACOM select DRIVERS_PS2_KEYBOARD select DRIVERS_I2C_MAX98927 select DRIVERS_SPI_ACPI diff --git a/src/mainboard/google/eve/devicetree.cb b/src/mainboard/google/eve/devicetree.cb index e5744e3754..e40f0a3093 100644 --- a/src/mainboard/google/eve/devicetree.cb +++ b/src/mainboard/google/eve/devicetree.cb @@ -205,10 +205,9 @@ chip soc/intel/skylake device pci 14.1 off end # USB xDCI (OTG) device pci 14.2 on end # Thermal Subsystem device pci 15.0 on - chip drivers/i2c/wacom - register "generic.hid" = "WCOM50C1_HID" - register "generic.cid" = "PNP0C50_CID" - register "generic.desc" = "WCOM_DT_DESC" + chip drivers/i2c/hid + register "generic.hid" = ""WCOM50C1"" + register "generic.desc" = ""WCOM Digitizer"" register "generic.irq" = "IRQ_LEVEL_LOW(GPP_E7_IRQ)" register "generic.speed" = "I2C_SPEED_FAST_PLUS" register "hid_desc_reg_offset" = "0x1" diff --git a/src/mainboard/google/poppy/Kconfig b/src/mainboard/google/poppy/Kconfig index dc1be0afdd..cd30f261f6 100644 --- a/src/mainboard/google/poppy/Kconfig +++ b/src/mainboard/google/poppy/Kconfig @@ -5,7 +5,7 @@ config BOARD_SPECIFIC_OPTIONS select BOARD_ID_AUTO select BOARD_ROMSIZE_KB_16384 select DRIVERS_I2C_GENERIC - select DRIVERS_I2C_WACOM + select DRIVERS_I2C_HID select EC_GOOGLE_CHROMEEC select EC_GOOGLE_CHROMEEC_LPC select HAVE_ACPI_RESUME diff --git a/src/mainboard/google/poppy/devicetree.cb b/src/mainboard/google/poppy/devicetree.cb index 72bb0b1f55..121174da48 100644 --- a/src/mainboard/google/poppy/devicetree.cb +++ b/src/mainboard/google/poppy/devicetree.cb @@ -209,13 +209,10 @@ chip soc/intel/skylake device pci 15.1 on end # I2C #1 device pci 15.2 on end # I2C #2 device pci 15.3 on - chip drivers/i2c/wacom - register "generic" = "{ - .hid = WCOM50C1_HID, - .cid = PNP0C50_CID, - .desc = WCOM_DT_DESC, - .irq = IRQ_LEVEL_LOW(GPP_D1_IRQ), - }" + chip drivers/i2c/hid + register "generic.hid" = ""WCOM50C1"" + register "generic.desc" = ""WCOM Digitizer"" + register "generic.irq" = "IRQ_LEVEL_LOW(GPP_D1_IRQ)" register "hid_desc_reg_offset" = "0x1" device i2c 0x9 on end end diff --git a/src/mainboard/google/reef/Kconfig b/src/mainboard/google/reef/Kconfig index 8612747a12..d099be4b8e 100644 --- a/src/mainboard/google/reef/Kconfig +++ b/src/mainboard/google/reef/Kconfig @@ -7,7 +7,6 @@ config BOARD_GOOGLE_BASEBOARD_REEF select DRIVERS_I2C_DA7219 select DRIVERS_I2C_GENERIC select DRIVERS_I2C_HID - select DRIVERS_I2C_WACOM select DRIVERS_PS2_KEYBOARD select EC_GOOGLE_CHROMEEC select EC_GOOGLE_CHROMEEC_LPC diff --git a/src/mainboard/google/reef/variants/baseboard/devicetree.cb b/src/mainboard/google/reef/variants/baseboard/devicetree.cb index 2ccf277299..6e51838ecd 100644 --- a/src/mainboard/google/reef/variants/baseboard/devicetree.cb +++ b/src/mainboard/google/reef/variants/baseboard/devicetree.cb @@ -196,13 +196,10 @@ chip soc/intel/apollolake end end # - I2C 4 device pci 17.1 on - chip drivers/i2c/wacom - register "generic" = "{ - .hid = WCOM50C1_HID, - .cid = PNP0C50_CID, - .desc = WCOM_DT_DESC, - .irq = IRQ_LEVEL_LOW(GPIO_13_IRQ), - }" + chip drivers/i2c/hid + register "generic.hid" = ""WCOM50C1"" + register "generic.desc" = ""WCOM Digitizer"" + register "generic.irq" = "IRQ_LEVEL_LOW(GPIO_13_IRQ)" register "hid_desc_reg_offset" = "0x1" device i2c 0x9 on end end diff --git a/src/mainboard/google/reef/variants/pyro/devicetree.cb b/src/mainboard/google/reef/variants/pyro/devicetree.cb index c36d19d94c..a01fa04d35 100644 --- a/src/mainboard/google/reef/variants/pyro/devicetree.cb +++ b/src/mainboard/google/reef/variants/pyro/devicetree.cb @@ -181,20 +181,17 @@ chip soc/intel/apollolake end end # - I2C 2 device pci 16.3 on - chip drivers/i2c/wacom - register "generic" = "{ - .hid = WCOMNTN2_HID, - .cid = PNP0C50_CID, - .desc = WCOM_TS_DESC, - .irq = IRQ_LEVEL_LOW(GPIO_21_IRQ), - .probed = 1, - .reset_gpio = ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_36), - .reset_delay_ms = 20, - .enable_gpio = ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_152), - .enable_delay_ms = 1, - .has_power_resource = 1, - .disable_gpio_export_in_crs = 1, - }" + chip drivers/i2c/hid + register "generic.hid" = ""WCOMNTN2"" + register "generic.desc" = ""WCOM Touchscreen"" + register "generic.irq" = "IRQ_LEVEL_LOW(GPIO_21_IRQ)" + register "generic.probed" = "1" + register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_36)" + register "generic.reset_delay_ms" = "20" + register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_152)" + register "generic.enable_delay_ms" = "1" + register "generic.has_power_resource" = "1" + register "generic.disable_gpio_export_in_crs" = "1" register "hid_desc_reg_offset" = "0x1" device i2c 0xA on end end diff --git a/src/mainboard/google/reef/variants/snappy/devicetree.cb b/src/mainboard/google/reef/variants/snappy/devicetree.cb index c83306d3d1..8d9d307228 100644 --- a/src/mainboard/google/reef/variants/snappy/devicetree.cb +++ b/src/mainboard/google/reef/variants/snappy/devicetree.cb @@ -210,13 +210,10 @@ chip soc/intel/apollolake end end # - I2C 4 device pci 17.1 on - chip drivers/i2c/wacom - register "generic" = "{ - .hid = WCOM50C1_HID, - .cid = PNP0C50_CID, - .desc = WCOM_DT_DESC, - .irq = IRQ_LEVEL_LOW(GPIO_13_IRQ), - }" + chip drivers/i2c/hid + register "generic.hid" = ""WCOM50C1"" + register "generic.desc" = ""WCOM Digitizer"" + register "generic.irq" = "IRQ_LEVEL_LOW(GPIO_13_IRQ)" register "hid_desc_reg_offset" = "0x1" device i2c 0x9 on end end diff --git a/src/mainboard/intel/leafhill/Kconfig b/src/mainboard/intel/leafhill/Kconfig index ded4d24338..ddef0e7d3f 100644 --- a/src/mainboard/intel/leafhill/Kconfig +++ b/src/mainboard/intel/leafhill/Kconfig @@ -4,6 +4,7 @@ config BOARD_SPECIFIC_OPTIONS def_bool y select SOC_INTEL_APOLLOLAKE select BOARD_ROMSIZE_KB_16384 + select DRIVERS_I2C_HID select HAVE_ACPI_TABLES # select HAVE_INTEL_FIRMWARE # select HAVE_ME_BIN diff --git a/src/mainboard/intel/leafhill/devicetree.cb b/src/mainboard/intel/leafhill/devicetree.cb index 2ccf277299..6e51838ecd 100644 --- a/src/mainboard/intel/leafhill/devicetree.cb +++ b/src/mainboard/intel/leafhill/devicetree.cb @@ -196,13 +196,10 @@ chip soc/intel/apollolake end end # - I2C 4 device pci 17.1 on - chip drivers/i2c/wacom - register "generic" = "{ - .hid = WCOM50C1_HID, - .cid = PNP0C50_CID, - .desc = WCOM_DT_DESC, - .irq = IRQ_LEVEL_LOW(GPIO_13_IRQ), - }" + chip drivers/i2c/hid + register "generic.hid" = ""WCOM50C1"" + register "generic.desc" = ""WCOM Digitizer"" + register "generic.irq" = "IRQ_LEVEL_LOW(GPIO_13_IRQ)" register "hid_desc_reg_offset" = "0x1" device i2c 0x9 on end end -- cgit v1.2.3