Input: pixcir_i2c_ts: Add device tree support

Provide device tree support and binding information.
Change platform data parameters from x/y_max to x/y_size..

Signed-off-by: Roger Quadros <rogerq@ti.com>
Input: pixcir_i2c_ts: Add register definitions

Add power and interrupt register definitions.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Input: pixcir_i2c_ts: Initialize interrupt mode and power mode

Introduce helper functions to configure power and interrupt
registers. Default to IDLE mode on probe as device supports
auto wakeup to ACVIE mode on detecting finger touch.

Configure interrupt mode and polarity on start up.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Input: pixcir_i2c_ts: Use devres managed resource allocations

Use devm_() and friends for allocating memory, input device
and IRQ.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Input: pixcir_i2c_ts: Get rid of pdata->attb_read_val()

Get rid of the attb_read_val() platform hook. Instead,
read the ATTB gpio directly from the driver.

Fail if valid ATTB gpio is not provided by patform data.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Input: pixcir_i2c_ts: Add chip specific data structure

This is the data that differentiates different pixcir
chips.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Input: pixcir_i2c_ts: Implement Type B Multi Touch reporting

Some pixcir controllers e.g. tangoC family report finger IDs with
the co-ordinates and are more suitable for Type-B MT protocol.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Input: pixcir_i2c_ts: Add support for TangoC family

Signed-off-by: Roger Quadros <rogerq@ti.com>
Input: pixcir_i2c_ts: Implement wakeup from suspend

Improve the suspend and resume handlers to allow the device
to wakeup the system from suspend.

Signed-off-by: Roger Quadros <rogerq@ti.com>