Re: New Alps protocol in the wild?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I just got a Dell E6230 with the same E7 report: 73 03 0a
As noted above using the qemu serio logging doesn't work.
The driver only enables multitouch if it sees the right
name for the device in the DSDT.

The following patch (against the seabios in qemu-0.14.1)
enables the windows 7 driver (7.1211.101.114 from
http://www.dell.com/support/drivers/us/en/04/DriverDetails/DriverFileFormats/Product/latitude-e6230?DriverId=CKNFN&FileId=2988050063&urlProductCode=False 
) to bind successfully and alows one to get data from the serio
logging patch

Are there any standard tools for reverse engineering the
protocol - I saw mention of an alps-reg-dump but was
unable to find it?

thanks,

James.
--- ./qemu-0.14.1/roms/seabios/src/acpi-dsdt.dsl	2011-05-06 20:02:01.000000000 +0100
+++ ./qemu-0.14.1.jmm/roms/seabios/src/acpi-dsdt.dsl	2012-08-14 11:09:22.000000000 +0100
@@ -253,7 +253,7 @@
             }
 
             /* Keyboard seems to be important for WinXP install */
-            Device (KBD)
+            Device (PS2K)
             {
                 Name (_HID, EisaId ("PNP0303"))
                 Method (_STA, 0, NotSerialized)
@@ -261,10 +261,8 @@
                     Return (0x0f)
                 }
 
-                Method (_CRS, 0, NotSerialized)
+		Name (_CRS, ResourceTemplate ()
                 {
-                     Name (TMP, ResourceTemplate ()
-                     {
                     IO (Decode16,
                         0x0060,             // Address Range Minimum
                         0x0060,             // Address Range Maximum
@@ -277,30 +275,52 @@
                         0x01,               // Address Alignment
                         0x01,               // Address Length
                         )
+                IRQ (Edge, ActiveHigh, Exclusive, )
+                    {1}
+
+                })
+
+
+
+
+            Name (_PRS, ResourceTemplate ()
+            {
+                StartDependentFn (0x00, 0x00)
+                {
+                    FixedIO (
+                        0x0060,             // Address
+                        0x01,               // Length
+                        )
+                    FixedIO (
+                        0x0064,             // Address
+                        0x01,               // Length
+                        )
                     IRQNoFlags ()
                         {1}
-                    })
-                    Return (TMP)
                 }
-            }
+                EndDependentFn ()
+            })
+		}
 
 	    /* PS/2 mouse */
-            Device (MOU)
+            Device (PS2M)
             {
-                Name (_HID, EisaId ("PNP0F13"))
-                Method (_STA, 0, NotSerialized)
-                {
-                    Return (0x0f)
-                }
-
-                Method (_CRS, 0, NotSerialized)
+                Name (_CID, EisaId ("PNP0F13"))
+		Name (_HID, EisaId ("DLL0532"))
+            Name (_CRS, ResourceTemplate ()
+            {
+                IRQ (Edge, ActiveHigh, Exclusive, )
+                    {12}
+            })
+            Name (_PRS, ResourceTemplate ()
+            {
+                StartDependentFn (0x00, 0x00)
                 {
-                    Name (TMP, ResourceTemplate ()
-                    {
-                         IRQNoFlags () {12}
-                    })
-                    Return (TMP)
+                    IRQNoFlags ()
+                        {12}
                 }
+                EndDependentFn ()
+            })
             }
 
 	    /* PS/2 floppy controller */

[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux