Add ACPI thermal interface to S76D
Change-Id: I1ada73d5a255074a2f628e18cc605e8dc6109c0e
This commit is contained in:
parent
f338b238da
commit
b39c286f31
@ -7,3 +7,8 @@ config EC_SYSTEM76_EC_COLOR_KEYBOARD
|
|||||||
depends on EC_SYSTEM76_EC
|
depends on EC_SYSTEM76_EC
|
||||||
bool
|
bool
|
||||||
default n
|
default n
|
||||||
|
|
||||||
|
config EC_SYSTEM76_EC_DGPU
|
||||||
|
depends on EC_SYSTEM76_EC
|
||||||
|
bool
|
||||||
|
default n
|
||||||
|
@ -8,6 +8,8 @@ Field (ERAM, ByteAcc, Lock, Preserve)
|
|||||||
, 1,
|
, 1,
|
||||||
LWKE, 1, // Lid wake
|
LWKE, 1, // Lid wake
|
||||||
, 5,
|
, 5,
|
||||||
|
Offset (0x07),
|
||||||
|
TMP1, 8, // CPU temperature
|
||||||
Offset (0x10),
|
Offset (0x10),
|
||||||
ADP, 1, // AC adapter connected
|
ADP, 1, // AC adapter connected
|
||||||
, 1,
|
, 1,
|
||||||
@ -28,17 +30,17 @@ Field (ERAM, ByteAcc, Lock, Preserve)
|
|||||||
BCL0, 32,
|
BCL0, 32,
|
||||||
Offset (0x68),
|
Offset (0x68),
|
||||||
ECOS, 8, // Detected OS, 0 = no ACPI, 1 = ACPI but no driver, 2 = ACPI with driver
|
ECOS, 8, // Detected OS, 0 = no ACPI, 1 = ACPI but no driver, 2 = ACPI with driver
|
||||||
Offset (0xC7),
|
Offset (0xC8),
|
||||||
VGAT, 8, // GPU temperature (not implemented)
|
|
||||||
OEM1, 8,
|
OEM1, 8,
|
||||||
OEM2, 8,
|
OEM2, 8,
|
||||||
OEM3, 16,
|
OEM3, 16,
|
||||||
OEM4, 8, // Extra SCI data
|
OEM4, 8, // Extra SCI data
|
||||||
Offset (0xCE),
|
Offset (0xCD),
|
||||||
DUT1, 8, // Fan 1 duty (not implemented)
|
TMP2, 8, // GPU temperature
|
||||||
DUT2, 8, // Fan 2 duty (not implemented)
|
DUT1, 8, // Fan 1 duty
|
||||||
RPM1, 16, // Fan 1 RPM (not implemented)
|
DUT2, 8, // Fan 2 duty
|
||||||
RPM2, 16, // Fan 2 RPM (not implemented)
|
RPM1, 16, // Fan 1 RPM
|
||||||
|
RPM2, 16, // Fan 2 RPM
|
||||||
Offset (0xD9),
|
Offset (0xD9),
|
||||||
AIRP, 8, // Airplane mode LED
|
AIRP, 8, // Airplane mode LED
|
||||||
WINF, 8, // Enable ACPI brightness controls
|
WINF, 8, // Enable ACPI brightness controls
|
||||||
|
@ -111,4 +111,57 @@ Device (S76D) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif // CONFIG(EC_SYSTEM76_EC_COLOR_KEYBOARD)
|
#endif // CONFIG(EC_SYSTEM76_EC_COLOR_KEYBOARD)
|
||||||
|
|
||||||
|
// Fan names
|
||||||
|
Method (NFAN, 0, Serialized) {
|
||||||
|
Return (Package (2) {
|
||||||
|
"CPU fan",
|
||||||
|
#if CONFIG(EC_SYSTEM76_EC_DGPU)
|
||||||
|
"GPU fan",
|
||||||
|
#endif // CONFIG(EC_SYSTEM76_EC_DGPU)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get fan duty and RPM as a single value
|
||||||
|
Method (GFAN, 1, Serialized) {
|
||||||
|
Local0 = 0
|
||||||
|
Local1 = 0
|
||||||
|
If (^^PCI0.LPCB.EC0.ECOK) {
|
||||||
|
If (Arg0 == 0) {
|
||||||
|
Local0 = ^^PCI0.LPCB.EC0.DUT1
|
||||||
|
Local1 = ^^PCI0.LPCB.EC0.RPM1
|
||||||
|
} ElseIf (Arg0 == 1) {
|
||||||
|
Local0 = ^^PCI0.LPCB.EC0.DUT2
|
||||||
|
Local1 = ^^PCI0.LPCB.EC0.RPM2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
If (Local1 != 0) {
|
||||||
|
// 60 * (EC frequency / 120) / 2
|
||||||
|
Local1 = 2156250 / Local1
|
||||||
|
}
|
||||||
|
Return ((Local1 << 8) | Local0)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Temperature names
|
||||||
|
Method (NTMP, 0, Serialized) {
|
||||||
|
Return (Package (2) {
|
||||||
|
"CPU temp",
|
||||||
|
#if CONFIG(EC_SYSTEM76_EC_DGPU)
|
||||||
|
"GPU temp",
|
||||||
|
#endif // CONFIG(EC_SYSTEM76_EC_DGPU)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get temperature
|
||||||
|
Method (GTMP, 1, Serialized) {
|
||||||
|
Local0 = 0;
|
||||||
|
If (^^PCI0.LPCB.EC0.ECOK) {
|
||||||
|
If (Arg0 == 0) {
|
||||||
|
Local0 = ^^PCI0.LPCB.EC0.TMP1
|
||||||
|
} ElseIf (Arg0 == 1) {
|
||||||
|
Local0 = ^^PCI0.LPCB.EC0.TMP2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Return (Local0)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,7 @@ config BOARD_SPECIFIC_OPTIONS
|
|||||||
select DRIVERS_SYSTEM76_DGPU
|
select DRIVERS_SYSTEM76_DGPU
|
||||||
select EC_SYSTEM76_EC
|
select EC_SYSTEM76_EC
|
||||||
select EC_SYSTEM76_EC_COLOR_KEYBOARD
|
select EC_SYSTEM76_EC_COLOR_KEYBOARD
|
||||||
|
select EC_SYSTEM76_EC_DGPU
|
||||||
select HAVE_ACPI_RESUME
|
select HAVE_ACPI_RESUME
|
||||||
select HAVE_ACPI_TABLES
|
select HAVE_ACPI_TABLES
|
||||||
select HAVE_SMI_HANDLER
|
select HAVE_SMI_HANDLER
|
||||||
|
@ -8,6 +8,7 @@ config BOARD_SPECIFIC_OPTIONS
|
|||||||
select DRIVERS_SYSTEM76_DGPU
|
select DRIVERS_SYSTEM76_DGPU
|
||||||
select EC_SYSTEM76_EC
|
select EC_SYSTEM76_EC
|
||||||
select EC_SYSTEM76_EC_COLOR_KEYBOARD
|
select EC_SYSTEM76_EC_COLOR_KEYBOARD
|
||||||
|
select EC_SYSTEM76_EC_DGPU
|
||||||
select HAVE_ACPI_RESUME
|
select HAVE_ACPI_RESUME
|
||||||
select HAVE_ACPI_TABLES
|
select HAVE_ACPI_TABLES
|
||||||
select HAVE_SMI_HANDLER
|
select HAVE_SMI_HANDLER
|
||||||
|
@ -7,6 +7,7 @@ config BOARD_SPECIFIC_OPTIONS
|
|||||||
select DRIVERS_SYSTEM76_DGPU
|
select DRIVERS_SYSTEM76_DGPU
|
||||||
select EC_SYSTEM76_EC
|
select EC_SYSTEM76_EC
|
||||||
select EC_SYSTEM76_EC_COLOR_KEYBOARD
|
select EC_SYSTEM76_EC_COLOR_KEYBOARD
|
||||||
|
select EC_SYSTEM76_EC_DGPU
|
||||||
select HAVE_ACPI_RESUME
|
select HAVE_ACPI_RESUME
|
||||||
select HAVE_ACPI_TABLES
|
select HAVE_ACPI_TABLES
|
||||||
select HAVE_SMI_HANDLER
|
select HAVE_SMI_HANDLER
|
||||||
|
@ -7,6 +7,7 @@ config BOARD_SPECIFIC_OPTIONS
|
|||||||
select DRIVERS_SYSTEM76_DGPU
|
select DRIVERS_SYSTEM76_DGPU
|
||||||
select EC_SYSTEM76_EC
|
select EC_SYSTEM76_EC
|
||||||
select EC_SYSTEM76_EC_COLOR_KEYBOARD
|
select EC_SYSTEM76_EC_COLOR_KEYBOARD
|
||||||
|
select EC_SYSTEM76_EC_DGPU
|
||||||
select HAVE_ACPI_RESUME
|
select HAVE_ACPI_RESUME
|
||||||
select HAVE_ACPI_TABLES
|
select HAVE_ACPI_TABLES
|
||||||
select HAVE_SMI_HANDLER
|
select HAVE_SMI_HANDLER
|
||||||
|
@ -8,6 +8,7 @@ config BOARD_SPECIFIC_OPTIONS
|
|||||||
select DRIVERS_SYSTEM76_DGPU
|
select DRIVERS_SYSTEM76_DGPU
|
||||||
select EC_SYSTEM76_EC
|
select EC_SYSTEM76_EC
|
||||||
select EC_SYSTEM76_EC_COLOR_KEYBOARD
|
select EC_SYSTEM76_EC_COLOR_KEYBOARD
|
||||||
|
select EC_SYSTEM76_EC_DGPU
|
||||||
select HAVE_ACPI_RESUME
|
select HAVE_ACPI_RESUME
|
||||||
select HAVE_ACPI_TABLES
|
select HAVE_ACPI_TABLES
|
||||||
select HAVE_SMI_HANDLER
|
select HAVE_SMI_HANDLER
|
||||||
|
Loading…
x
Reference in New Issue
Block a user