Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c299220b authored by Fei Mao's avatar Fei Mao Committed by Fei
Browse files

input: touchscreen: cyttsp5: enable new touch driver



Enable the cyttsp5 driver by default.

Change-Id: I6474b59be37a74cd24f73c667290e3ebfadcdd62
Signed-off-by: default avatarFei Mao <feim1@codeaurora.org>
parent 3541909b
Loading
Loading
Loading
Loading
+131 −0
Original line number Diff line number Diff line
@@ -238,6 +238,137 @@ config TOUCHSCREEN_CYTTSP4_SPI
	  To compile this driver as a module, choose M here: the
	  module will be called cyttsp4_spi.

config TOUCHSCREEN_CYPRESS_CYTTSP5
	tristate "Parade TrueTouch Gen5 Touchscreen Driver"
	default y
	help
	  Core driver for Parade TrueTouch(tm) Standard Product
	  Geneartion5 touchscreen controllers.

	  Say Y here if you have a Parade Gen5 touchscreen.

	  If unsure, say N.

	  To compile this driver as a module, choose M here: the
	  module will be called cyttsp5.

config TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICETREE_SUPPORT
	bool "Enable Device Tree support"
	depends on TOUCHSCREEN_CYPRESS_CYTTSP5 && OF
	default y
	help
	  Devicetree parsor for Parade TrueTouch(tm) Standard Product
	  Geneartion5 touchscreen controllers. Say Y here to enable
	  support for device tree.

	  If unsure, say N.

config TOUCHSCREEN_CYPRESS_CYTTSP5_I2C
	tristate "Parade TrueTouch Gen5 I2C"
	depends on TOUCHSCREEN_CYPRESS_CYTTSP5
	select I2C
	default y
	help
	  Say Y here to enable I2C bus interface to Parade
	  TrueTouch(tm) Standard Product Generation5 touchscreen
	  controller.

	  If unsure, say Y.

	  To compile this driver as a module, choose M here: the
	  module will be called cyttsp5_i2c.

config TOUCHSCREEN_CYPRESS_CYTTSP5_SPI
	tristate "Parade TrueTouch Gen5 SPI"
	depends on TOUCHSCREEN_CYPRESS_CYTTSP5
	select SPI
	help
	  Say Y here to enable SPI bus interface to Parade
	  TrueTouch(tm) Standard Product Generation5 touchscreen
	  controller.

	  If unsure, say N.

	  To compile this driver as a module, choose M here: the
	  module will be called cyttsp5_spi.

config TOUCHSCREEN_CYPRESS_CYTTSP5_MT_A
	bool "Parade TrueTouch Gen5 MultiTouch Protocol A"
	depends on TOUCHSCREEN_CYPRESS_CYTTSP5
	help
	  This option controls which MultiTouch protocol will be
	  used to report the touch events. This depends on your
	  usage.

	  Select to enable MultiTouch touch reporting using protocol A
	  on Parade TrueTouch(tm) Standard Product Generation4 touchscreen
	  controller.

	  If unsure, say N.

config TOUCHSCREEN_CYPRESS_CYTTSP5_MT_B
	bool "Parade TrueTouch Gen5 MultiTouch Protocol B"
	depends on TOUCHSCREEN_CYPRESS_CYTTSP5
	default y
	help
	  This option controls which MultiTouch protocol will be
	  used to report the touch events. This depends on your
	  usage.

	  Select to enable MultiTouch touch reporting using protocol B
	  on Parade TrueTouch(tm) Standard Product Generation4 touchscreen
	  controller.

	  If unsure, say N.

config TOUCHSCREEN_CYPRESS_CYTTSP5_BUTTON
	bool "Parade TrueTouch Gen5 MultiTouch CapSense Button"
	depends on TOUCHSCREEN_CYPRESS_CYTTSP5
	default y
	help
	  Say Y here to enable CapSense reporting on Parade
	  TrueTouch(tm) Standard Product Generation5 touchscreen
	  controller.

	  If unsure, say N.

config TOUCHSCREEN_CYPRESS_CYTTSP5_PROXIMITY
	bool "Parade TrueTouch Gen5 Proximity"
	depends on TOUCHSCREEN_CYPRESS_CYTTSP5
	default y
	help
	  Say Y here to enable proximity reporting on Parade
	  TrueTouch(tm) Standard Product Generation5 touchscreen
	  controller.

	  If unsure, say N.

config TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICE_ACCESS
	tristate "Parade TrueTouch Gen5 MultiTouch Device Access"
	depends on TOUCHSCREEN_CYPRESS_CYTTSP5
	default y
	help
	  Say Y here to enable Parade TrueTouch(tm) Standard Product
	  Generation5 touchscreen controller device access module.

	  This modules adds an interface to access touchscreen
	  controller using driver sysfs nodes.

	  If unsure, say N.

	  To compile this driver as a module, choose M here: the
	  module will be called cyttsp5_device_access.

config TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICE_ACCESS_API
	bool "Enable Device Access kernel API"
	depends on TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICE_ACCESS
	help
	  Say Y here to enable Device access kernel API which provides
	  access to Parade TrueTouch(tm) Standard Product Generation5
	  touchscreen controller for other modules.

	  If unsure, say N.

config TOUCHSCREEN_DA9034
	tristate "Touchscreen support for Dialog Semiconductor DA9034"
	depends on PMIC_DA903X
