# [SOLVE] kernel option for Acer C720 Chromebook

## minsoehan

I install Gentoo on Acer C720 Chromebook.

Everything fines but touchpad.

It doesn't work with synaptics or libinput.

As I know kernel option for this Chromebook's touchpad is CONFIG_MOUSE_CYAPA: Cypress APA I2C Trackpad support.

I enable in kernel configuration but still not work.

Is there anyone using gentoo Acer C720 Chromebook?Last edited by minsoehan on Fri Mar 31, 2017 11:08 pm; edited 1 time in total

----------

## NeddySeagoon

minsoehan,

You also need the correct I2C support in the kernel.

----------

## minsoehan

 *Quote:*   

> correct I2C support

 

I have I2C support enabled I think. But it is correct or not.

Here is mine:

```
CONFIG_REGMAP_I2C=y

# CONFIG_SENSORS_LIS3_I2C is not set

CONFIG_MOUSE_ELAN_I2C=m

CONFIG_MOUSE_ELAN_I2C_I2C=y

CONFIG_MOUSE_ELAN_I2C_SMBUS=y

CONFIG_MOUSE_SYNAPTICS_I2C=m

# I2C support

CONFIG_I2C=y

CONFIG_ACPI_I2C_OPREGION=y

CONFIG_I2C_BOARDINFO=y

CONFIG_I2C_COMPAT=y

CONFIG_I2C_CHARDEV=y

CONFIG_I2C_MUX=m

# Multiplexer I2C Chip support

CONFIG_I2C_MUX_PCA9541=m

CONFIG_I2C_MUX_PINCTRL=m

CONFIG_I2C_MUX_REG=m

CONFIG_I2C_HELPER_AUTO=y

CONFIG_I2C_SMBUS=y

CONFIG_I2C_ALGOBIT=y

# I2C Hardware Bus support

# CONFIG_I2C_ALI1535 is not set

# CONFIG_I2C_ALI1563 is not set

# CONFIG_I2C_ALI15X3 is not set

# CONFIG_I2C_AMD756 is not set

# CONFIG_I2C_AMD8111 is not set

CONFIG_I2C_I801=y

# CONFIG_I2C_ISCH is not set

# CONFIG_I2C_ISMT is not set

# CONFIG_I2C_PIIX4 is not set

# CONFIG_I2C_NFORCE2 is not set

# CONFIG_I2C_SIS5595 is not set

# CONFIG_I2C_SIS630 is not set

# CONFIG_I2C_SIS96X is not set

# CONFIG_I2C_VIA is not set

# CONFIG_I2C_VIAPRO is not set

CONFIG_I2C_SCMI=y

# I2C system bus drivers (mostly embedded / system-on-chip)

# CONFIG_I2C_DESIGNWARE_PLATFORM is not set

# CONFIG_I2C_DESIGNWARE_PCI is not set

# CONFIG_I2C_EMEV2 is not set

# CONFIG_I2C_OCORES is not set

# CONFIG_I2C_PCA_PLATFORM is not set

# CONFIG_I2C_PXA_PCI is not set

# CONFIG_I2C_SIMTEC is not set

# CONFIG_I2C_XILINX is not set

# External I2C/SMBus adapter drivers

# CONFIG_I2C_DIOLAN_U2C is not set

# CONFIG_I2C_PARPORT_LIGHT is not set

# CONFIG_I2C_ROBOTFUZZ_OSIF is not set

# CONFIG_I2C_TAOS_EVM is not set

# CONFIG_I2C_TINY_USB is not set

# Other I2C/SMBus bus drivers

CONFIG_I2C_STUB=m

# CONFIG_I2C_SLAVE is not set

# CONFIG_I2C_DEBUG_CORE is not set

# CONFIG_I2C_DEBUG_ALGO is not set

# CONFIG_I2C_DEBUG_BUS is not set

# CONFIG_MFD_AXP20X_I2C is not set

# CONFIG_MFD_DA9052_I2C is not set

# CONFIG_MFD_MC13XXX_I2C is not set

# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set

# CONFIG_MFD_TPS65912_I2C is not set

# CONFIG_MFD_ARIZONA_I2C is not set

# CONFIG_MFD_WM831X_I2C is not set

# CONFIG_MFD_WM8350_I2C is not set

# I2C encoder or helper chips

# CONFIG_DRM_I2C_CH7006 is not set

# CONFIG_DRM_I2C_SIL164 is not set

# CONFIG_DRM_I2C_NXP_TDA998X is not set

# I2C HID support

CONFIG_I2C_HID=m

# I2C RTC drivers

CONFIG_RTC_I2C_AND_SPI=y

# SPI and I2C RTC drivers

```

