diff options
Diffstat (limited to 'src/superio/winbond/w83627dhg/acpi')
-rw-r--r-- | src/superio/winbond/w83627dhg/acpi/superio.asl | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/superio/winbond/w83627dhg/acpi/superio.asl b/src/superio/winbond/w83627dhg/acpi/superio.asl index 9307c1d3e1..e4d15dcc25 100644 --- a/src/superio/winbond/w83627dhg/acpi/superio.asl +++ b/src/superio/winbond/w83627dhg/acpi/superio.asl @@ -97,6 +97,9 @@ Device(SUPERIO_DEV) { Offset (0x74), PNP_DMA0, 8, /* DMA */ + + Offset (0xf3), + SULM, 8, /* Suspend LED Mode Register */ } Method (_CRS) @@ -139,6 +142,27 @@ Device(SUPERIO_DEV) { EXIT_CONFIG_MODE () } + /* Suspend LED: Write given three-bit value into appropriate register. + From the datasheet: + 000 - drive pin constantly high + 001 - drive 0.5Hz pulses + 010 - drive pin constantly low + 011 - drive 2Hz pulses + 100 - drive 1Hz pulses + 101 - drive 4Hz pulses + 110 - drive 0.25Hz pulses + 111 - drive 0.25Hz pulses + (all pulses with 50% duty cycle) */ + #define SUPERIO_SUSL_LDN 9 + Method (SUSL, 1, Serialized) { + ENTER_CONFIG_MODE (SUPERIO_SUSL_LDN) + Store (SULM, Local0) + And (Local0, 0x1f, Local0) + Or (Local0, ShiftLeft (Arg0, 5), Local0) + Store (Local0, SULM) + EXIT_CONFIG_MODE () + } + #ifdef W83627DHG_SHOW_UARTA #undef SUPERIO_UART_LDN #undef SUPERIO_UART_DDN |