+1 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ obj-$(CONFIG_TOUCHSCREEN_CYTTSP_SPI) += cyttsp_spi.o
obj-$(CONFIG_TOUCHSCREEN_CYTTSP4_CORE)	+= cyttsp4_core.o
obj-$(CONFIG_TOUCHSCREEN_CYTTSP4_I2C)	+= cyttsp4_i2c.o cyttsp_i2c_common.o
obj-$(CONFIG_TOUCHSCREEN_CYTTSP4_SPI)	+= cyttsp4_spi.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5)	+= cyttsp5/
obj-$(CONFIG_TOUCHSCREEN_DA9034)	+= da9034-ts.o
obj-$(CONFIG_TOUCHSCREEN_DA9052)	+= da9052_tsi.o
obj-$(CONFIG_TOUCHSCREEN_DYNAPRO)	+= dynapro.o
+1 −1
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ endif
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_I2C) += cyttsp5_i2c.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_SPI) += cyttsp5_spi.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_DEBUG_MDL) += cyttsp5_debug.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_LOADER) += cyttsp5_loader.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5) += cyttsp5_loader.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICE_ACCESS) += cyttsp5_device_access.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_TEST_DEVICE_ACCESS_API) += cyttsp5_test_device_access_api.o

+10 −13
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@
 * CYTT21XXX
 * CYTT31XXX
 *
 * Copyright (C) 2015 Parade Technologies
 * Copyright (C) 2015-2019 Parade Technologies
 * Copyright (C) 2012-2015 Cypress Semiconductor
 *
 * This program is free software; you can redistribute it and/or
@@ -36,8 +36,7 @@ static inline void cyttsp5_btn_key_action(struct cyttsp5_btn_data *bd,
	struct device *dev = bd->dev;
	struct cyttsp5_sysinfo *si = bd->si;

	if (!si->btn[btn_no].enabled ||
			si->btn[btn_no].state == btn_state)
	if (!si->btn[btn_no].enabled || si->btn[btn_no].state == btn_state)
		return;

	si->btn[btn_no].state = btn_state;
@@ -46,8 +45,7 @@ static inline void cyttsp5_btn_key_action(struct cyttsp5_btn_data *bd,

	parade_debug(dev, DEBUG_LEVEL_1, "%s: btn=%d key_code=%d %s\n",
		__func__, btn_no, si->btn[btn_no].key_code,
		btn_state == CY_BTN_PRESSED ?
			"PRESSED" : "RELEASED");
		btn_state == CY_BTN_PRESSED ? "PRESSED" : "RELEASED");
}

static void cyttsp5_get_btn_touches(struct cyttsp5_btn_data *bd)
@@ -96,8 +94,7 @@ static void cyttsp5_log_btn_data(struct cyttsp5_btn_data *bd)
			value = 0;
		snprintf(pr_buf, CY_MAX_PRBUF_SIZE, "btn_rec[%d]=0x", cur);
		snprintf(pr_buf, CY_MAX_PRBUF_SIZE, "%s%X (%02X)",
			pr_buf, value,
			le16_to_cpu(si->xy_data[1 + cur * 2]));
			pr_buf, value, le16_to_cpu(si->xy_data[1 + cur * 2]));

		parade_debug(dev, DEBUG_LEVEL_2, "%s: %s\n", __func__, pr_buf);
	}
@@ -276,7 +273,7 @@ static int cyttsp5_setup_input_attention(struct device *dev)

	bd->si = _cyttsp5_request_sysinfo(dev);
	if (!bd->si)
		return -1;
		return -EPERM;

	rc = cyttsp5_setup_input_device(dev);

@@ -306,8 +303,8 @@ int cyttsp5_btn_probe(struct device *dev)
	bd->pdata = btn_pdata;

	/* Create the input device and register it. */
	parade_debug(dev, DEBUG_LEVEL_2, "%s: Create the input device and register it\n",
		__func__);
	parade_debug(dev, DEBUG_LEVEL_2,
		"%s: Create the input device and register it\n", __func__);
	bd->input = input_allocate_device();
	if (!bd->input) {
		dev_err(dev, "%s: Error, failed to allocate input device\n",
@@ -336,7 +333,7 @@ int cyttsp5_btn_probe(struct device *dev)
		if (rc)
			goto error_init_input;
	} else {
		dev_err(dev, "%s: Fail get sysinfo pointer from core p=%p\n",
		dev_err(dev, "%s: Fail get sysinfo pointer from core p=%pK\n",
			__func__, bd->si);
		_cyttsp5_subscribe_attention(dev, CY_ATTEN_STARTUP,
			CYTTSP5_BTN_NAME, cyttsp5_setup_input_attention, 0);
@@ -357,9 +354,9 @@ int cyttsp5_btn_release(struct device *dev)
	struct cyttsp5_core_data *cd = dev_get_drvdata(dev);
	struct cyttsp5_btn_data *bd = &cd->bd;

	if (bd->input_device_registered) {
	if (bd->input_device_registered)
		input_unregister_device(bd->input);
	} else {
	else {
		input_free_device(bd->input);
		_cyttsp5_unsubscribe_attention(dev, CY_ATTEN_STARTUP,
			CYTTSP5_BTN_NAME, cyttsp5_setup_input_attention, 0);
+496 −251

File changed.

Preview size limit exceeded, changes collapsed.

Loading