Message ID | 20211103114830.62711-1-alistair@alistair23.me (mailing list archive) |
---|---|
Headers | show |
Series | Add support for the Cypress cyttsp5 | expand |
Hallo Alistair, my Xorg (debian buster installation) does not like that: [ 3112.462] (**) cyttsp5: Applying InputClass "evdev touchscreen catchall" [ 3112.462] (**) cyttsp5: Applying InputClass "libinput touchscreen catchall" [ 3112.462] (II) Using input driver 'libinput' for 'cyttsp5' [ 3112.463] (**) cyttsp5: always reports core events [ 3112.463] (**) Option "Device" "/dev/input/event1" [ 3112.463] (**) Option "_source" "server/udev" [ 3112.496] (II) event1 - cyttsp5: is tagged by udev as: Touchscreen [ 3112.498] (EE) event1 - cyttsp5: kernel bug: device has min == max on ABS_X [ 3112.498] (II) event1 - cyttsp5: was rejected [ 3112.498] (II) event1 - not using input device '/dev/input/event1'. [ 3112.499] (EE) libinput: cyttsp5: Failed to create a device for /dev/input/event1 # evtest /dev/input/event1 Input driver version is 1.0.1 Input device ID: bus 0x0 vendor 0x0 product 0x0 version 0x0 Input device name: "cyttsp5" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 330 (BTN_TOUCH) Event type 2 (EV_REL) Event type 3 (EV_ABS) Event code 0 (ABS_X) Value 0 Min 0 Max 0 <-- upsets xorg Event code 1 (ABS_Y) Value 0 Min 0 Max 0 Event code 47 (ABS_MT_SLOT) Value 0 Min 0 Max 31 Event code 48 (ABS_MT_TOUCH_MAJOR) Value 0 Min 0 Max 255 Event code 49 (ABS_MT_TOUCH_MINOR) Value 0 Min 0 Max 255 Event code 53 (ABS_MT_POSITION_X) Value 0 Min 0 Max 1447 Event code 54 (ABS_MT_POSITION_Y) Value 0 Min 0 Max 1071 Event code 57 (ABS_MT_TRACKING_ID) Value 0 Min 0 Max 65535 Event code 58 (ABS_MT_PRESSURE) Value 0 Min 0 Max 255 I specified touchscreen-size-x and touchscreen-size-y in my devicetree. No idea why it is like this yet. Regards, Andreas On Wed, 3 Nov 2021 21:48:26 +1000 Alistair Francis <alistair@alistair23.me> wrote: > This patch series builds on top of [1] and adds support for the cyttsp5 > touchscreen controller for the reMarkable 2. > > I first tried to add an I2C HID device. Although the cyttsp5 has some HID > looking aspects it is not HID compatible. Just in trying to probe the device > I found: > - The HID descriptor has extra padding > - The HID descriptor sets the high bytes of the descriptor length > - The HID descriptor has extra unrecognised tags > - The HID reset command doesn't appear to work > > I don't think there is a way to use the I2C HID framework with the cyttsp5. > For anyone interested you can see the work here [2]. In that branch though I > can only obtain a HID descriptor, nothing else works without more core > changes. > > So instead I rebased the series from [1]. Converted to the new yaml DTS > documentation, added regulator support and fixed a x/y miscalculation bug. > > 1: https://lwn.net/ml/linux-kernel/20180703094309.18514-1-mylene.josserand@bootlin.com/ > 2: https://github.com/alistair23/linux/commits/rM2-mainline-cyttsp5-hid > > Alistair Francis (2): > ARM: imx_v6_v7_defconfig: Enable the cyttsp5 touchscreen > ARM: dts: imx7d: remarkable2: Enable the cyttsp5 > > Mylène Josserand (2): > Input: Add driver for Cypress Generation 5 touchscreen > Documentation: DT: bindings: input: Add documentation for cyttsp5 > > .../input/touchscreen/cypress,tt21000.yaml | 92 ++ > arch/arm/boot/dts/imx7d-remarkable2.dts | 89 ++ > arch/arm/configs/imx_v6_v7_defconfig | 1 + > drivers/input/touchscreen/Kconfig | 14 + > drivers/input/touchscreen/Makefile | 1 + > drivers/input/touchscreen/cyttsp5.c | 1135 +++++++++++++++++ > 6 files changed, 1332 insertions(+) > create mode 100644 Documentation/devicetree/bindings/input/touchscreen/cypress,tt21000.yaml > create mode 100644 drivers/input/touchscreen/cyttsp5.c >
On Sat, Nov 6, 2021 at 12:52 AM Andreas Kemnade <andreas@kemnade.info> wrote: > > Hallo Alistair, > > my Xorg (debian buster installation) does not like that: > [ 3112.462] (**) cyttsp5: Applying InputClass "evdev touchscreen catchall" > [ 3112.462] (**) cyttsp5: Applying InputClass "libinput touchscreen catchall" > [ 3112.462] (II) Using input driver 'libinput' for 'cyttsp5' > [ 3112.463] (**) cyttsp5: always reports core events > [ 3112.463] (**) Option "Device" "/dev/input/event1" > [ 3112.463] (**) Option "_source" "server/udev" > [ 3112.496] (II) event1 - cyttsp5: is tagged by udev as: Touchscreen > [ 3112.498] (EE) event1 - cyttsp5: kernel bug: device has min == max on ABS_X > [ 3112.498] (II) event1 - cyttsp5: was rejected > [ 3112.498] (II) event1 - not using input device '/dev/input/event1'. > [ 3112.499] (EE) libinput: cyttsp5: Failed to create a device for /dev/input/event1 > > # evtest /dev/input/event1 > Input driver version is 1.0.1 > Input device ID: bus 0x0 vendor 0x0 product 0x0 version 0x0 > Input device name: "cyttsp5" > Supported events: > Event type 0 (EV_SYN) > Event type 1 (EV_KEY) > Event code 330 (BTN_TOUCH) > Event type 2 (EV_REL) > Event type 3 (EV_ABS) > Event code 0 (ABS_X) > Value 0 > Min 0 > Max 0 <-- upsets xorg > Event code 1 (ABS_Y) > Value 0 > Min 0 > Max 0 > Event code 47 (ABS_MT_SLOT) > Value 0 > Min 0 > Max 31 > Event code 48 (ABS_MT_TOUCH_MAJOR) > Value 0 > Min 0 > Max 255 > Event code 49 (ABS_MT_TOUCH_MINOR) > Value 0 > Min 0 > Max 255 > Event code 53 (ABS_MT_POSITION_X) > Value 0 > Min 0 > Max 1447 > Event code 54 (ABS_MT_POSITION_Y) > Value 0 > Min 0 > Max 1071 > Event code 57 (ABS_MT_TRACKING_ID) > Value 0 > Min 0 > Max 65535 > Event code 58 (ABS_MT_PRESSURE) > Value 0 > Min 0 > Max 255 > > I specified touchscreen-size-x and touchscreen-size-y in my devicetree. > No idea why it is like this yet. Thanks! I see the same problem on my side as well. I'm not using X so I don't see a crash and didn't notice the error. I'll work on fixing this. Alistair