And I also have CONFIG_CHROME_PLATFORMS=y

----------

## NeddySeagoon

minsoehan,

The Arch Wiki is often useful

That link is to configure the touchpad for Xorg.  There are links there to the kernel too.

----------

## minsoehan

I think this LINK has something to do with my problem.

because here is mine:

```
~ $ dmesg | grep 0x24

[    0.108170] ACPI: \_SB_.PCI0.LPCB.EC0_: GPE=0x24, EC_CMD/EC_SC=0x66, EC_DATA=0x62

[    0.122320] pci 0000:00:1f.2: reg 0x24: [mem 0xe051f000-0xe051f7ff]

[    0.132512] ACPI: \_SB_.PCI0.LPCB.EC0_: GPE=0x24, EC_CMD/EC_SC=0x66, EC_DATA=0x62
```

----------

## minsoehan

I went to see there /usr/src/linux/Documentation/devicetree/bindings/input/cypress,cyapa.txt

I found this...

```
Cypress I2C Touchpad

Required properties:

- compatible: must be "cypress,cyapa".

- reg: I2C address of the chip.

- interrupt-parent: a phandle for the interrupt controller (see interrupt

   binding[0]).

- interrupts: interrupt to which the chip is connected (see interrupt

   binding[0]).

Optional properties:

- wakeup-source: touchpad can be used as a wakeup source.

- pinctrl-names: should be "default" (see pinctrl binding [1]).

- pinctrl-0: a phandle pointing to the pin settings for the device (see

   pinctrl binding [1]).

- vcc-supply: a phandle for the regulator supplying 3.3V power.

[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt

[1]: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt

Example:

   &i2c0 {

      /* ... */

      /* Cypress Gen3 touchpad */

      touchpad@67 {

         compatible = "cypress,cyapa";

         reg = <0x67>;

         interrupt-parent = <&gpio>;

         interrupts = <2 IRQ_TYPE_EDGE_FALLING>;   /* GPIO 2 */

         wakeup-source;

      };

      /* Cypress Gen5 and later touchpad */

      touchpad@24 {

         compatible = "cypress,cyapa";

         reg = <0x24>;

         interrupt-parent = <&gpio>;

         interrupts = <2 IRQ_TYPE_EDGE_FALLING>;   /* GPIO 2 */

         wakeup-source;

      };

      /* ... */

   };

```

----------

## minsoehan

 *NeddySeagoon wrote:*   

> minsoehan,
> 
> The Arch Wiki is often useful
> 
> That link is to configure the touchpad for Xorg.  There are links there to the kernel too.

 

I have tried with configurations mentioned in Arch Wiki.

But not work.

And I am using KDE Plasma with synaptics for input devices. If touchpad is properly detected by kernel, those text configurations are not even needed, right?

Just go to setting > input device.

----------

## minsoehan

Yes right, it is requiring correct i2c support

To be correct i2c support, I need these thing in kernel

```
CONFIG_I2C_DESIGNWARE_CORE=y

CONFIG_I2C_DESIGNWARE_PLATFORM=y

CONFIG_I2C_DESIGNWARE_PCI=y
```

Now my touchpad works perfect.

Thank you man.

----------

