1 /* SPDX-License-Identifier: GPL-2.0-only */
3 // Scope is \_SB.PCI0.LPCB
7 OperationRegion (SIOA, SystemIO, 0x2E, 0x02)
8 Field (SIOA, ByteAcc, NoLock, Preserve)
14 IndexField (SI2E, SI2F, ByteAcc, NoLock, Preserve)
17 SCNT, 8, /* Configure Control */
19 SLDN, 8, /* Logical Device Number */
21 SACT, 8, /* Activate */
23 IO0H, 8, /* Base Address 0 MSB */
24 IO0L, 8, /* Base Address 0 LSB */
26 IO1H, 8, /* Base Address 1 MSB */
27 IO1L, 8, /* Base Address 1 LSB */
29 IQ00, 8, /* Interrupt Select */
32 Name (SFDC, 0) /* Floppy Disk Controller */
33 Name (SSP1, 1) /* Serial Port 1 */
34 Name (SENV, 4) /* Environment Controller */
35 Name (SKBC, 5) /* Keyboard */
36 Name (SKBM, 6) /* Mouse */
37 Name (SGPI, 7) /* GPIO */
38 Name (SINF, 10) /* Consumer IR */
40 Method (ENTR, 0, NotSerialized)
48 Method (EXIT, 0, NotSerialized)
53 /* Parse activate register for an LDN */
54 Method (ISEN, 1, NotSerialized)
61 /* Check if it exists */
67 /* Check if activated */
78 /* Enable an LDN via the activate register */
79 Method (SENA, 1, NotSerialized)
87 /* Disable an LDN via the activate register */
88 Method (SDIS, 1, NotSerialized)
96 #ifdef SIO_ENABLE_ENVC
98 Name (_HID, EISAID ("PNP0C02"))
101 Method (_STA, 0, NotSerialized) {
105 Name (_CRS, ResourceTemplate ()
107 IO (Decode16, SIO_ENVC_IO0, SIO_ENVC_IO0, 0x08, 0x08)
108 IO (Decode16, SIO_ENVC_IO1, SIO_ENVC_IO1, 0x04, 0x04)
111 OperationRegion (ECAP, SystemIO, SIO_ENVC_IO0, 0x07)
112 Field (ECAP, ByteAcc, NoLock, Preserve)
115 ECAI, 8, // Address Index Register
116 ECAD, 8, // Address Data Register
119 // Registers for thermal zone implementations
120 IndexField (ECAI, ECAD, ByteAcc, NoLock, Preserve)
123 TIN1, 8, // TMPIN1 Reading
124 TIN2, 8, // TMPIN2 Reading
125 TIN3, 8, // TMPIN3 Reading
127 F2PS, 8, // FAN2 PWM Setting
129 F3PS, 8, // FAN3 PWM Setting
134 #ifdef SIO_ENABLE_GPIO
136 Name (_HID, EISAID ("PNP0C02"))
139 Method (_STA, 0, NotSerialized) {
143 Name (_CRS, ResourceTemplate ()
145 IO (Decode16, SIO_GPIO_IO0, SIO_GPIO_IO0, 0x01, 0x01)
146 IO (Decode16, SIO_GPIO_IO1, SIO_GPIO_IO1, 0x08, 0x08)
151 #ifdef SIO_ENABLE_COM1
153 Name (_HID, EISAID ("PNP0501"))
156 Method (_STA, 0, NotSerialized) {
160 Name (_CRS, ResourceTemplate ()
162 IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08)
168 #ifdef SIO_ENABLE_PS2K
169 Device (PS2K) // Keyboard
171 Name (_HID, EISAID("PNP0303"))
172 Name (_CID, EISAID("PNP030B"))
174 Method (_STA, 0, NotSerialized) {
178 Name (_CRS, ResourceTemplate()
180 IO (Decode16, 0x60, 0x60, 0x01, 0x01)
181 IO (Decode16, 0x64, 0x64, 0x01, 0x01)
187 #ifdef SIO_ENABLE_PS2M
188 Device (PS2M) // Mouse
190 Name (_HID, EISAID("PNP0F13"))
192 Method (_STA, 0, NotSerialized) {
196 Name (_CRS, ResourceTemplate()
203 #ifdef SIO_ENABLE_FDC0
204 Device (FDC0) // Floppy controller
206 Name (_HID, EISAID ("PNP0700"))
208 Method (_STA, 0, NotSerialized) {
212 Name (_CRS, ResourceTemplate()
214 IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
215 IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
217 DMA (Compatibility, NotBusMaster, Transfer8) {2}
222 #ifdef SIO_ENABLE_INFR
223 Device (INFR) // Infrared controller
225 Name (_HID, EISAID ("PNP0510"))
227 Method (_STA, 0, NotSerialized) {
231 Name (_CRS, ResourceTemplate()
233 IO (Decode16, SIO_INFR_IO0, SIO_INFR_IO0, 0x08, 0x08)
234 IRQNoFlags () { SIO_INFR_IRQ }