Re: [PATCH 0/1] input: keyboard: add qci keyboard driver

From: Neil Leeder
Date: Tue Aug 31 2010 - 16:54:54 EST


On 8/30/2010 5:55 PM, Dmitry Torokhov wrote:
And still you are using only one GPIO in your driver? While WPCE775x
does seem to have matrix keypad support I think that you are using one
of the 3 PS/2 ports, like your touchpad does.

Hi Dmitry,

I can assure you that the keyboard is on the 8*18 GPIO matrix on the Nuvoton EC (only 8*16 being used in the current design). There certainly are 3 PS/2 ports on the EC, but in the board designs I have only one of those is used as a PS/2 port, and that is for the touchpad. The other two ports are muxed with GPIOs and the pins are being used as GPIOs for other functions, not PS/2 ports.

The firmware on the EC converts keypresses on the GPIO matrix to scancodes and sends them over I2C. The single GPIO used by the keyboard driver is an interrupt.

The device is initialized with 0xf4; the device is supposed to respond
with 0xfa; I wonder what scancodes the device reports... It smells
strongly of PS/2.

Also, it is not controller that supports PS/2 commands but rather the
device itself so I am still hopeful that we could make use of the
standard drivers.

We can speculate on the reasons that the firmware on the EC uses 0xF4 & 0xFA for init and ack - my guess would be for a minimal amount of commonality with the PS/2 protocol - but it doesn't emulate the rest of the PS/2 protocol for the GPIO matrix device. I tried with atkbd. It issues reset, getid, setleds - all of which fail with no response from the EC. It only responds to F4.

The scancodes reported are whatever the firmware provides. A previous version of firmware had some non-standard values and the driver had to use a look-up table to convert them to something useful. With the change to the current keyboard layout Quanta changed the scancodes reported to match the KEY_* values in input.h, which is why there is no table in the current driver.

--
Neil
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/