@@ -7,8 +7,8 @@ Kernel driver yogafan
77Supported chips:
88
99 * Lenovo Yoga, Legion, IdeaPad, Slim, Flex, and LOQ Embedded Controllers
10- Prefix: 'yogafan'
11- Addresses: ACPI handle (See Database Below)
10+ * Prefix: 'yogafan'
11+ * Addresses: ACPI handle (See Database Below)
1212
1313Author: Sergio Melas <sergiomelas@gmail.com>
1414
@@ -31,19 +31,21 @@ deterministically via a DMI Product Family quirk table during the probe phase,
3131eliminating the need for runtime heuristics.
3232
33331. 8-bit EC Architecture (Multiplier: 100)
34+
3435 - **Families: ** Yoga, IdeaPad, Slim, Flex.
3536 - **Technical Detail: ** These models allocate a single 8-bit register for
36- tachometer data. Since 8-bit fields are limited to a value of 255, the
37- BIOS stores fan speed in units of 100 RPM (e.g., 42 = 4200 RPM).
37+ tachometer data. Since 8-bit fields are limited to a value of 255, the
38+ BIOS stores fan speed in units of 100 RPM (e.g., 42 = 4200 RPM).
3839
39402. 16-bit EC Architecture (Multiplier: 1)
41+
4042 - **Families: ** Legion, LOQ.
4143 - **Technical Detail: ** High-performance gaming models require greater
42- precision for fans exceeding 6000 RPM. These use a 16-bit word (2 bytes)
43- storing the raw RPM value directly.
44+ precision for fans exceeding 6000 RPM. These use a 16-bit word (2 bytes)
45+ storing the raw RPM value directly.
4446
45- Filter Details:
46- ---------------
47+ Filter Details
48+ --------------
4749
4850The RLLag filter is a passive discrete-time first-order lag model that ensures:
4951 - **Smoothing: ** Low-resolution step increments are smoothed into 1-RPM increments.
6668-----
6769
6870The driver exposes standard hwmon sysfs attributes:
71+
72+ =============== ============================
6973Attribute Description
7074fanX_input Filtered fan speed in RPM.
75+ =============== ============================
7176
7277
7378Note: If the hardware reports 0 RPM, the filter is bypassed and 0 is reported
@@ -78,22 +83,24 @@ immediately to ensure the user knows the fan has stopped.
7883 LENOVO FAN CONTROLLER: MASTER REFERENCE DATABASE (2026)
7984====================================================================================================
8085
81- MODEL (DMI PN) | FAMILY / SERIES | EC OFFSET | FULL ACPI OBJECT PATH | WIDTH | MULTiplier
82- ----------------------------------------------------------------------------------------------------
83- 82N7 | Yoga 14cACN | 0x06 | \_ SB.PCI0.LPC0.EC0.FANS | 8-bit | 100
84- 80V2 / 81C3 | Yoga 710/720 | 0x06 | \_ SB.PCI0.LPC0.EC0.FAN0 | 8-bit | 100
85- 83E2 / 83DN | Yoga Pro 7/9 | 0xFE | \_ SB.PCI0.LPC0.EC0.FANS | 8-bit | 100
86- 82A2 / 82A3 | Yoga Slim 7 | 0x06 | \_ SB.PCI0.LPC0.EC0.FANS | 8-bit | 100
87- 81YM / 82FG | IdeaPad 5 | 0x06 | \_ SB.PCI0.LPC0.EC0.FAN0 | 8-bit | 100
88- 82JW / 82JU | Legion 5 (AMD) | 0xFE/0xFF | \_ SB.PCI0.LPC0.EC0.FANS (Fan1) | 16-bit | 1
89- 82JW / 82JU | Legion 5 (AMD) | 0xFE/0xFF | \_ SB.PCI0.LPC0.EC0.FA2S (Fan2) | 16-bit | 1
90- 82WQ | Legion 7i (Int) | 0xFE/0xFF | \_ SB.PCI0.LPC0.EC0.FANS (Fan1) | 16-bit | 1
91- 82WQ | Legion 7i (Int) | 0xFE/0xFF | \_ SB.PCI0.LPC0.EC0.FA2S (Fan2) | 16-bit | 1
92- 82XV / 83DV | LOQ 15/16 | 0xFE/0xFF | \_ SB.PCI0.LPC0.EC0.FANS /FA2S | 16-bit | 1
93- 83AK | ThinkBook G6 | 0x06 | \_ SB.PCI0.LPC0.EC0.FAN0 | 8-bit | 100
94- 81X1 | Flex 5 | 0x06 | \_ SB.PCI0.LPC0.EC0.FAN0 | 8-bit | 100
95- *Legacy * | Pre-2020 Models | 0x06 | \_ SB.PCI0.LPC.EC.FAN0 | 8-bit | 100
96- ----------------------------------------------------------------------------------------------------
86+ ::
87+
88+ MODEL (DMI PN) | FAMILY / SERIES | EC OFFSET | FULL ACPI OBJECT PATH | WIDTH | MULTiplier
89+ ----------------------------------------------------------------------------------------------------
90+ 82N7 | Yoga 14cACN | 0x06 | \_SB.PCI0.LPC0.EC0.FANS | 8-bit | 100
91+ 80V2 / 81C3 | Yoga 710/720 | 0x06 | \_SB.PCI0.LPC0.EC0.FAN0 | 8-bit | 100
92+ 83E2 / 83DN | Yoga Pro 7/9 | 0xFE | \_SB.PCI0.LPC0.EC0.FANS | 8-bit | 100
93+ 82A2 / 82A3 | Yoga Slim 7 | 0x06 | \_SB.PCI0.LPC0.EC0.FANS | 8-bit | 100
94+ 81YM / 82FG | IdeaPad 5 | 0x06 | \_SB.PCI0.LPC0.EC0.FAN0 | 8-bit | 100
95+ 82JW / 82JU | Legion 5 (AMD) | 0xFE/0xFF | \_SB.PCI0.LPC0.EC0.FANS (Fan1) | 16-bit | 1
96+ 82JW / 82JU | Legion 5 (AMD) | 0xFE/0xFF | \_SB.PCI0.LPC0.EC0.FA2S (Fan2) | 16-bit | 1
97+ 82WQ | Legion 7i (Int) | 0xFE/0xFF | \_SB.PCI0.LPC0.EC0.FANS (Fan1) | 16-bit | 1
98+ 82WQ | Legion 7i (Int) | 0xFE/0xFF | \_SB.PCI0.LPC0.EC0.FA2S (Fan2) | 16-bit | 1
99+ 82XV / 83DV | LOQ 15/16 | 0xFE/0xFF | \_SB.PCI0.LPC0.EC0.FANS /FA2S | 16-bit | 1
100+ 83AK | ThinkBook G6 | 0x06 | \_SB.PCI0.LPC0.EC0.FAN0 | 8-bit | 100
101+ 81X1 | Flex 5 | 0x06 | \_SB.PCI0.LPC0.EC0.FAN0 | 8-bit | 100
102+ *Legacy* | Pre-2020 Models | 0x06 | \_SB.PCI0.LPC.EC.FAN0 | 8-bit | 100
103+ ----------------------------------------------------------------------------------------------------
97104
98105METHODOLOGY & IDENTIFICATION:
99106
0 commit comments