1. 08 May, 2018 3 commits
  2. 23 Apr, 2018 2 commits
    • Pali Rohár's avatar
      Input: alps - demystify trackstick initialization for v3 and v6 protocols · d91abc21
      Pali Rohár authored
      Remove cite "Not sure what this does, but it is absolutely essential".
      
      Extract initialization of trackstick part when touchpad is in passthrough
      mode for v3 and v6 protocols into own function. Initialization for v3 is:
      setscale11, setscale11, setscale11, nibble 0x9, nibble 0x4. Initialization
      for v6 is: setscale11, setscale11, setscale11, setrate 0xC8, setrate 0x14.
      Nibbles 0x9 and 0x4 for v3 protocol correspond to setrate 0xC8 and 0x14,
      therefore these sequences are same.
      
      When touchpad is in passthrough mode, then OS communicates with trackstick
      and this sequence is some magic vendor PS/2 command to put trackstick into
      "extended" mode. After that sequence trackstick starts reporting packets in
      some vendor 4 bytes format (first byte is always 0xE8).
      
      Next step after configuring trackstick to be in "extended" mode, is to
      configure touchpad for v3 protocol to expect that trackstick reports data
      in "extended" mode. For v3 protocol this is done by setting bit 1 in
      register 0xC2C8 (offset 0x08 from base address 0xC2C0).
      
      When both touchpad and trackstick are not configured for "extended" mode
      then touchpad reports trackstick packets in different format, which is not
      supported by psmouse/alps driver (yet).
      
      In Cirque documentation GP-AN- 130823 INTERFACING TO GEN4 OVER I2C (PDF)
      available at http://www.cirque.com/gen4-dev-resources is Logical Address
      0xC2C8 named as PS2AuxControl and Bit Number 1 as ProcessAuxExtendedData
      with description: Auxiliary device data is assumed to be extended data when
      set.
      Signed-off-by: default avatarPali Rohár <pali.rohar@gmail.com>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      d91abc21
    • Dmitry Torokhov's avatar
      Merge branch 'ib-chrome-platform-input-atmel-mx-ts-platform-removal' of... · 57eb13a9
      Dmitry Torokhov authored
      Merge branch 'ib-chrome-platform-input-atmel-mx-ts-platform-removal' of git://git.kernel.org/pub/scm/linux/kernel/git/bleung/chrome-platform into next
      
      Sync up with chrome-platform to bring in changes to Atmel touch
      controller.
      57eb13a9
  3. 10 Apr, 2018 14 commits
  4. 04 Apr, 2018 1 commit
    • Ondrej Zary's avatar
      Input: i8042 - enable MUX on Sony VAIO VGN-CS series to fix touchpad · 04bb1719
      Ondrej Zary authored
      The touch sensor buttons on Sony VAIO VGN-CS series laptops (e.g.
      VGN-CS31S) are a separate PS/2 device. As the MUX is disabled for all
      VAIO machines by the nomux blacklist, the data from touch sensor
      buttons and touchpad are combined. The protocol used by the buttons is
      probably similar to the touchpad protocol (both are Synaptics) so both
      devices get enabled. The controller combines the data, creating a mess
      which results in random button clicks, touchpad stopping working and
      lost sync error messages:
      psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 4
      psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
      psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
      psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
      psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
      psmouse serio1: issuing reconnect request
      
      Add a new i8042_dmi_forcemux_table whitelist with VGN-CS.
      With MUX enabled, touch sensor buttons are detected as separate device
      (and left disabled as there's currently no driver), fixing all touchpad
      problems.
      Signed-off-by: default avatarOndrej Zary <linux@rainbow-software.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      04bb1719
  5. 30 Mar, 2018 2 commits
  6. 27 Mar, 2018 1 commit
  7. 26 Mar, 2018 3 commits
  8. 25 Mar, 2018 10 commits
  9. 24 Mar, 2018 1 commit
  10. 23 Mar, 2018 3 commits