mirror of
https://github.com/torvalds/linux.git
synced 2026-04-22 08:44:02 -04:00
On some x86 tablets with a silead touchscreen the windows logo on the front is a capacitive home button. Touching this button results in a touch with bits 12-15 of the Y coordinates set, while normally only the lower 12 are used. Detect this and report a KEY_LEFTMETA press when this happens. Note for now we only respond to the Y coordinate bits 12-15 containing 0x01, on some tablets *without* a capacative button I've noticed these bits containing 0x04 when crossing the edges of the screen. Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
47 lines
1.6 KiB
Plaintext
47 lines
1.6 KiB
Plaintext
* GSL 1680 touchscreen controller
|
|
|
|
Required properties:
|
|
- compatible : Must be one of the following, depending on the model:
|
|
"silead,gsl1680"
|
|
"silead,gsl1688"
|
|
"silead,gsl3670"
|
|
"silead,gsl3675"
|
|
"silead,gsl3692"
|
|
- reg : I2C slave address of the chip (0x40)
|
|
- interrupt-parent : a phandle pointing to the interrupt controller
|
|
serving the interrupt for this chip
|
|
- interrupts : interrupt specification for the gsl1680 interrupt
|
|
- power-gpios : Specification for the pin connected to the gsl1680's
|
|
shutdown input. This needs to be driven high to take the
|
|
gsl1680 out of its low power state
|
|
- touchscreen-size-x : See touchscreen.txt
|
|
- touchscreen-size-y : See touchscreen.txt
|
|
|
|
Optional properties:
|
|
- firmware-name : File basename (string) for board specific firmware
|
|
- touchscreen-inverted-x : See touchscreen.txt
|
|
- touchscreen-inverted-y : See touchscreen.txt
|
|
- touchscreen-swapped-x-y : See touchscreen.txt
|
|
- silead,max-fingers : maximum number of fingers the touchscreen can detect
|
|
- silead,home-button : Boolean, set to true on devices which have a
|
|
capacitive home-button build into the touchscreen
|
|
- vddio-supply : regulator phandle for controller VDDIO
|
|
- avdd-supply : regulator phandle for controller AVDD
|
|
|
|
Example:
|
|
|
|
i2c@00000000 {
|
|
gsl1680: touchscreen@40 {
|
|
compatible = "silead,gsl1680";
|
|
reg = <0x40>;
|
|
interrupt-parent = <&pio>;
|
|
interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>;
|
|
power-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>;
|
|
touchscreen-size-x = <480>;
|
|
touchscreen-size-y = <800>;
|
|
touchscreen-inverted-x;
|
|
touchscreen-swapped-x-y;
|
|
silead,max-fingers = <5>;
|
|
};
|
|
};
|