Make touchscreen calibration values better match the HW. Invert WM8750 GPIO.
authorbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 24 Jun 2007 13:45:36 +0000 (13:45 +0000)
committerbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 24 Jun 2007 13:45:36 +0000 (13:45 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3014 c046a42c-6fe2-441c-8c8c-71466251a162

hw/ads7846.c
hw/spitz.c

index 8eeb143..2f891b1 100644 (file)
@@ -30,10 +30,10 @@ struct ads7846_state_s {
 #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 @@ static void ads7846_ts_event(void *opaque,
     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) {
index 590e1fc..c6fb598 100644 (file)
@@ -919,8 +919,8 @@ static void spitz_microdrive_attach(struct pxa2xx_state_s *cpu)
 /* Wm8750 and Max7310 on I2C */
 
 #define AKITA_MAX_ADDR 0x18
-#define SPITZ_WM_ADDRL 0x1a
-#define SPITZ_WM_ADDRH 0x1b
+#define SPITZ_WM_ADDRL 0x1b
+#define SPITZ_WM_ADDRH 0x1a
 
 #define SPITZ_GPIO_WM  5