Patchwork rtc wake up does not work on ASUS M2V-MX SE

login
register
about
Submitter Rudolf Marek
Date 2011-04-19 18:24:35
Message ID <4DADD363.9070904@assembler.cz>
Download mbox | patch
Permalink /patch/2887/
State New
Headers show

Comments

Rudolf Marek - 2011-04-19 18:24:35
Hi

I think two things are missing:

1) Paste this into the dsdt table:

                                 Device(RTC0) {
                                         Name(_HID, EISAID("PNP0B00"))   /* AT 
Real Time Clock (not PIIX4 compatible) */
                                         Name(_CRS, ResourceTemplate() {
                                                IRQNoFlags(){8}
                                            IO(Decode16,0x0070, 0x0070, 0, 2)
                                         })
                                 } /* End Device(_SB.PCI0.LpcIsaBr.RTC0) */

Now the RTC device should be visible. Second problem is that a wakeup event is 
not enabled. This can be fixed most likely here:


Completely untested but might even work.
Please let me know if it works for you,

Thanks,
Rudolf
Fengwei Zhang - 2011-04-20 14:48:38
Hi Rudolf,

Thanks for your email. I tried with your way, but the RTC0 device still 
is not visible.
either from /dev/ or /sys/class/ directory.

I also extract DSDT table from Original BIOS,

	Device(RTC0)
	{
	Name(_HID, EISAID("PNP0B00"))
	Name(CRS0, ResourceTemplate()
	{
	IO(Decode16, 0x0070, 0x0070, 0x00, 0x02)
	IRQNoFlags() {8}
	})
	Name(CRS1, ResourceTemplate()
	{
	IO(Decode16, 0x0070, 0x0070, 0x00, 0x02)
	})
	Method(_CRS, 0, NotSerialized)
	{
	If(LOr(LEqual(SHTB, Zero), LEqual(^^HPET.SHTS(), Zero)))
	{
	Return(CRS0)
	}
	Return(CRS1)
	}
	}
It looks like same thing you posted in last email. but I cannot compile 
successfully for this one because of some unrecognized symbol of this 
line: LEqual(^^HPET.SHTS(),

I did enable the power button in lpc.c file.

Is there anything else I am missing?

Thanks,
Fengwei


On 04/19/2011 02:24 PM, Rudolf Marek wrote:
> Hi
>
> I think two things are missing:
>
> 1) Paste this into the dsdt table:
>
> Device(RTC0) {
> Name(_HID, EISAID("PNP0B00")) /* AT Real Time Clock (not PIIX4
> compatible) */
> Name(_CRS, ResourceTemplate() {
> IRQNoFlags(){8}
> IO(Decode16,0x0070, 0x0070, 0, 2)
> })
> } /* End Device(_SB.PCI0.LpcIsaBr.RTC0) */
>
> Now the RTC device should be visible. Second problem is that a wakeup
> event is not enabled. This can be fixed most likely here:
>
> Index: lpc.c
> ===================================================================
> --- lpc.c (revision 6474)
> +++ lpc.c (working copy)
> @@ -237,6 +237,9 @@
> printk(BIOS_DEBUG, "SLP_TYP type was %x %x\n", tmp, acpi_slp_type);
> #endif
>
> + /* enable power button wakeup and from RTC */
> + outb(0x5, VT8237R_ACPI_IO_BASE + 0x3);
> +
> /* All SMI on, both IDE buses ON, PSON rising edge. */
> outw(0x1, VT8237R_ACPI_IO_BASE + 0x2c);
>
>
> Completely untested but might even work.
> Please let me know if it works for you,
>
> Thanks,
> Rudolf
>

Patch

Index: lpc.c
===================================================================
--- lpc.c	(revision 6474)
+++ lpc.c	(working copy)
@@ -237,6 +237,9 @@ 
  	printk(BIOS_DEBUG, "SLP_TYP type was %x %x\n", tmp, acpi_slp_type);
  #endif

+	/* enable power button wakeup and from RTC */
+	outb(0x5, VT8237R_ACPI_IO_BASE + 0x3);
+
  	/* All SMI on, both IDE buses ON, PSON rising edge. */
  	outw(0x1, VT8237R_ACPI_IO_BASE + 0x2c);