1/* SPDX-License-Identifier: GPL-2.0-only */ 2 3Device (EC0) 4{ 5 Name (_HID, EISAID("PNP0C09")) 6 Name (_UID, 0) 7 Name (_GPE, CONFIG_EC_HP_KBC1126_GPE) 8 9 Name (_CRS, ResourceTemplate () 10 { 11 IO (Decode16, 0x62, 0x62, 1, 1) 12 IO (Decode16, 0x66, 0x66, 1, 1) 13 }) 14 15 OperationRegion (ECRM, EmbeddedControl, 0x00, 0xFF) 16 Field (ECRM, ByteAcc, NoLock, Preserve) 17 { 18 PMCD, 32, 19 S0FL, 8, 20 SXF0, 8, 21 SXF1, 8, 22 CPWR, 16, 23 CVLT, 16, 24 CCUR, 16, 25 DIDX, 8, 26 CIDX, 8, 27 PMCC, 8, 28 PMEP, 8, 29 Offset (0x22), 30 CRZN, 8, 31 THTA, 8, 32 HYST, 8, 33 CRIT, 8, 34 TEMP, 8, 35 TENA, 8, 36 Offset (0x29), 37 TOAD, 8, 38 PHTP, 8, 39 THEM, 8, 40 TMPO, 8, 41 Offset (0x2E), 42 FRDC, 8, 43 FTGC, 8, 44 PLTP, 8, 45 Offset (0x32), 46 DTMP, 8, 47 Offset (0x35), 48 PL1, 8, 49 PL2, 8, 50 BCVD, 8, 51 Offset (0x40), 52 ABDI, 8, 53 ABAD, 8, 54 ABIX, 8, 55 ABDA, 8, 56 ABST, 8, 57 PORI, 8, 58 Offset (0x4C), 59 PSSB, 8, 60 Offset (0x80), 61 Offset (0x81), 62 , 4, 63 SLPT, 4, 64 FNSW, 1, 65 SFNC, 1, 66 ACPI, 1, 67 , 1, 68 , 1, 69 , 1, 70 , 1, 71 DETF, 1, 72 LIDS, 1, 73 TBLT, 1, 74 , 1, 75 , 1, 76 , 1, 77 COMM, 1, 78 PME, 1, 79 SBVD, 1, 80 81 /* 0x84 to 0x9A is in battery.asl */ 82 83 Offset (0x9B), 84 BATE, 16, 85 BPR, 16, 86 BCR, 16, 87 BRC, 16, 88 BCC, 16, 89 BPV, 16, 90 BCV2, 16, 91 BCV3, 16, 92 BCV4, 16, 93 BCW, 16, 94 BATF, 16, 95 BCL, 16, 96 MAXC, 16, 97 BCG1, 8, 98 BT1I, 1, 99 BT2I, 1, 100 , 2, 101 BATN, 4, 102 BSTS, 16, 103 BCG2, 8, 104 Offset (0xBD), 105 BMO, 8, 106 Offset (0xBF), 107 BRCV, 8, 108 Offset (0xC1), 109 BIF, 8, 110 BRCC, 8, 111 112 /* 0xC9 to 0xCD in battery.asl */ 113 114 Offset (0xCF), 115 CTLB, 8, 116 Offset (0xD1), 117 BTY, 8, 118 Offset (0xD5), 119 MFAC, 8, 120 CFAN, 8, 121 PFAN, 8, 122 OCPS, 8, 123 OCPR, 8, 124 OCPE, 8, 125 TMP1, 8, 126 TMP2, 8, 127 NABT, 4, 128 BCM, 4, 129 CCBQ, 16, 130 CBT, 16, 131 Offset (0xE3), 132 OST, 4, 133 Offset (0xE4), 134 Offset (0xE5), 135 TPTE, 1, 136 TBBN, 1, 137 , 3, 138 TP, 1, 139 Offset (0xE6), 140 SHK, 8, 141 AUDS, 1, 142 SPKR, 1, 143 Offset (0xE8), 144 HSEN, 4, 145 HSST, 4, 146 Offset (0xEA), 147 , 2, 148 WWP, 1, 149 WLP, 1, 150 Offset (0xEF), 151 INCH, 2, 152 IDIS, 2, 153 INAC, 1 154 } 155 156 Method (ECRI, 0, Serialized) 157 { 158 OST = 0x7 /* FIXME: OS specific, in Linux is 7 */ 159 PWUP (0x07, 0xFF) 160 Local0 = GBAP () 161 ITLB () 162 SBTN (Local0, 0x81) 163 } 164 165 Method (_REG, 2, NotSerialized) 166 { 167 ACPI = 1 168 ECRI () 169 } 170 171 /* mailbox: port 0x200 and 0x201 */ 172 OperationRegion (MAIO, SystemIO, 0x0200, 0x02) 173 Field (MAIO, ByteAcc, NoLock, Preserve) 174 { 175 MAIN, 8, 176 MADT, 8 177 } 178 IndexField (MAIN, MADT, ByteAcc, NoLock, Preserve) 179 { 180 Offset (0x8C), 181 , 7, 182 CLID, 1, 183 Offset (0x95), 184 PWM0, 8, 185 Offset (0x9D), 186 PWMC, 8 187 } 188 189 Mutex (ECMX, 0x00) 190 191#include "ac.asl" 192#include "battery.asl" 193#include "lid.asl" 194 195 /* The following are _Qxx methods in vendor DSDT whose function 196 is unknown. Just leave a debug message here. */ 197 198 Method (_Q04) 199 { 200 Printf ("EC: _Q04") 201 PNOT() 202 } 203 204 Method (_Q05) 205 { 206 Printf ("EC: _Q05") 207 } 208 209 Method (_Q0B) 210 { 211 Printf ("EC: _Q0B") 212 } 213 214 Method (_Q0C) 215 { 216 Printf ("EC: _Q0C") 217 } 218 219 Method (_Q0D) 220 { 221 Printf ("EC: _Q0D") 222 } 223} 224