On Thu, Sep 24, 2009 at 22:23:22, [email protected] wrote:
> From: Miguel Aguilar <[email protected]>
>
> Adds the driver for enabling key scan support for DaVinci platforms.
>
> DM365 is the only platform that uses this driver at the moment.
>
> Signed-off-by: Miguel Aguilar <[email protected]>
> ---
[...]
> +
> +/* Initializing the kp Module */
> +static void davinci_ks_initialize(struct davinci_ks *davinci_ks)
> +{
> + u32 strobe = davinci_ks->pdata->strobe;
> + u32 interval = davinci_ks->pdata->interval;
> +
> + /* Enable all interrupts */
> + davinci_ks_write(davinci_ks, DAVINCI_KEYSCAN_INT_ALL,
> DAVINCI_KEYSCAN_INTENA);
> +
> + /* Clear interrupts if any */
> + davinci_ks_write(davinci_ks, DAVINCI_KEYSCAN_INT_ALL,
> DAVINCI_KEYSCAN_INTCLR);
> +
> + /* Setup the scan period = strobe + interval */
> + davinci_ks_write(davinci_ks, strobe, DAVINCI_KEYSCAN_STRBWIDTH);
> + davinci_ks_write(davinci_ks, interval, DAVINCI_KEYSCAN_INTERVAL);
> + davinci_ks_write(davinci_ks, 0x01, DAVINCI_KEYSCAN_CONTTIME);
> +
> + /* Enable Keyscan module and enable */
> + davinci_ks_write(davinci_ks, DAVINCI_KEYSCAN_AUTODET |
> DAVINCI_KEYSCAN_KEYEN,
> + DAVINCI_KEYSCAN_KEYCTRL);
We seem to be hardcoded to the 4x4 matrix type here.
Some DM365 boards could use 5x3 matrix.
Thanks,
Sekhar
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source