summaryrefslogtreecommitdiff
path: root/target/linux/sunxi/patches-3.18/115-input-sun4i-ts-update-temp-curve.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/sunxi/patches-3.18/115-input-sun4i-ts-update-temp-curve.patch')
-rw-r--r--target/linux/sunxi/patches-3.18/115-input-sun4i-ts-update-temp-curve.patch79
1 files changed, 0 insertions, 79 deletions
diff --git a/target/linux/sunxi/patches-3.18/115-input-sun4i-ts-update-temp-curve.patch b/target/linux/sunxi/patches-3.18/115-input-sun4i-ts-update-temp-curve.patch
deleted file mode 100644
index 331c93b..0000000
--- a/target/linux/sunxi/patches-3.18/115-input-sun4i-ts-update-temp-curve.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 2e2493cd07405dfa88e53199b47bdbbb5336fdce Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Mon, 16 Jun 2014 20:01:12 +0200
-Subject: [PATCH] touchscreen: sun4i-ts: A10 (sun4i) has a different
- temperature curve
-
-Testing has revealed that the temperature in the rtp controller of the A10
-(sun4i) SoC has a different curve then on the A13 (sun5i) and later models.
-
-Add a new sun5i-a13-ts compatible to differentiate the newer models and
-set the curve based on the compatible string.
-
-This fixes the temperature reported on the A10 being much higher then
-expected.
-
-Note the new curve is still not ideal on all A10-s, that seems to have to
-do with there being a large spread between different A10-s out there.
-
-Reported-by: Tong Zhang <lovewilliam@gmail.com>
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- .../devicetree/bindings/input/touchscreen/sun4i.txt | 2 +-
- drivers/input/touchscreen/sun4i-ts.c | 13 ++++++++++++-
- 2 files changed, 13 insertions(+), 2 deletions(-)
-
---- a/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt
-+++ b/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt
-@@ -2,7 +2,7 @@ sun4i resistive touchscreen controller
- --------------------------------------
-
- Required properties:
-- - compatible: "allwinner,sun4i-a10-ts"
-+ - compatible: "allwinner,sun4i-a10-ts" or "allwinner,sun5i-a13-ts"
- - reg: mmio address range of the chip
- - interrupts: interrupt to which the chip is connected
-
---- a/drivers/input/touchscreen/sun4i-ts.c
-+++ b/drivers/input/touchscreen/sun4i-ts.c
-@@ -111,6 +111,8 @@ struct sun4i_ts_data {
- unsigned int irq;
- bool ignore_fifo_data;
- int temp_data;
-+ int temp_offset;
-+ int temp_step;
- };
-
- static void sun4i_ts_irq_handle_input(struct sun4i_ts_data *ts, u32 reg_val)
-@@ -189,7 +191,8 @@ static ssize_t show_temp(struct device *
- if (ts->temp_data == -1)
- return -EAGAIN;
-
-- return sprintf(buf, "%d\n", (ts->temp_data - 1447) * 100);
-+ return sprintf(buf, "%d\n",
-+ (ts->temp_data - ts->temp_offset) * ts->temp_step);
- }
-
- static ssize_t show_temp_label(struct device *dev,
-@@ -224,6 +227,13 @@ static int sun4i_ts_probe(struct platfor
- ts->dev = dev;
- ts->ignore_fifo_data = true;
- ts->temp_data = -1;
-+ if (of_device_is_compatible(np, "allwinner,sun4i-a10-ts")) {
-+ ts->temp_offset = 1900;
-+ ts->temp_step = 100;
-+ } else {
-+ ts->temp_offset = 1447;
-+ ts->temp_step = 100;
-+ }
-
- ts_attached = of_property_read_bool(np, "allwinner,ts-attached");
- if (ts_attached) {
-@@ -318,6 +328,7 @@ static int sun4i_ts_remove(struct platfo
-
- static const struct of_device_id sun4i_ts_of_match[] = {
- { .compatible = "allwinner,sun4i-a10-ts", },
-+ { .compatible = "allwinner,sun5i-a13-ts", },
- { /* sentinel */ }
- };
- MODULE_DEVICE_TABLE(of, sun4i_ts_of_match);