Make touchscreen calibration values better match the HW.  Invert WM8750 GPIO.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3014 c046a42c-6fe2-441c-8c8c-71466251a162
diff --git a/hw/ads7846.c b/hw/ads7846.c
index 8eeb143..2f891b1 100644
--- a/hw/ads7846.c
+++ b/hw/ads7846.c
@@ -30,10 +30,10 @@
 #define CB_A2		(1 << 6)
 #define CB_START	(1 << 7)
 
-#define X_AXIS_DMAX	3680
-#define X_AXIS_MIN	150
-#define Y_AXIS_DMAX	3640
-#define Y_AXIS_MIN	190
+#define X_AXIS_DMAX	3470
+#define X_AXIS_MIN	290
+#define Y_AXIS_DMAX	3450
+#define Y_AXIS_MIN	200
 
 #define ADS_VBAT	2000
 #define ADS_VAUX	2000
@@ -95,10 +95,11 @@
     struct ads7846_state_s *s = opaque;
 
     if (buttons_state) {
-        s->input[1] = ADS_YPOS(x, y);
+        x = 0x7fff - x;
+        s->input[1] = ADS_XPOS(x, y);
         s->input[3] = ADS_Z1POS(x, y);
         s->input[4] = ADS_Z2POS(x, y);
-        s->input[5] = ADS_XPOS(x, y);
+        s->input[5] = ADS_YPOS(x, y);
     }
 
     if (s->pressure == !buttons_state) {