#51 Le 27/05/2018, à 06:37
- xubu1957
Re : Yepo 737S : carte son non détectée
Le 26/05/2018 :
Il faut attendre un retour de Naziel, je n'ai pas sa compétence technique.
(edit=messages regroupés)
_ _ _
Bonjour,
Enfin, les enceintes ont fonctionné! Merci beaucoup @Orochimarufan !
Je suis curieux de savoir comment vous avez obtenu le numéro de broche GPIO et l'identifiant "spken".
Voici les étapes que j'ai suivies pour le faire fonctionner:
Remplacez le dossier bytcr-rt5651 UCM par le bytcr_rt5651 (ne semble pas fonctionner avec le premier)
Allumez le GPIO 418.
Basculez dans pulseaudio du casque vers les haut-parleurs.
Tout fonctionne comme prévu sauf pour la fonction de détection de jack.
Je vais essayer le patch une autre fois.
> github.com/danielotero/linux-on-hi10/issues/8
Dernière modification par xubu1957 (Le 10/06/2018, à 20:19)
Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Réso|u] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci. Membre de Linux-Azur
Hors ligne
#52 Le 27/05/2018, à 09:21
- 321guyver
Re : Yepo 737S : carte son non détectée
Bonjour,
de même que jumperdos dans cette page github, j'aurais besoin d'instructions plus détaillées : dans quel dossier dois-je opérer ce remplacement ? Prenant bytcr_rt5651 où ? Comment allumer GPIO 418 ?
Je place aussi de l'espoir dans l'adaptation que doit faire Naziel ...
Ce serait sans doute l'une des plus grandes opportunités ratées de notre siècle si le logiciel libre ne servait à libérer que du code : http://donnons.org/, http://www.agoravox.fr/, http://www.couchsurfing.org/, http://esperanto-france.org/, http://www.mouvement-zeitgeist.fr/, https://monnaie-libre.fr/
Hors ligne
#53 Le 27/05/2018, à 10:51
- Nuliel
Re : Yepo 737S : carte son non détectée
Bonjour,
Mes oraux approchent à grands pas, j'ai donc fatalement moins de temps à allouer au forum, j'en suis navré
Effectivement, j'espérais directement trouver spken, ça m'aurait facilité la tâche. Mais apparemment, le gpio concerné peut changer (d'ailleurs je comprends pas comment car je crois que la table DSDT ne change pas)
Donc je propose:
- Replace the bytcr-rt5651 UCM folder with the bytcr_rt5651 (didn't seem to work with the first one)
donc remplacer le dossier bytcr-rt5651 par bytcr_rt5651 (tu as dû copier les deux, donc supprimer le premier devrait suffire)
- redémarrer
- voir si la prise casque est toujours utilisable
- faire dans un terminal
GPIO=362
echo $GPIO >/sys/class/gpio/export
echo 1 > /sys/class/gpio/gpio$GPIO/value
(341+22-1)
- tenter de passer du casque aux enceintes
Si ça marche pas, il faudra que je comprenne comment on peut lire une table DSDT.
Edit: au post 26/27, tu as ajouté les deux dossiers. La première étape consiste à supprimer le premier (bytcr-rt5651)
Dernière modification par Nuliel (Le 28/05/2018, à 19:54)
Hors ligne
#54 Le 27/05/2018, à 20:10
- 321guyver
Re : Yepo 737S : carte son non détectée
Ok, je tente ça demain.
Bon courage pour tes révisions.
Ce serait sans doute l'une des plus grandes opportunités ratées de notre siècle si le logiciel libre ne servait à libérer que du code : http://donnons.org/, http://www.agoravox.fr/, http://www.couchsurfing.org/, http://esperanto-france.org/, http://www.mouvement-zeitgeist.fr/, https://monnaie-libre.fr/
Hors ligne
#55 Le 28/05/2018, à 19:44
- 321guyver
Re : Yepo 737S : carte son non détectée
Bon, quand ça veut pas ...
# GPIO=362
# echo $GPIO >/sys/class/gpio/export
# echo 1 >/sys/class/gpio/gpio$GPIO/value
bash: echo: erreur d'écriture : Opération non permise
Comment puis-je ne pas être autorisé, alors que je suis en SU ?
Ce serait sans doute l'une des plus grandes opportunités ratées de notre siècle si le logiciel libre ne servait à libérer que du code : http://donnons.org/, http://www.agoravox.fr/, http://www.couchsurfing.org/, http://esperanto-france.org/, http://www.mouvement-zeitgeist.fr/, https://monnaie-libre.fr/
Hors ligne
#56 Le 28/05/2018, à 19:54
- Nuliel
Re : Yepo 737S : carte son non détectée
Hum, il manque un espace, je sais pas si ça peut influer
sudo echo 362 > /sys/class/gpio/export
sudo echo 1 > /sys/class/gpio/gpio362/value
Edit: pas sûr que ce soit ça, j'ai rajouté des sudo au cas où, mais c'est un truc un peu spécial ce qui est dans /sys, j'ai (encore) remis à jour les commandes
Dernière modification par Nuliel (Le 28/05/2018, à 21:36)
Hors ligne
#57 Le 29/05/2018, à 08:53
- 321guyver
Re : Yepo 737S : carte son non détectée
# GPIO=362
# echo $GPIO >/sys/class/gpio/export
# echo 1 > /sys/class/gpio/gpio362/value
bash: echo: erreur d'écriture : Opération non permise
# sudo echo 1 > /sys/class/gpio/gpio362/value
echo: erreur d'écriture: Opération non permise
Et sinon
$ sudo echo 362 > /sys/class/gpio/export
bash: /sys/class/gpio/export: Permission non accordée
Il ne prend même pas la peine de me demander mon mdp !
Bizarre ...
Ce serait sans doute l'une des plus grandes opportunités ratées de notre siècle si le logiciel libre ne servait à libérer que du code : http://donnons.org/, http://www.agoravox.fr/, http://www.couchsurfing.org/, http://esperanto-france.org/, http://www.mouvement-zeitgeist.fr/, https://monnaie-libre.fr/
Hors ligne
#58 Le 29/05/2018, à 21:44
- Nuliel
Re : Yepo 737S : carte son non détectée
Tu peux redonner
sudo cat /sys/kernel/debug/gpio
au cas où (peut être que le fait d'avoir enlevé bytcr-rt5651 a changé qqch)
Tu peux aussi fournir la table DSDT (actuellement, ça reste encore du chinois pour moi mais je vais y jeter un oeil) avec
sudo cat /sys/firmware/acpi/tables/DSDT > dsdt.dat
iasl -d dsdt.dat
et tu fournis le contenu de dsdt.dsl (les erreurs qui disent qu'on peut pas recompiler, c'est pas grave)
J'ai l'impression que mon ordi n'a pas de GPIO, donc difficile de tester (et mon raspberry sert en ce moment à autre chose, donc je peux pas tester dessus)
Et je me demande si on peut seulement activer le pin 362 (d'où l'erreur)
D'près ce que je comprends, le problème est que le driver sait pas où se trouve les hauts parleurs.
Et un pense bête pour moi https://www.kernel.org/doc/Documentation/gpio/sysfs.txt
Dernière modification par Nuliel (Le 29/05/2018, à 21:55)
Hors ligne
#59 Le 29/05/2018, à 22:01
- Nuliel
Re : Yepo 737S : carte son non détectée
Merci pour l'info ylag.
Donc du coup
sudo sh -c 'echo 362 > /sys/class/gpio/export'
sudo sh -c 'echo 1 > /sys/class/gpio/gpio362/value'
Hors ligne
#60 Le 29/05/2018, à 22:07
- ylag
Re : Yepo 737S : carte son non détectée
@Naziel:
Bonsoir,
Désolé: J'ai effacé mon commentaire concernant la commande echo, le croyant pas vraiment pertinent ...
A+
Dernière modification par ylag (Le 29/05/2018, à 22:10)
Hors ligne
#61 Le 29/05/2018, à 22:22
- Nuliel
Re : Yepo 737S : carte son non détectée
@ylag: Pas de problème, toute idée pour accéder aux hauts parleurs est bienvenue
Hors ligne
#62 Le 30/05/2018, à 08:32
- 321guyver
Re : Yepo 737S : carte son non détectée
$ sudo cat /sys/kernel/debug/gpio
[sudo] Mot de passe de lucie :
gpiochip4: GPIOs 225-227, parent: platform/INT0002:00, INT0002 Virtual GPIO:
gpio-227 ( |ACPI:Event ) in lo IRQ
gpiochip3: GPIOs 228-313, parent: platform/INT33FF:03, INT33FF:03:
gpio-309 ( |80860F14:02 ) in lo IRQ
gpiochip2: GPIOs 314-340, parent: platform/INT33FF:02, INT33FF:02:
gpio-322 ( |power ) in hi IRQ
gpio-330 ( |ACPI:OpRegion ) out hi
gpio-338 ( |ACPI:Event ) in hi IRQ
gpiochip1: GPIOs 341-413, parent: platform/INT33FF:01, INT33FF:01:
gpio-344 ( |ACPI:Event ) in hi IRQ
gpiochip0: GPIOs 414-511, parent: platform/INT33FF:00, INT33FF:00:
J'ai dû installer acpica-tools pour la commande iasl
~$ iasl -d dsdt.dat
Intel ACPI Component Architecturei
ASL+ Optimizing Compiler/Disassembler version 20180105
Copyright (c) 2000 - 2018 Intel Corporation
Input file dsdt.dat, Length 0x1BEDE (114398) bytes
ACPI: DSDT 0x0000000000000000 01BEDE (v02 ALASKA A M I 01072009 INTL 20120913)
Pass 1 parse of [DSDT]
Pass 2 parse of [DSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)
Parsing completed
Found 2 external control methods, reparsing with new information
Pass 1 parse of [DSDT]
Pass 2 parse of [DSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)
Parsing completed
Disassembly completed
ASL Output: dsdt.dsl - 920621 bytes
iASL Warning: There were 2 external control methods found during
disassembly, but only 0 were resolved (2 unresolved). Additional
ACPI tables may be required to properly disassemble the code. This
resulting disassembler output file may not compile because the
disassembler did not know how many arguments to assign to the
unresolved methods. Note: SSDTs can be dynamically loaded at
runtime and may or may not be available via the host OS.
To specify the tables needed to resolve external control method
references, the -e option can be used to specify the filenames.
Example iASL invocations:
iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml
iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml
iasl -e ssdt*.aml -d dsdt.aml
In addition, the -fe option can be used to specify a file containing
control method external declarations with the associated method
argument counts. Each line of the file must be of the form:
External (<method pathname>, MethodObj, <argument count>)
Invocation:
iasl -fe refs.txt -d dsdt.aml
Et enfin :
~$ sudo sh -c 'echo 362 > /sys/class/gpio/export'
~$ sudo sh -c 'echo 1 > /sys/class/gpio/gpio362/value'
sh: echo: I/O error
in / out error ...
Ce serait sans doute l'une des plus grandes opportunités ratées de notre siècle si le logiciel libre ne servait à libérer que du code : http://donnons.org/, http://www.agoravox.fr/, http://www.couchsurfing.org/, http://esperanto-france.org/, http://www.mouvement-zeitgeist.fr/, https://monnaie-libre.fr/
Hors ligne
#63 Le 30/05/2018, à 17:14
- Nuliel
Re : Yepo 737S : carte son non détectée
Donc aucun changement.
Tu peux fournir le contenu de dsdt.dsl ?
Hors ligne
#64 Le 31/05/2018, à 22:48
- 321guyver
Re : Yepo 737S : carte son non détectée
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20180105 (64-bit version)
* Copyright (c) 2000 - 2018 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of dsdt.dat, Wed May 30 08:25:55 2018
*
* Original Table Header:
* Signature "DSDT"
* Length 0x0001BEDE (114398)
* Revision 0x02
* Checksum 0x3C
* OEM ID "ALASKA"
* OEM Table ID "A M I "
* OEM Revision 0x01072009 (17244169)
* Compiler ID "INTL"
* Compiler Version 0x20120913 (538052883)
*/
DefinitionBlock ("", "DSDT", 2, "ALASKA", "A M I ", 0x01072009)
{
/*
* iASL Warning: There were 2 external control methods found during
* disassembly, but only 0 were resolved (2 unresolved). Additional
* ACPI tables may be required to properly disassemble the code. This
* resulting disassembler output file may not compile because the
* disassembler did not know how many arguments to assign to the
* unresolved methods. Note: SSDTs can be dynamically loaded at
* runtime and may or may not be available via the host OS.
*
* To specify the tables needed to resolve external control method
* references, the -e option can be used to specify the filenames.
* Example iASL invocations:
* iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml
* iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml
* iasl -e ssdt*.aml -d dsdt.aml
*
* In addition, the -fe option can be used to specify a file containing
* control method external declarations with the associated method
* argument counts. Each line of the file must be of the form:
* External (<method pathname>, MethodObj, <argument count>)
* Invocation:
* iasl -fe refs.txt -d dsdt.aml
*
* The following methods were unresolved and many not compile properly
* because the disassembler had to guess at the number of arguments
* required for each:
*/
External (_PR_.CPU0._PPC, UnknownObj)
External (_SB_.DPTF, UnknownObj)
External (_SB_.PCI0.LPCB.TPM_.PTS_, MethodObj) // Warning: Unknown method, guessing 1 arguments
External (CFGD, UnknownObj)
External (DPTF, UnknownObj)
External (NDN3, MethodObj) // Warning: Unknown method, guessing 1 arguments
External (PDC0, UnknownObj)
External (PDC1, UnknownObj)
External (PDC2, UnknownObj)
External (PDC3, UnknownObj)
External (TCHG, UnknownObj)
External (UBTC, UnknownObj)
Name (LAPB, 0xFEE00000)
Name (CPVD, Zero)
Name (SMBS, 0xEFA0)
Name (SMBL, 0x20)
Name (SRCB, 0xFED1C000)
Name (SRCL, 0x4000)
Name (PMBS, 0x0400)
Name (PMLN, 0x80)
Name (SMIP, 0xB2)
Name (APCB, 0xFEC00000)
Name (APCL, 0x1000)
Name (RCRB, 0xFED1C000)
Name (RCRL, 0x4000)
Name (HPTB, 0xFED00000)
Name (HPTC, 0xFED1F404)
Name (ASSB, Zero)
Name (AOTB, Zero)
Name (AAXB, Zero)
Name (PEHP, One)
Name (SHPC, Zero)
Name (PEPM, One)
Name (PEER, One)
Name (PECS, One)
Name (ITKE, Zero)
Name (MBEC, 0xFFFF)
Name (PEBS, 0xE0000000)
Name (PELN, 0x10000000)
Name (SRSI, 0xB2)
Name (CSMI, 0x61)
Name (SMIA, 0xB2)
Name (SMIB, 0xB3)
Name (OFST, 0x35)
Name (TRST, 0x02)
Name (TCMF, Zero)
Name (TMF1, Zero)
Name (TMF2, Zero)
Name (TMF3, Zero)
Name (TTPF, Zero)
Name (DTPT, Zero)
Name (TTDP, One)
Name (TPMB, 0xFFFFFFFF)
Name (TPMC, 0xFFFFFFFF)
Name (TPMM, 0x7FF00000)
Name (FTPM, 0x7FF00000)
Name (PPIM, 0x7B767F98)
Name (PPIL, 0x1C)
Name (AMDT, Zero)
Name (TPMF, One)
Name (PPIV, Zero)
Name (PMCB, 0xFED03000)
Name (PMCP, 0xFED030A0)
Name (PUNB, 0xFED06000)
Name (IBAS, 0xFED08000)
Name (FMBL, One)
Name (FDTP, 0x02)
Name (RCOM, 0xFED98000)
OperationRegion (GNVS, SystemMemory, 0x7B712000, 0x036B)
Field (GNVS, AnyAcc, Lock, Preserve)
{
OSYS, 16,
SMIF, 8,
PRM0, 8,
PRM1, 8,
SCIF, 8,
PRM2, 8,
PRM3, 8,
LCKF, 8,
PRM4, 8,
PRM5, 8,
P80D, 32,
LIDS, 8,
PWRS, 8,
DBGS, 8,
THOF, 8,
ACT1, 8,
ACTT, 8,
PSVT, 8,
TC1V, 8,
TC2V, 8,
TSPV, 8,
CRTT, 8,
DTSE, 8,
DTS1, 8,
DTS2, 8,
DTSF, 8,
BNUM, 8,
B0SC, 8,
B1SC, 8,
B2SC, 8,
B0SS, 8,
B1SS, 8,
B2SS, 8,
REVS, 8,
OSID, 8,
ADED, 8,
APIC, 8,
MPEN, 8,
PCP0, 8,
PCP1, 8,
PPCM, 8,
PPMF, 32,
Offset (0x32),
NATP, 8,
CMAP, 8,
CMBP, 8,
LPTP, 8,
FDCP, 8,
CMCP, 8,
CIRP, 8,
W381, 8,
NPCE, 8,
Offset (0x3C),
IGDS, 8,
TLST, 8,
CADL, 8,
PADL, 8,
CSTE, 16,
NSTE, 16,
SSTE, 16,
NDID, 8,
DID1, 32,
DID2, 32,
DID3, 32,
DID4, 32,
DID5, 32,
KSV0, 32,
KSV1, 8,
Offset (0x67),
BLCS, 8,
BRTL, 8,
ALSE, 8,
ALAF, 8,
LLOW, 8,
LHIH, 8,
Offset (0x6E),
EMAE, 8,
EMAP, 16,
EMAL, 16,
Offset (0x74),
MEFE, 8,
DSTS, 8,
Offset (0x78),
TPMP, 8,
TM2E, 8,
MORD, 8,
TCGP, 8,
PPRP, 32,
PPRQ, 8,
LPPR, 8,
GTF0, 56,
GTF2, 56,
IDEM, 8,
GTF1, 56,
Offset (0xAA),
ASLB, 32,
IBTT, 8,
IPAT, 8,
ITVF, 8,
ITVM, 8,
IPSC, 8,
IBLC, 8,
IBIA, 8,
ISSC, 8,
I409, 8,
I509, 8,
I609, 8,
I709, 8,
IDMM, 8,
IDMS, 8,
IF1E, 8,
HVCO, 8,
NXD1, 32,
NXD2, 32,
NXD3, 32,
NXD4, 32,
NXD5, 32,
NXD6, 32,
NXD7, 32,
NXD8, 32,
GSMI, 8,
PAVP, 8,
Offset (0xE1),
OSCC, 8,
NEXP, 8,
Offset (0xEB),
DSEN, 8,
ECON, 8,
GPIC, 8,
CTYP, 8,
L01C, 8,
VFN0, 8,
VFN1, 8,
Offset (0x100),
NVGA, 32,
NVHA, 32,
AMDA, 32,
DID6, 32,
DID7, 32,
DID8, 32,
Offset (0x147),
OTG0, 32,
OTG1, 32,
LPE0, 32,
LPE1, 32,
LPE2, 32,
ACST, 8,
BTST, 8,
PFLV, 8,
BREV, 8,
AOAC, 8,
XHCI, 8,
PMEN, 8,
USEL, 8,
ISPA, 32,
ISPD, 8,
D10A, 32,
D10L, 32,
D11A, 32,
D11L, 32,
P10A, 32,
P10L, 32,
P11A, 32,
P11L, 32,
P20A, 32,
P20L, 32,
P21A, 32,
P21L, 32,
U10A, 32,
U10L, 32,
U11A, 32,
U11L, 32,
U20A, 32,
U20L, 32,
U21A, 32,
U21L, 32,
SP0A, 32,
SP0L, 32,
SP1A, 32,
SP1L, 32,
S20A, 32,
S20L, 32,
S21A, 32,
S21L, 32,
S30A, 32,
S30L, 32,
S31A, 32,
S31L, 32,
D20A, 32,
D20L, 32,
D21A, 32,
D21L, 32,
I10A, 32,
I10L, 32,
I11A, 32,
I11L, 32,
I20A, 32,
I20L, 32,
I21A, 32,
I21L, 32,
I30A, 32,
I30L, 32,
I31A, 32,
I31L, 32,
I40A, 32,
I40L, 32,
I41A, 32,
I41L, 32,
I50A, 32,
I50L, 32,
I51A, 32,
I51L, 32,
I60A, 32,
I60L, 32,
I61A, 32,
I61L, 32,
I70A, 32,
I70L, 32,
I71A, 32,
I71L, 32,
EM0A, 32,
EM0L, 32,
EM1A, 32,
EM1L, 32,
SI0A, 32,
SI0L, 32,
SI1A, 32,
SI1L, 32,
SD0A, 32,
SD0L, 32,
SD1A, 32,
SD1L, 32,
ISH0, 32,
ISH1, 32,
Offset (0x2A4),
Offset (0x2A8),
DPTE, 8,
THM0, 8,
THM1, 8,
THM2, 8,
THM3, 8,
THM4, 8,
CHGR, 8,
DDSP, 8,
DSOC, 8,
DPSR, 8,
DPCT, 32,
DPPT, 32,
DGC0, 32,
DGP0, 32,
DGC1, 32,
DGP1, 32,
DGC2, 32,
DGP2, 32,
DGC3, 32,
DGP3, 32,
DGC4, 32,
DGP4, 32,
DLPM, 8,
DSC0, 32,
DSC1, 32,
DSC2, 32,
DSC3, 32,
DSC4, 32,
DDBG, 8,
LPOE, 32,
LPPS, 32,
LPST, 32,
LPPC, 32,
LPPF, 32,
DPME, 8,
BCSL, 8,
RSVD, 8,
BTHS, 8,
TM2A, 32,
TM2L, 32,
PSSD, 8,
ITSA, 8,
S0IX, 8,
SDMD, 8,
EMVR, 8,
BMBD, 32,
FSAS, 8,
BDID, 8,
FBID, 8,
OTGM, 8,
STEP, 8,
SOCS, 8,
AMTE, 8,
ABC0, 8,
ABC1, 8,
ABC2, 8,
ABC3, 8,
ABC4, 8,
ABC5, 8,
DPHL, 8,
DPLL, 8,
DBAT, 8,
DTPM, 8,
RSV, 8,
PSDE, 8,
RSD2, 8,
MODS, 8,
WWEN, 8,
WWCR, 32,
WWPS, 32,
ABS0, 8,
ABS1, 8,
ABS2, 8,
ABS3, 8,
ABS4, 8,
ABS5, 8,
RCAM, 8,
ECAM, 8,
AUCD, 8,
BTHM, 8,
PMID, 8,
MPNL, 8,
VTSP, 16,
Offset (0x34E),
Offset (0x34F),
FMDM, 8,
SDVL, 8,
MLSD, 8,
SCDD, 8,
HPME, 8,
GPSD, 8,
PAVB, 32,
PAVL, 32,
NUSB, 8,
DSFG, 8,
DAMT, 8,
MODM, 8,
UBCB, 32,
PSSE, 8,
ISPE, 8,
MFCS, 8,
MRCS, 8,
MF3E, 8,
MCHS, 8
}
Method (ADBG, 1, Serialized)
{
Return (Zero)
}
Name (WAKP, Package (0x02)
{
Zero,
Zero
})
Name (SS1, Zero)
Name (SS2, Zero)
Name (SS3, Zero)
Name (SS4, One)
Name (IOST, 0xFFFF)
Name (TOPM, 0x00000000)
Name (ROMS, 0xFFE00000)
Name (VGAF, One)
Scope (_SB)
{
Name (PRSA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,10,11,12,14,15}
})
Alias (PRSA, PRSB)
Alias (PRSA, PRSC)
Alias (PRSA, PRSD)
Alias (PRSA, PRSE)
Alias (PRSA, PRSF)
Alias (PRSA, PRSG)
Alias (PRSA, PRSH)
Name (PR00, Package (0x17)
{
Package (0x04)
{
0x0002FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0003FFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0x000AFFFF,
Zero,
LNKE,
Zero
},
Package (0x04)
{
0x000BFFFF,
Zero,
LNKF,
Zero
},
Package (0x04)
{
0x001CFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x001CFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x001CFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x001CFFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0010FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0011FFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0x0012FFFF,
Zero,
LNKC,
Zero
},
Package (0x04)
{
0x0014FFFF,
Zero,
LNKE,
Zero
},
Package (0x04)
{
0x0015FFFF,
Zero,
LNKF,
Zero
},
Package (0x04)
{
0x0016FFFF,
Zero,
LNKH,
Zero
},
Package (0x04)
{
0x0018FFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0x0018FFFF,
0x02,
LNKD,
Zero
},
Package (0x04)
{
0x0018FFFF,
0x03,
LNKC,
Zero
},
Package (0x04)
{
0x0018FFFF,
One,
LNKA,
Zero
},
Package (0x04)
{
0x001AFFFF,
Zero,
LNKF,
Zero
},
Package (0x04)
{
0x001EFFFF,
Zero,
LNKD,
Zero
},
Package (0x04)
{
0x001EFFFF,
0x03,
LNKA,
Zero
},
Package (0x04)
{
0x001EFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x001EFFFF,
0x02,
LNKC,
Zero
}
})
Name (AR00, Package (0x17)
{
Package (0x04)
{
0x0002FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0003FFFF,
Zero,
Zero,
0x11
},
Package (0x04)
{
0x000AFFFF,
Zero,
Zero,
0x14
},
Package (0x04)
{
0x000BFFFF,
Zero,
Zero,
0x15
},
Package (0x04)
{
0x001CFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x001CFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x001CFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x001CFFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x0010FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0011FFFF,
Zero,
Zero,
0x11
},
Package (0x04)
{
0x0012FFFF,
Zero,
Zero,
0x12
},
Package (0x04)
{
0x0014FFFF,
Zero,
Zero,
0x14
},
Package (0x04)
{
0x0015FFFF,
Zero,
Zero,
0x15
},
Package (0x04)
{
0x0016FFFF,
Zero,
Zero,
0x17
},
Package (0x04)
{
0x0018FFFF,
Zero,
Zero,
0x11
},
Package (0x04)
{
0x0018FFFF,
0x02,
Zero,
0x13
},
Package (0x04)
{
0x0018FFFF,
0x03,
Zero,
0x12
},
Package (0x04)
{
0x0018FFFF,
One,
Zero,
0x10
},
Package (0x04)
{
0x001AFFFF,
Zero,
Zero,
0x15
},
Package (0x04)
{
0x001EFFFF,
Zero,
Zero,
0x13
},
Package (0x04)
{
0x001EFFFF,
0x03,
Zero,
0x10
},
Package (0x04)
{
0x001EFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x001EFFFF,
0x02,
Zero,
0x12
}
})
Name (PR01, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR01, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x13
}
})
Name (PR02, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
Zero
}
})
Name (AR02, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x10
}
})
Name (PR03, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKB,
Zero
}
})
Name (AR03, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x11
}
})
Name (PR04, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKC,
Zero
}
})
Name (AR04, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x12
}
})
}
Scope (_SB)
{
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID
Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID
Name (_ADR, Zero) // _ADR: Address
Method (^BN00, 0, NotSerialized)
{
Return (Zero)
}
Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number
{
Return (BN00 ())
}
Name (_UID, Zero) // _UID: Unique ID
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR00) /* \_SB_.AR00 */
}
Return (PR00) /* \_SB_.PR00 */
}
Device (CHVC)
{
Name (_ADR, Zero) // _ADR: Address
OperationRegion (HBUS, PCI_Config, Zero, 0xFF)
Field (HBUS, DWordAcc, NoLock, Preserve)
{
Offset (0xD0),
SMCR, 32,
SMDR, 32,
MCRX, 32,
MCXX, 32
}
Method (RMBR, 2, Serialized)
{
Local0 = ((Arg0 << 0x10) | (Arg1 << 0x08))
SMCR = (0x100000F0 | Local0)
Return (SMDR) /* \_SB_.PCI0.CHVC.SMDR */
}
Method (WMBR, 3, Serialized)
{
SMDR = Arg2
Local0 = ((Arg0 << 0x10) | (Arg1 << 0x08))
SMCR = (0x110000F0 | Local0)
}
Method (RMBX, 6, Serialized)
{
Local4 = (Arg3 & 0x07)
Local4 = (Local4 << 0x08)
Local5 = ((Arg4 << 0x03) | Arg5)
Local5 &= 0xFF
MCXX = (Local4 | Local5)
Local3 = (Arg1 & 0xFFFFFF00)
MCRX = Local3
Local0 = (Arg1 & 0xFF)
Local1 = ((Arg2 << 0x18) | (Arg0 << 0x10))
Local1 &= 0xFFFF0000
Local2 = ((Local0 << 0x08) | 0xF0)
Local2 &= 0xFFFF
SMCR = (Local1 | Local2)
Return (SMDR) /* \_SB_.PCI0.CHVC.SMDR */
}
Method (WMBX, 7, Serialized)
{
Local4 = (Arg4 & 0x07)
Local4 = (Local4 << 0x08)
Local5 = ((Arg5 << 0x03) | Arg6)
Local5 &= 0xFF
MCXX = (Local4 | Local5)
Local3 = (Arg1 & 0xFFFFFF00)
MCRX = Local3
SMDR = Arg2
Local0 = (Arg1 & 0xFF)
Local1 = ((Arg3 << 0x18) | (Arg0 << 0x10))
Local1 &= 0xFFFF0000
Local2 = ((Local0 << 0x08) | 0xF0)
Local2 &= 0xFFFF
SMCR = (Local1 | Local2)
}
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (FTSZ, 0x00100000)
CreateDWordField (RES0, \_SB.PCI0._Y00._MIN, LPMN) // _MIN: Minimum Base Address
CreateDWordField (RES0, \_SB.PCI0._Y00._MAX, LPMX) // _MAX: Maximum Base Address
CreateDWordField (RES0, \_SB.PCI0._Y00._LEN, LPLN) // _LEN: Length
If (((LPE2 != Zero) && (LPED == Zero)))
{
LPMN = LPE2 /* \LPE2 */
LPMX = (LPMN + LPLN) /* \_SB_.PCI0._CRS.LPLN */
LPMX -= One
}
Else
{
LPMN = Zero
LPMX = Zero
LPLN = Zero
}
CreateDWordField (RES0, \_SB.PCI0._Y01._MIN, ISMN) // _MIN: Minimum Base Address
CreateDWordField (RES0, \_SB.PCI0._Y01._MAX, ISMX) // _MAX: Maximum Base Address
CreateDWordField (RES0, \_SB.PCI0._Y01._LEN, ISLN) // _LEN: Length
If ((ISPD == One))
{
ISMN = ISPA /* \ISPA */
ISMX = (ISMN + ISLN) /* \_SB_.PCI0._CRS.ISLN */
ISMX -= One
}
Else
{
ISMN = Zero
ISMX = Zero
ISLN = Zero
}
CreateDWordField (RES0, \_SB.PCI0._Y02._MIN, M1MN) // _MIN: Minimum Base Address
CreateDWordField (RES0, \_SB.PCI0._Y02._MAX, M1MX) // _MAX: Maximum Base Address
CreateDWordField (RES0, \_SB.PCI0._Y02._LEN, M1LN) // _LEN: Length
M1MN = (BMBD & 0xFF000000)
M1LN = ((M1MX - M1MN) + One)
CreateDWordField (RES0, \_SB.PCI0._Y03._MIN, GSMN) // _MIN: Minimum Base Address
CreateDWordField (RES0, \_SB.PCI0._Y03._MAX, GSMX) // _MAX: Maximum Base Address
CreateDWordField (RES0, \_SB.PCI0._Y03._LEN, GSLN) // _LEN: Length
GSMN = ^GFX0.GSTM /* \_SB_.PCI0.GFX0.GSTM */
GSLN = (^GFX0.GUMA << 0x19)
GSMX = (GSMN + GSLN) /* \_SB_.PCI0._CRS.GSLN */
GSMX -= One
Return (RES0) /* \_SB_.PCI0.RES0 */
}
Name (RES0, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000, // Granularity
0x0000, // Range Minimum
0x00FF, // Range Maximum
0x0000, // Translation Offset
0x0100, // Length
,, )
IO (Decode16,
0x0070, // Range Minimum
0x0077, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0CF8, // Range Minimum
0x0CF8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0000, // Range Minimum
0x006F, // Range Maximum
0x0000, // Translation Offset
0x0070, // Length
,, , TypeStatic, DenseTranslation)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0078, // Range Minimum
0x0CF7, // Range Maximum
0x0000, // Translation Offset
0x0C80, // Length
,, , TypeStatic, DenseTranslation)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0D00, // Range Minimum
0xFFFF, // Range Maximum
0x0000, // Translation Offset
0xF300, // Length
,, , TypeStatic, DenseTranslation)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000A0000, // Range Minimum
0x000BFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00020000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000C0000, // Range Minimum
0x000DFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00020000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E0000, // Range Minimum
0x000FFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00020000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x20000000, // Range Minimum
0x201FFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00200000, // Length
,, _Y00, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x7A000000, // Range Minimum
0x7A3FFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00400000, // Length
,, _Y01, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x7C000000, // Range Minimum
0x7FFFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x04000000, // Length
,, _Y03, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x80000000, // Range Minimum
0xDFFFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x60000000, // Length
,, _Y02, AddressRangeMemory, TypeStatic)
})
Name (GUID, ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)
Name (SUPP, Zero)
Name (CTRL, Zero)
Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities
{
Local0 = Arg3
CreateDWordField (Local0, Zero, CDW1)
CreateDWordField (Local0, 0x04, CDW2)
CreateDWordField (Local0, 0x08, CDW3)
If ((Arg0 == GUID))
{
SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
If (~(CDW1 & One))
{
If ((CTRL & 0x02))
{
NHPG ()
}
If ((CTRL & 0x04))
{
NPME ()
}
}
If ((Arg1 != One))
{
CDW1 |= 0x08
}
If ((CDW3 != CTRL))
{
CDW1 |= 0x10
}
CDW3 = CTRL /* \_SB_.PCI0.CTRL */
OSCC = CTRL /* \_SB_.PCI0.CTRL */
Return (Local0)
}
Else
{
CDW1 |= 0x04
Return (Local0)
}
}
Device (GFX0)
{
Name (_ADR, 0x00020000) // _ADR: Address
}
Device (ISP3)
{
Name (_ADR, 0x00030000) // _ADR: Address
}
Device (LPCB)
{
Name (_ADR, 0x001F0000) // _ADR: Address
Scope (\_SB)
{
OperationRegion (ILBR, SystemMemory, IBAS, 0x8C)
Field (ILBR, AnyAcc, NoLock, Preserve)
{
Offset (0x08),
PARC, 8,
PBRC, 8,
PCRC, 8,
PDRC, 8,
PERC, 8,
PFRC, 8,
PGRC, 8,
PHRC, 8,
Offset (0x88),
, 4,
UI4E, 1
}
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
PARC |= 0x80
}
Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
{
Return (PRSA) /* \_SB_.PRSA */
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (RTLA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLA, One, IRQ0)
IRQ0 = Zero
IRQ0 = (One << (PARC & 0x0F))
Return (RTLA) /* \_SB_.LNKA._CRS.RTLA */
}
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Local0--
PARC = Local0
}
Method (_STA, 0, Serialized) // _STA: Status
{
If ((PARC & 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x02) // _UID: Unique ID
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
PBRC |= 0x80
}
Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
{
Return (PRSB) /* \_SB_.PRSB */
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (RTLB, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLB, One, IRQ0)
IRQ0 = Zero
IRQ0 = (One << (PBRC & 0x0F))
Return (RTLB) /* \_SB_.LNKB._CRS.RTLB */
}
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Local0--
PBRC = Local0
}
Method (_STA, 0, Serialized) // _STA: Status
{
If ((PBRC & 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x03) // _UID: Unique ID
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
PCRC |= 0x80
}
Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
{
Return (PRSC) /* \_SB_.PRSC */
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (RTLC, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLC, One, IRQ0)
IRQ0 = Zero
IRQ0 = (One << (PCRC & 0x0F))
Return (RTLC) /* \_SB_.LNKC._CRS.RTLC */
}
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Local0--
PCRC = Local0
}
Method (_STA, 0, Serialized) // _STA: Status
{
If ((PCRC & 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x04) // _UID: Unique ID
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
PDRC |= 0x80
}
Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
{
Return (PRSD) /* \_SB_.PRSD */
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (RTLD, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLD, One, IRQ0)
IRQ0 = Zero
IRQ0 = (One << (PDRC & 0x0F))
Return (RTLD) /* \_SB_.LNKD._CRS.RTLD */
}
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Local0--
PDRC = Local0
}
Method (_STA, 0, Serialized) // _STA: Status
{
If ((PDRC & 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKE)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x05) // _UID: Unique ID
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
PERC |= 0x80
}
Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
{
Return (PRSE) /* \_SB_.PRSE */
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (RTLE, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLE, One, IRQ0)
IRQ0 = Zero
IRQ0 = (One << (PERC & 0x0F))
Return (RTLE) /* \_SB_.LNKE._CRS.RTLE */
}
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Local0--
PERC = Local0
}
Method (_STA, 0, Serialized) // _STA: Status
{
If ((PERC & 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKF)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x06) // _UID: Unique ID
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
PFRC |= 0x80
}
Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
{
Return (PRSF) /* \_SB_.PRSF */
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (RTLF, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLF, One, IRQ0)
IRQ0 = Zero
IRQ0 = (One << (PFRC & 0x0F))
Return (RTLF) /* \_SB_.LNKF._CRS.RTLF */
}
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Local0--
PFRC = Local0
}
Method (_STA, 0, Serialized) // _STA: Status
{
If ((PFRC & 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKG)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x07) // _UID: Unique ID
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
PGRC |= 0x80
}
Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
{
Return (PRSG) /* \_SB_.PRSG */
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (RTLG, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLG, One, IRQ0)
IRQ0 = Zero
IRQ0 = (One << (PGRC & 0x0F))
Return (RTLG) /* \_SB_.LNKG._CRS.RTLG */
}
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Local0--
PGRC = Local0
}
Method (_STA, 0, Serialized) // _STA: Status
{
If ((PGRC & 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKH)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x08) // _UID: Unique ID
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
PHRC |= 0x80
}
Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
{
Return (PRSH) /* \_SB_.PRSH */
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (RTLH, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLH, One, IRQ0)
IRQ0 = Zero
IRQ0 = (One << (PHRC & 0x0F))
Return (RTLH) /* \_SB_.LNKH._CRS.RTLH */
}
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Local0--
PHRC = Local0
}
Method (_STA, 0, Serialized) // _STA: Status
{
If ((PHRC & 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
}
OperationRegion (LPC0, PCI_Config, Zero, 0xC0)
Field (LPC0, AnyAcc, NoLock, Preserve)
{
Offset (0x08),
SRID, 8,
Offset (0x80),
C1EN, 1,
Offset (0x84)
}
Device (FWHD)
{
Name (_HID, EisaId ("INT0800") /* Intel 82802 Firmware Hub Device */) // _HID: Hardware ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
Memory32Fixed (ReadOnly,
0xFF000000, // Address Base
0x01000000, // Address Length
)
})
}
Scope (\_SB)
{
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x08, // Length
)
})
}
Device (HPET)
{
Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID
Name (_UID, Zero) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFED00000, // Address Base
0x00000400, // Address Length
)
Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, )
{
0x00000008,
}
})
Name (GBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFED00000, // Address Base
0x00000400, // Address Length
)
Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, )
{
0x00000008,
}
})
If ((OSID == One))
{
Return (RBUF) /* \_SB_.HPET._CRS.RBUF */
}
Return (GBUF) /* \_SB_.HPET._CRS.GBUF */
}
}
}
Device (IPIC)
{
Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0020, // Range Minimum
0x0020, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0024, // Range Minimum
0x0024, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0028, // Range Minimum
0x0028, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x002C, // Range Minimum
0x002C, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0030, // Range Minimum
0x0030, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0034, // Range Minimum
0x0034, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0038, // Range Minimum
0x0038, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x003C, // Range Minimum
0x003C, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A0, // Range Minimum
0x00A0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A4, // Range Minimum
0x00A4, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A8, // Range Minimum
0x00A8, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00AC, // Range Minimum
0x00AC, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B0, // Range Minimum
0x00B0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B4, // Range Minimum
0x00B4, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B8, // Range Minimum
0x00B8, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00BC, // Range Minimum
0x00BC, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x04D0, // Range Minimum
0x04D0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IRQNoFlags ()
{2}
})
}
Device (LDRC)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, 0x02) // _UID: Unique ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x004E, // Range Minimum
0x004E, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0061, // Range Minimum
0x0061, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0063, // Range Minimum
0x0063, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0065, // Range Minimum
0x0065, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0067, // Range Minimum
0x0067, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0080, // Range Minimum
0x0080, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0092, // Range Minimum
0x0092, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x00B2, // Range Minimum
0x00B2, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0680, // Range Minimum
0x0680, // Range Maximum
0x01, // Alignment
0x20, // Length
)
IO (Decode16,
0x0400, // Range Minimum
0x0400, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0x0500, // Range Minimum
0x0500, // Range Maximum
0x01, // Alignment
0xFF, // Length
)
})
}
Device (TIMR)
{
Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */) // _HID: Hardware ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0040, // Range Minimum
0x0040, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IO (Decode16,
0x0050, // Range Minimum
0x0050, // Range Maximum
0x10, // Alignment
0x04, // Length
)
IRQNoFlags ()
{0}
})
}
Device (IURT)
{
Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
If ((USEL == Zero))
{
UI4E = One
C1EN = One
Return (0x0F)
}
Return (Zero)
}
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
If (((BDID != One) && ((BDID != 0x0A) &&
(BDID != 0x09))))
{
UI4E = Zero
C1EN = Zero
}
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
})
Return (BUF0) /* \_SB_.PCI0.LPCB.IURT._CRS.BUF0 */
}
}
}
Device (PISH)
{
Name (_ADR, 0x000A0000) // _ADR: Address
}
Device (D006)
{
Name (_ADR, 0x000B0000) // _ADR: Address
}
Device (RP01)
{
Name (_ADR, 0x001C0000) // _ADR: Address
OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
Offset (0x10),
L0SE, 1,
Offset (0x11),
Offset (0x12),
, 13,
LASX, 1,
Offset (0x1A),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset (0x1B),
Offset (0x20),
Offset (0x22),
PSPX, 1,
Offset (0x98),
, 30,
HPEX, 1,
PMEX, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x9C),
, 30,
HPSX, 1,
PMSX, 1
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
}
}
Method (HPME, 0, Serialized)
{
If (PMSX)
{
Local0 = 0xC8
While (Local0)
{
PMSX = One
If (PMSX)
{
Local0--
}
Else
{
Local0 = Zero
}
}
Notify (PXSX, 0x02) // Device Wake
}
}
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
Return (Zero)
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR01) /* \_SB_.AR01 */
}
Return (PR01) /* \_SB_.PR01 */
}
Device (D00B)
{
Name (_ADR, 0xFF) // _ADR: Address
}
}
Device (RP02)
{
Name (_ADR, 0x001C0001) // _ADR: Address
OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
Offset (0x10),
L0SE, 1,
Offset (0x11),
Offset (0x12),
, 13,
LASX, 1,
Offset (0x1A),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset (0x1B),
Offset (0x20),
Offset (0x22),
PSPX, 1,
Offset (0x98),
, 30,
HPEX, 1,
PMEX, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x9C),
, 30,
HPSX, 1,
PMSX, 1
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("1730e71d-e5dd-4a34-be57-4d76b6a2fe37")))
{
If ((Arg2 == Zero))
{
If ((Arg1 == Zero))
{
Return (Buffer (One)
{
0x03 // .
})
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
If ((Arg2 == One))
{
Switch (DerefOf (Arg3 [Zero]))
{
Case (Zero)
{
^^^HIDD.HPEM (0x1B)
}
Case (One)
{
^^^HIDD.HPEM (0x0B)
}
}
Return (Zero)
}
Return (Zero)
}
Else
{
Return (Zero)
}
}
}
Method (HPME, 0, Serialized)
{
If (PMSX)
{
Local0 = 0xC8
While (Local0)
{
PMSX = One
If (PMSX)
{
Local0--
}
Else
{
Local0 = Zero
}
}
Notify (PXSX, 0x02) // Device Wake
}
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR02) /* \_SB_.AR02 */
}
Return (PR02) /* \_SB_.PR02 */
}
Device (D00C)
{
Name (_ADR, 0xFF) // _ADR: Address
}
}
Device (RP03)
{
Name (_ADR, 0x001C0002) // _ADR: Address
OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
Offset (0x10),
L0SE, 1,
Offset (0x11),
Offset (0x12),
, 13,
LASX, 1,
Offset (0x1A),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset (0x1B),
Offset (0x20),
Offset (0x22),
PSPX, 1,
Offset (0x98),
, 30,
HPEX, 1,
PMEX, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x9C),
, 30,
HPSX, 1,
PMSX, 1
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
}
}
Method (HPME, 0, Serialized)
{
If (PMSX)
{
Local0 = 0xC8
While (Local0)
{
PMSX = One
If (PMSX)
{
Local0--
}
Else
{
Local0 = Zero
}
}
Notify (PXSX, 0x02) // Device Wake
}
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR03) /* \_SB_.AR03 */
}
Return (PR03) /* \_SB_.PR03 */
}
Device (D00D)
{
Name (_ADR, 0xFF) // _ADR: Address
}
}
Device (RP04)
{
Name (_ADR, 0x001C0003) // _ADR: Address
OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
Offset (0x10),
L0SE, 1,
Offset (0x11),
Offset (0x12),
, 13,
LASX, 1,
Offset (0x1A),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset (0x1B),
Offset (0x20),
Offset (0x22),
PSPX, 1,
Offset (0x98),
, 30,
HPEX, 1,
PMEX, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x9C),
, 30,
HPSX, 1,
PMSX, 1
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
}
}
Method (HPME, 0, Serialized)
{
If (PMSX)
{
Local0 = 0xC8
While (Local0)
{
PMSX = One
If (PMSX)
{
Local0--
}
Else
{
Local0 = Zero
}
}
Notify (PXSX, 0x02) // Device Wake
}
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR04) /* \_SB_.AR04 */
}
Return (PR04) /* \_SB_.PR04 */
}
Device (D00E)
{
Name (_ADR, 0xFF) // _ADR: Address
}
}
Device (D00F)
{
Name (_ADR, 0x00100000) // _ADR: Address
}
Device (D010)
{
Name (_ADR, 0x00110000) // _ADR: Address
}
Device (D011)
{
Name (_ADR, 0x00120000) // _ADR: Address
}
Device (XHC1)
{
Name (_ADR, 0x00140000) // _ADR: Address
}
Device (D013)
{
Name (_ADR, 0x00150000) // _ADR: Address
}
Device (D014)
{
Name (_ADR, 0x00160000) // _ADR: Address
}
Device (D015)
{
Name (_ADR, 0x00180000) // _ADR: Address
}
Device (D016)
{
Name (_ADR, 0x00180001) // _ADR: Address
}
Device (D017)
{
Name (_ADR, 0x00180002) // _ADR: Address
}
Device (D018)
{
Name (_ADR, 0x00180003) // _ADR: Address
}
Device (D019)
{
Name (_ADR, 0x00180004) // _ADR: Address
}
Device (D01A)
{
Name (_ADR, 0x00180005) // _ADR: Address
}
Device (D01B)
{
Name (_ADR, 0x00180006) // _ADR: Address
}
Device (D01C)
{
Name (_ADR, 0x00180007) // _ADR: Address
}
Device (SEC0)
{
Name (_ADR, 0x001A0000) // _ADR: Address
}
Device (D01E)
{
Name (_ADR, 0x001E0000) // _ADR: Address
}
Device (D01F)
{
Name (_ADR, 0x001E0001) // _ADR: Address
}
Device (D020)
{
Name (_ADR, 0x001E0002) // _ADR: Address
}
Device (D021)
{
Name (_ADR, 0x001E0003) // _ADR: Address
}
Device (D022)
{
Name (_ADR, 0x001E0004) // _ADR: Address
}
Device (D023)
{
Name (_ADR, 0x001E0005) // _ADR: Address
}
Device (D024)
{
Name (_ADR, 0x001E0006) // _ADR: Address
}
Device (D025)
{
Name (_ADR, 0x001E0007) // _ADR: Address
}
}
}
Name (_S0, Package (0x04) // _S0_: S0 System State
{
Zero,
Zero,
Zero,
Zero
})
Name (_S4, Package (0x04) // _S4_: S4 System State
{
0x06,
Zero,
Zero,
Zero
})
Name (_S5, Package (0x04) // _S5_: S5 System State
{
0x07,
Zero,
Zero,
Zero
})
Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep
{
If (Arg0)
{
\_SB.TPM.TPTS (Arg0)
PPTS (Arg0)
}
}
Method (_WAK, 1, NotSerialized) // _WAK: Wake
{
PWAK (Arg0)
Return (WAKP) /* \WAKP */
}
Scope (\)
{
OperationRegion (PMIO, SystemIO, PMBS, 0x46)
Field (PMIO, ByteAcc, NoLock, Preserve)
{
Offset (0x01),
PWBS, 1,
Offset (0x20),
, 13,
PMEB, 1,
Offset (0x30),
, 4,
SLPE, 1,
Offset (0x34),
, 4,
SLPS, 1,
Offset (0x35),
PM1S, 1,
Offset (0x42),
, 1,
GPEC, 1
}
Field (PMIO, ByteAcc, NoLock, WriteAsZeros)
{
Offset (0x20),
, 4,
PSCI, 1,
SCIS, 1
}
OperationRegion (PMCR, SystemMemory, PMCB, 0x0100)
Field (PMCR, DWordAcc, Lock, Preserve)
{
Offset (0x34),
L10D, 1,
L11D, 1,
L12D, 1,
L13D, 1,
L14D, 1,
L15D, 1,
L16D, 1,
L17D, 1,
SD1D, 1,
SD2D, 1,
SD3D, 1,
, 1,
, 1,
LPED, 1,
OTGD, 1,
Offset (0x36),
, 1,
, 1,
, 1,
, 1,
RP1D, 1,
RP2D, 1,
RP3D, 1,
RP4D, 1,
L20D, 1,
L21D, 1,
L22D, 1,
L23D, 1,
L24D, 1,
L25D, 1,
L26D, 1,
L27D, 1,
, 1,
, 1,
, 1,
, 1,
ISHD, 1,
Offset (0x3C),
Offset (0x60),
CKC0, 2,
CKF0, 1,
Offset (0x64),
CKC1, 2,
CKF1, 1,
Offset (0x68),
CKC2, 2,
CKF2, 1,
Offset (0x6C),
CKC3, 2,
CKF3, 1,
Offset (0x70),
CKC4, 2,
CKF4, 1,
Offset (0x74),
CKC5, 2,
CKF5, 1,
Offset (0x78),
Offset (0xA0),
PMCD, 32,
Offset (0xEC),
PMCC, 32
}
OperationRegion (PPSC, SystemMemory, PMCP, 0x08)
Field (PPSC, DWordAcc, Lock, Preserve)
{
DM1P, 1,
PW1P, 1,
PW2P, 1,
UR1P, 1,
UR2P, 1,
SP1P, 1,
SP2P, 1,
SP3P, 1,
EMMP, 1,
SDI1, 1,
SDI2, 1,
, 2,
LPEP, 1,
, 1,
Offset (0x02),
, 1,
SATP, 1,
USBP, 1,
SECP, 1,
PRP1, 1,
PRP2, 1,
PRP3, 1,
PRP4, 1,
DM2P, 1,
IC1P, 1,
IC2P, 1,
IC3P, 1,
IC4P, 1,
IC5P, 1,
IC6P, 1,
IC7P, 1,
, 2,
ISHP, 1,
Offset (0x08)
}
}
Scope (_SB.PCI0)
{
Scope (XHC1)
{
Name (_DDN, "Baytrail XHCI controller (CCG core/Host only)") // _DDN: DOS Device Name
Name (XHD3, Zero)
Name (XCD3, Zero)
Name (_STR, Unicode ("Baytrail XHCI controller (CCG core/Host only)")) // _STR: Description String
Name (MSET, Zero)
Name (DDST, Zero)
Name (XFLT, Zero)
Method (MINF, 0, NotSerialized)
{
If ((OSID == 0x04))
{
Return (Package (0x03)
{
PSSE,
0x05,
MODM
})
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
}
OperationRegion (XHOP, SystemMemory, 0xE00A0000, 0x40)
Field (XHOP, DWordAcc, NoLock, Preserve)
{
Offset (0x10),
XBAR, 32
}
OperationRegion (XOP1, SystemMemory, XBAR, 0x884C)
Field (XOP1, DWordAcc, NoLock, Preserve)
{
Offset (0x52C),
CCS, 1,
, 4,
PLS, 4,
PP, 1,
Offset (0x869C),
, 18,
D3HE, 1,
Offset (0x8808),
, 30,
S1PD, 1,
S1PU, 1
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("ac340cb7-e901-45bf-b7e6-2b34ec931e23")))
{
If ((Arg1 == 0x03))
{
XFLT = Arg1
}
If ((Arg1 == 0x05))
{
If ((PSSE == One))
{
XCD3 = Zero
If ((XHD3 == One))
{
XHD3 = Zero
D3HE = Zero
}
If ((((CCS == Zero) || (PP == Zero)) || ((
PLS >= 0x04) && (PLS <= 0x0F))))
{
D3HE = Zero
}
Else
{
D3HE = One
}
}
}
If ((Arg1 == 0x06))
{
If ((PSSE == One))
{
XCD3 = One
If ((((CCS == Zero) || (PP == Zero)) || ((
PLS >= 0x04) && (PLS <= 0x0F))))
{
D3HE = Zero
Notify (XHC1, 0x02) // Device Wake
}
Else
{
D3HE = One
}
}
}
}
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If (((OSID == 0x02) || (OSID == 0x04)))
{
Return (0x03)
}
If ((XFLT == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (UBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004E
}
GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0007
}
})
Name (WBUF, Buffer (0x02)
{
0x79, 0x00 // y.
})
If (((BDID != One) && ((OSID == 0x02) || (OSID ==
0x04))))
{
Return (UBUF) /* \_SB_.PCI0.XHC1._CRS.UBUF */
}
Else
{
Return (WBUF) /* \_SB_.PCI0.XHC1._CRS.WBUF */
}
}
OperationRegion (XHCR, PCI_Config, 0x75, One)
Field (XHCR, ByteAcc, NoLock, WriteAsZeros)
{
PMEE, 1,
, 6,
PMES, 1
}
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (Zero)
}
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
}
Name (IPRW, Package (0x02)
{
0x0D,
0x04
})
Method (_PR3, 0, NotSerialized) // _PR3: Power Resources for D3hot
{
Return (Package (0x01)
{
USBC
})
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((XHCI != Zero))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
OperationRegion (XPRT, PCI_Config, 0xD0, 0x10)
Field (XPRT, DWordAcc, NoLock, Preserve)
{
PR2, 32,
PR2M, 32,
PR3, 32,
PR3M, 32
}
Device (RHUB)
{
Name (_ADR, Zero) // _ADR: Address
Method (TPLD, 2, Serialized)
{
Name (PCKG, Package (0x01)
{
Buffer (0x10){}
})
CreateField (DerefOf (PCKG [Zero]), Zero, 0x07, REV)
REV = One
CreateField (DerefOf (PCKG [Zero]), 0x40, One, VISI)
VISI = Arg0
CreateField (DerefOf (PCKG [Zero]), 0x57, 0x08, GPOS)
GPOS = Arg1
CreateField (DerefOf (PCKG [Zero]), 0x4A, 0x04, SHAP)
SHAP = One
CreateField (DerefOf (PCKG [Zero]), 0x20, 0x10, WID)
WID = 0x08
CreateField (DerefOf (PCKG [Zero]), 0x30, 0x10, HGT)
HGT = 0x03
Return (PCKG) /* \_SB_.PCI0.XHC1.RHUB.TPLD.PCKG */
}
Device (SSP1)
{
Name (_ADR, 0x08) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0x06,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSP1._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x4B, 0x19, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // K.......
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSP1._PLD.PLDP */
}
}
Device (HS01)
{
Name (_ADR, One) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0x06,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS01._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x4B, 0x19, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // K.......
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS01._PLD.PLDP */
}
}
Device (SSP2)
{
Name (_ADR, 0x09) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCD, Package (0x04)
{
Zero,
0xFF,
Zero,
Zero
})
Name (UPCR, Package (0x04)
{
0xFF,
0x03,
Zero,
Zero
})
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
If ((NUSB == One))
{
Return (UPCD) /* \_SB_.PCI0.XHC1.RHUB.SSP2._UPC.UPCD */
}
ElseIf ((BDID == 0x02))
{
Return (UPCR) /* \_SB_.PCI0.XHC1.RHUB.SSP2._UPC.UPCR */
}
Else
{
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSP2._UPC.UPCP */
}
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x43, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // C.......
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
Name (PLDR, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x43, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // C.......
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
If ((BDID == 0x02))
{
Return (PLDR) /* \_SB_.PCI0.XHC1.RHUB.SSP2._PLD.PLDR */
}
Else
{
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSP2._PLD.PLDP */
}
}
}
Device (HS02)
{
Name (_ADR, 0x02) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCD, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Name (UPCR, Package (0x04)
{
0xFF,
0x03,
Zero,
Zero
})
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
If ((NUSB == One))
{
Return (UPCD) /* \_SB_.PCI0.XHC1.RHUB.HS02._UPC.UPCD */
}
ElseIf ((BDID == 0x02))
{
Return (UPCR) /* \_SB_.PCI0.XHC1.RHUB.HS02._UPC.UPCR */
}
Else
{
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS02._UPC.UPCP */
}
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x43, 0x08, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, // C.......
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
Name (PLDR, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x43, 0x08, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // C.......
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
If ((BDID == 0x02))
{
Return (PLDR) /* \_SB_.PCI0.XHC1.RHUB.HS02._PLD.PLDR */
}
Else
{
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS02._PLD.PLDP */
}
}
}
Device (SSP3)
{
Name (_ADR, 0x0A) // _ADR: Address
Name (_S0W, 0x02) // _S0W: S0 Device Wake State
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
GPO1,
^^^I2C7.PMIC
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((PMID == Zero))
{
Return (0x0F)
}
Return (Zero)
}
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSP3._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x30, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, // 0.......
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSP3._PLD.PLDP */
}
}
Device (HS03)
{
Name (_ADR, 0x03) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS03._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x61, 0x12, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // a.......
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS03._PLD.PLDP */
}
Device (FCAM)
{
Name (_ADR, 0x03) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS03.FCAM._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x60, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, // `.......
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS03.FCAM._PLD.PLDP */
}
}
}
Device (SSP4)
{
Name (_ADR, 0x0B) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSP4._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x30, 0x08, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, // 0.......
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSP4._PLD.PLDP */
}
}
Device (HS04)
{
Name (_ADR, 0x04) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS04._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x30, 0x08, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, // 0.......
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS04._PLD.PLDP */
}
}
Device (SSC2)
{
Name (_ADR, 0x0D) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSC2._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x30, 0x08, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, // 0.......
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSC2._PLD.PLDP */
}
}
Device (HSC2)
{
Name (_ADR, 0x07) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HSC2._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x30, 0x08, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, // 0.......
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HSC2._PLD.PLDP */
}
}
Device (SSC1)
{
Name (_ADR, 0x0C) // _ADR: Address
Name (_S0W, 0x02) // _S0W: S0 Device Wake State
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
GPO1,
^^^I2C7.PMIC
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((PMID == Zero))
{
Return (0x0F)
}
Return (Zero)
}
OperationRegion (BAD0, SystemMemory, 0xFED8C410, 0x08)
Field (BAD0, DWordAcc, NoLock, Preserve)
{
MRB0, 32,
MRB1, 32
}
OperationRegion (BAD1, SystemMemory, 0xFED8C400, 0x08)
Field (BAD1, DWordAcc, NoLock, Preserve)
{
MRP0, 32,
MRP1, 32
}
PowerResource (WWPR, 0x00, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
GPO1,
^^^^I2C7.PMIC
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^^^^I2C7.PMIC.AVBG == One))
{
Return (^^^^^I2C7.PMIC.MOXX) /* \_SB_.PCI0.I2C7.PMIC.MOXX */
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((PSSE == One))
{
D3HE = Zero
}
If ((OSID == 0x04))
{
If ((^^^^^I2C7.PMIC.AVBG == One))
{
If ((\_SB.GPO1.AVBL == One))
{
\_SB.GPO1.MRD3 = Zero
Sleep (One)
^^^^^I2C7.PMIC.MOXX = Zero
Sleep (One)
}
}
}
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
WWPR
})
Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
{
WWPR
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
WWPR
})
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSC1._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x30, 0x08, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, // 0.......
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSC1._PLD.PLDP */
}
Device (MDM3)
{
Name (_ADR, 0x0C) // _ADR: Address
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
WWPR
})
Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
{
WWPR
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
WWPR
})
}
}
Device (SSCW)
{
Name (_ADR, 0x0C) // _ADR: Address
Name (_S0W, 0x02) // _S0W: S0 Device Wake State
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
GPO1,
^^^I2C7.PMI5
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((PMID == 0x03))
{
Return (0x0F)
}
Return (Zero)
}
OperationRegion (BAD0, SystemMemory, 0xFED8C410, 0x08)
Field (BAD0, DWordAcc, NoLock, Preserve)
{
MRB0, 32,
MRB1, 32
}
OperationRegion (BAD1, SystemMemory, 0xFED8C400, 0x08)
Field (BAD1, DWordAcc, NoLock, Preserve)
{
MRP0, 32,
MRP1, 32
}
PowerResource (WWPR, 0x00, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
GPO1,
^^^^I2C7.PMI5
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^^^^I2C7.PMI5.AVBG == One))
{
Return (^^^^^I2C7.PMI5.MOXX) /* \_SB_.PCI0.I2C7.PMI5.MOXX */
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((PSSE == One))
{
D3HE = Zero
}
If ((OSID == 0x04))
{
If ((^^^^^I2C7.PMI5.AVBG == One))
{
If ((\_SB.GPO1.AVBL == One))
{
\_SB.GPO1.MRD3 = Zero
Sleep (One)
^^^^^I2C7.PMI5.MOXX = Zero
Sleep (One)
}
}
}
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
WWPR
})
Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
{
WWPR
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
WWPR
})
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.SSCW._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x30, 0x08, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, // 0.......
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.SSCW._PLD.PLDP */
}
Device (MDM3)
{
Name (_ADR, 0x0C) // _ADR: Address
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
WWPR
})
Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
{
WWPR
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
WWPR
})
}
}
Device (HSC1)
{
Name (_ADR, 0x06) // _ADR: Address
Name (_S0W, 0x02) // _S0W: S0 Device Wake State
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
GPO1,
^^^I2C7.PMIC
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((PMID == Zero))
{
Return (0x0F)
}
Return (Zero)
}
OperationRegion (BADR, SystemMemory, 0xFED8C410, 0x08)
Field (BADR, DWordAcc, NoLock, Preserve)
{
MRB0, 32,
MRB1, 32
}
OperationRegion (BAD1, SystemMemory, 0xFED8C400, 0x08)
Field (BAD1, DWordAcc, NoLock, Preserve)
{
MRP0, 32,
MRP1, 32
}
PowerResource (WWPR, 0x00, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
GPO1,
^^^^I2C7.PMIC
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((OSID == One) && (^^^^^I2C7.PMIC.AVBG == One)))
{
Return (^^^^^I2C7.PMIC.MOXX) /* \_SB_.PCI0.I2C7.PMIC.MOXX */
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((FMDM == Zero))
{
If ((OSID == One))
{
If ((^^^^^I2C7.PMIC.AVBG == One))
{
^^^^^I2C7.PMIC.MOXX = One
Stall (0x0A)
}
If ((\_SB.GPO1.AVBL == One))
{
\_SB.GPO1.MRD3 = One
Stall (0x0A)
\_SB.GPO1.MPD3 = Zero
Stall (0x0A)
\_SB.GPO1.MPD3 = One
Stall (0x5B)
\_SB.GPO1.MPD3 = Zero
}
Else
{
MRB0 &= 0xFFFFFFFD
MRB0 |= 0x02
Stall (0x0A)
MRP0 &= 0xFFFFFFFD
MRP0 |= Zero
Stall (0x0A)
MRP0 &= 0xFFFFFFFD
MRP0 |= 0x02
Stall (0x5B)
MRP0 &= 0xFFFFFFFD
MRP0 |= Zero
}
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
WWPR
})
Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
{
WWPR
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
WWPR
})
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HSC1._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x30, 0x08, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, // 0.......
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HSC1._PLD.PLDP */
}
Device (MDM2)
{
Name (_ADR, 0x06) // _ADR: Address
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
WWPR
})
Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
{
WWPR
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
WWPR
})
}
}
Device (HSC3)
{
Name (_ADR, 0x06) // _ADR: Address
Name (_S0W, 0x02) // _S0W: S0 Device Wake State
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
GPO1,
^^^I2C7.PMI5
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((PMID == 0x03))
{
Return (0x0F)
}
Return (Zero)
}
OperationRegion (BAD0, SystemMemory, 0xFED8C410, 0x08)
Field (BAD0, DWordAcc, NoLock, Preserve)
{
MRB0, 32,
MRB1, 32
}
OperationRegion (BAD1, SystemMemory, 0xFED8C400, 0x08)
Field (BAD1, DWordAcc, NoLock, Preserve)
{
MRP0, 32,
MRP1, 32
}
PowerResource (WWPR, 0x00, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
GPO1,
^^^^I2C7.PMI5
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((OSID == One) && (^^^^^I2C7.PMI5.AVBG == One)))
{
Return (^^^^^I2C7.PMI5.MOXX) /* \_SB_.PCI0.I2C7.PMI5.MOXX */
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((FMDM == Zero))
{
If ((OSID == One))
{
If ((^^^^^I2C7.PMI5.AVBG == One))
{
^^^^^I2C7.PMI5.MOXX = One
Stall (0x0A)
}
If ((\_SB.GPO1.AVBL == One))
{
\_SB.GPO1.MRD3 = One
Stall (0x0A)
\_SB.GPO1.MPD3 = Zero
Stall (0x0A)
\_SB.GPO1.MPD3 = One
Stall (0x5B)
\_SB.GPO1.MPD3 = Zero
}
Else
{
MRB0 &= 0xFFFFFFFD
MRB0 |= 0x02
Stall (0x0A)
MRP0 &= 0xFFFFFFFD
MRP0 |= Zero
Stall (0x0A)
MRP0 &= 0xFFFFFFFD
MRP0 |= 0x02
Stall (0x5B)
MRP0 &= 0xFFFFFFFD
MRP0 |= Zero
}
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
WWPR
})
Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
{
WWPR
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
WWPR
})
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HSC3._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0.......
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HSC3._PLD.PLDP */
}
Device (MDM4)
{
Name (_ADR, 0x06) // _ADR: Address
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
WWPR
})
Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
{
WWPR
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
WWPR
})
}
}
Device (HS05)
{
Name (_ADR, 0x05) // _ADR: Address
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
Zero,
0xFF,
Zero,
Zero
})
Return (UPCP) /* \_SB_.PCI0.XHC1.RHUB.HS05._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x19, 0x00, 0x04, 0x03, 0x00, 0x00, 0x00, // ........
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
Return (PLDP) /* \_SB_.PCI0.XHC1.RHUB.HS05._PLD.PLDP */
}
}
}
}
Device (OTG1)
{
Name (_ADR, 0x00160000) // _ADR: Address
Name (_DDN, "Baytrail XHCI controller (Synopsys core/OTG)") // _DDN: DOS Device Name
Name (_STR, Unicode ("Baytrail XHCI controller (Synopsys core/OTG)")) // _STR: Description String
Name (_S0W, 0x03) // _S0W: S0 Device Wake State
OperationRegion (PMEB, PCI_Config, 0x84, 0x04)
Field (PMEB, WordAcc, NoLock, Preserve)
{
Offset (0x01),
PMEE, 1,
, 6,
PMES, 1
}
OperationRegion (GENR, PCI_Config, 0xA0, 0x10)
Field (GENR, WordAcc, NoLock, Preserve)
{
, 18,
CPME, 1,
U2EN, 1,
U3EN, 1
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
CPME = One
U2EN = One
U3EN = One
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
CPME = Zero
U2EN = Zero
U3EN = Zero
}
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
}
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (Zero)
}
Method (_PR3, 0, NotSerialized) // _PR3: Power Resources for D3hot
{
Return (Package (0x01)
{
USBC
})
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OTGM != Zero))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Method (SMBC, 2, NotSerialized)
{
Name (BUFF, Buffer (0x03)
{
0x00, 0x01, 0x00 // ...
})
CreateByteField (BUFF, Zero, BYAT)
CreateByteField (BUFF, 0x02, DATA)
If ((Arg0 == Zero))
{
DATA = 0x50
^^I2C1.BC00 = BUFF /* \_SB_.PCI0.OTG1.SMBC.BUFF */
}
Else
{
DATA = 0x51
^^I2C1.BC00 = BUFF /* \_SB_.PCI0.OTG1.SMBC.BUFF */
}
BUFF = ^^I2C1.BC01 /* \_SB_.PCI0.I2C1.BC01 */
DATA &= 0xFD
^^I2C1.BC01 = BUFF /* \_SB_.PCI0.OTG1.SMBC.BUFF */
If ((Arg1 == Zero))
{
BUFF = ^^I2C1.BC31 /* \_SB_.PCI0.I2C1.BC31 */
DATA &= 0xFB
^^I2C1.BC31 = BUFF /* \_SB_.PCI0.OTG1.SMBC.BUFF */
}
Else
{
BUFF = ^^I2C1.BC31 /* \_SB_.PCI0.I2C1.BC31 */
DATA |= 0x04
^^I2C1.BC31 = BUFF /* \_SB_.PCI0.OTG1.SMBC.BUFF */
}
}
Method (TIBC, 2, NotSerialized)
{
If ((Arg0 == Zero))
{
^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x02)
^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x42)
^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x05)
^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x8A)
^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^I2C7.PMI5.SET (One, 0x5E, 0x26, Zero)
^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x38)
^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^I2C7.PMI5.SET (One, 0x5E, 0x26, One)
^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x3B)
^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
}
ElseIf ((Arg0 == One))
{
^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x02)
^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x42)
^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x05)
^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x8A)
^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^I2C7.PMI5.SET (One, 0x5E, 0x26, Zero)
^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x39)
^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^I2C7.PMI5.SET (One, 0x5E, 0x26, One)
^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x3B)
^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
}
ElseIf ((Arg0 == 0x02))
{
^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x02)
^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x42)
^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x05)
^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x8A)
^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^I2C7.PMI5.SET (One, 0x5E, 0x26, Zero)
^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x3A)
^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^I2C7.PMI5.SET (One, 0x5E, 0x26, One)
^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x3B)
^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
}
ElseIf ((Arg0 == 0x03))
{
^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x02)
^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x42)
^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^I2C7.PMI5.SET (One, 0x5E, 0x26, 0x05)
^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x8A)
^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^I2C7.PMI5.SET (One, 0x5E, 0x26, Zero)
^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x3B)
^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
^^I2C7.PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^I2C7.PMI5.SET (One, 0x5E, 0x26, One)
^^I2C7.PMI5.SET (One, 0x5E, 0x27, 0x3B)
^^I2C7.PMI5.SET (One, 0x5E, 0x24, One)
}
}
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("eaa3afa9-6469-4015-9041-a83634a7fa2d")))
{
If ((Arg2 == Zero))
{
Return (Zero)
}
If ((Arg2 == One))
{
Return (One)
}
}
If ((Arg0 == ToUUID ("e2528aa0-8863-48f4-aa40-865e05902449")))
{
If ((BDID == 0x08))
{
Local0 = ^^I2C7.BATC.PSRC ()
}
ElseIf (((BDID == 0x09) || (BDID == 0x0A)))
{
Local0 = ^^I2C7.WIDR.PSRC ()
}
Else
{
Local0 = ^^I2C1.BATC.PSRC ()
}
If ((Arg2 == Zero))
{
Return (Zero)
}
If ((Arg2 == One))
{
If ((Local0 == One))
{
Return (0x03)
}
If ((Local0 == 0x02))
{
Return (Zero)
}
If ((Local0 == 0x03))
{
Return (0x02)
}
If ((Local0 == 0x04))
{
Return (One)
}
If ((Local0 == 0x05))
{
Return (0x04)
}
If ((Local0 == Zero))
{
Return (0x05)
}
}
}
If ((Arg0 == ToUUID ("b2090db6-9135-4ef6-bd18-d5590dda90be")))
{
Name (BUFF, Buffer (0x03)
{
0x00, 0x01, 0x00 // ...
})
CreateByteField (BUFF, Zero, BYAT)
CreateByteField (BUFF, 0x02, DATA)
If ((Arg2 == Zero))
{
Return (Zero)
}
If ((Arg2 == One))
{
If ((BDID == 0x03))
{
SMBC (Zero, Zero)
}
ElseIf (((BDID == 0x08) || ((BDID == 0x09) || (BDID ==
0x0A))))
{
TIBC (Zero, Zero)
}
}
If ((Arg2 == 0x02))
{
If ((BDID == 0x03))
{
SMBC (Zero, Zero)
}
ElseIf (((BDID == 0x08) || ((BDID == 0x09) || (BDID ==
0x0A))))
{
TIBC (0x02, Zero)
}
}
If ((Arg2 == 0x03))
{
If ((BDID == 0x03))
{
SMBC (Zero, One)
}
ElseIf (((BDID == 0x08) || ((BDID == 0x09) || (BDID ==
0x0A))))
{
TIBC (One, One)
}
}
If ((Arg2 == 0x04))
{
If ((BDID == 0x03))
{
SMBC (One, One)
}
ElseIf (((BDID == 0x08) || ((BDID == 0x09) || (BDID ==
0x0A))))
{
TIBC (0x03, One)
}
}
If ((Arg2 == 0x05))
{
If ((BDID == 0x03))
{
BUFF = ^^I2C1.BC30 /* \_SB_.PCI0.I2C1.BC30 */
Local0 = DATA /* \_SB_.PCI0.OTG1._DSM.DATA */
Local1 = (Local0 & 0xFF)
DATA = (Local1 | 0x04)
^^I2C1.BC30 = BUFF /* \_SB_.PCI0.OTG1._DSM.BUFF */
Return (BYAT) /* \_SB_.PCI0.OTG1._DSM.BYAT */
}
}
}
}
}
Device (OTG2)
{
Name (_HID, "INT3496") // _HID: Hardware ID
Name (_CID, "INT3496") // _CID: Compatible ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((BDID == One) && (OSID != One)))
{
Return (0x0F)
}
Return (Zero)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (ABUF, ResourceTemplate ()
{
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0003
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002E
}
})
Return (ABUF) /* \_SB_.PCI0.OTG2._CRS.ABUF */
}
}
Device (GPTC)
{
Name (_HID, "GPTC0001") // _HID: Hardware ID
Name (_CID, "GPTC0001") // _CID: Compatible ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((OSID != One) && ((BDID == 0x09) || (BDID ==
0x0A))))
{
Return (0x0F)
}
Return (Zero)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (ABUF, ResourceTemplate ()
{
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0002
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0003
}
})
Return (ABUF) /* \_SB_.PCI0.GPTC._CRS.ABUF */
}
}
Device (PEPD)
{
Name (_HID, "INT33A4") // _HID: Hardware ID
Name (_CID, EisaId ("PNP0D80") /* Windows-compatible System Power Management Controller */) // _CID: Compatible ID
Name (_UID, One) // _UID: Unique ID
Name (CDMP, Package (0x02){})
Name (DEVY, Package (0x17)
{
Package (0x03)
{
"\\_PR.CPU0",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU1",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU2",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU3",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_SB.PCI0.GFX0",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C2",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C3",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C4",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C5",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C6",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C7",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.XHC1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SEC0",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.LPEA",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SDHA",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SDHB",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SDHC",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI2",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI3",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.URT1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.URT2",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
}
})
Name (DEVL, Package (0x17)
{
Package (0x03)
{
"\\_PR.CPU0",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU1",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU2",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU3",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_SB.PCI0.GFX0",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C2",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C3",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C4",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C5",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C6",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C7",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.XHC1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SEC0",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.LPEA",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SDHA",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SDHB",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SHC1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI2",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI3",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.URT1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.URT2",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
}
})
Name (BUF0, Package (0x17)
{
Package (0x03)
{
"\\_PR.CPU0",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU1",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU2",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU3",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_SB.PCI0.GFX0",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C2",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C3",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C4",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C5",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C6",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C7",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.XHC1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SEC0",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.LPEA",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SDHA",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SDHB",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SHC1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI2",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI3",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.URT1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.URT2",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
}
})
Name (BUF2, Package (0x18)
{
Package (0x03)
{
"\\_PR.CPU0",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU1",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU2",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU3",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_SB.PCI0.GFX0",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C2",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C3",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C4",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C5",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C6",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C7",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.XHC1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SEC0",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.LPEA",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SDHA",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SDHB",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SHC1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI2",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI3",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.URT1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.URT2",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.RP01.PXSX",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
}
})
Name (DEHY, Package (0x16)
{
Package (0x03)
{
"\\_PR.CPU0",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU1",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU2",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU3",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_SB.PCI0.GFX0",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C2",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C3",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C4",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C5",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C6",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C7",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.XHC1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SEC0",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.LPEA",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SDHA",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SDHC",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI2",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI3",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.URT1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.URT2",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
}
})
Name (DEHL, Package (0x16)
{
Package (0x03)
{
"\\_PR.CPU0",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU1",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU2",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU3",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_SB.PCI0.GFX0",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C2",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C3",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C4",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C5",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C6",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C7",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.XHC1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SEC0",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.LPEA",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SDHA",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SHC1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI2",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI3",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.URT1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.URT2",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
}
})
Name (BUF1, Package (0x17)
{
Package (0x03)
{
"\\_PR.CPU0",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU1",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU2",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_PR.CPU3",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
Zero
}
}
},
Package (0x03)
{
"\\_SB.PCI0.GFX0",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C2",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C3",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C4",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C5",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C6",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.I2C7",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.XHC1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SEC0",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.LPEA",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
Zero
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SDHA",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SHC1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI2",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.SPI3",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.URT1",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.URT2",
One,
Package (0x05)
{
Zero,
Package (0x02)
{
Zero,
Zero
},
Package (0x02)
{
One,
0x03
},
Package (0x02)
{
0x02,
0x03
},
Package (0x02)
{
0x03,
0x03
}
}
},
Package (0x03)
{
"\\_SB.PCI0.RP01.PXSX",
One,
Package (0x02)
{
Zero,
Package (0x02)
{
0xFF,
0x03
}
}
}
})
Name (BCCD, Package (0x01)
{
Package (0x02)
{
"\\_SB.PCI0.SDHA",
Package (0x01)
{
Package (0x03)
{
Package (0x05)
{
Zero,
0x20,
Zero,
0x03,
Ones
},
Package (0x03)
{
0xFFFFFFFC,
Zero,
0x04
},
Zero
}
}
}
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("c4eb40a0-6cd2-11e2-bcfd-0800200c9a66")))
{
If ((Arg2 == Zero))
{
Return (Buffer (One)
{
0x07 // .
})
}
If ((Arg2 == One))
{
If ((MLSD == One))
{
If ((((BDID == 0x09) || (BDID == 0x0A)) || (BDID == 0x08)))
{
If ((OSYS == 0x07DF))
{
Return (BUF1) /* \_SB_.PCI0.PEPD.BUF1 */
}
Else
{
Return (DEHL) /* \_SB_.PCI0.PEPD.DEHL */
}
}
ElseIf ((OSYS == 0x07DF))
{
If ((BDID == One))
{
Return (BUF0) /* \_SB_.PCI0.PEPD.BUF0 */
}
Return (BUF2) /* \_SB_.PCI0.PEPD.BUF2 */
}
Else
{
Return (DEVL) /* \_SB_.PCI0.PEPD.DEVL */
}
}
ElseIf ((((BDID == 0x09) || (BDID == 0x0A)) || (BDID ==
0x08)))
{
Return (DEHY) /* \_SB_.PCI0.PEPD.DEHY */
}
Else
{
Return (DEVY) /* \_SB_.PCI0.PEPD.DEVY */
}
}
If ((Arg2 == 0x02))
{
Local0 = EM1A /* \EM1A */
Local0 += 0x84
DerefOf (DerefOf (DerefOf (DerefOf (BCCD [Zero]
) [One]) [Zero]) [Zero]) [0x04] = Local0
Return (BCCD) /* \_SB_.PCI0.PEPD.BCCD */
}
}
Return (One)
}
}
Device (SDHA)
{
Name (_HID, "80860F14" /* Intel Baytrail SDIO/MMC Host Controller */) // _HID: Hardware ID
Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */) // _CID: Compatible ID
Name (_DDN, "Intel(R) eMMC Controller - 80862294") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (_HRV, One) // _HRV: Hardware Revision
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y04)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x0000002D,
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.PCI0.SDHA._Y04._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.SDHA._Y04._LEN, B0LN) // _LEN: Length
B0BA = EM0A /* \EM0A */
B0LN = EM0L /* \EM0L */
Return (RBUF) /* \_SB_.PCI0.SDHA.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((EM0A == Zero) || (SD1D == One)))
{
Return (Zero)
}
Return (0x0F)
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((EMMP == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
PSAT |= 0x03
PSAT |= Zero
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
PSAT &= 0xFFFFFFFC
PSAT |= Zero
}
OperationRegion (KEYS, SystemMemory, EM1A, 0x0100)
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
{
Offset (0x84),
PSAT, 32
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
}
Device (EMMD)
{
Name (_ADR, 0x08) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (Zero)
}
}
}
Device (PEMC)
{
Name (_ADR, 0x00100000) // _ADR: Address
OperationRegion (SDIO, PCI_Config, 0x84, 0x04)
Field (SDIO, WordAcc, NoLock, Preserve)
{
Offset (0x01),
PMEE, 1,
, 6,
PMES, 1
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((EM0A == Zero) && (SD1D == Zero)))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
}
Device (CARD)
{
Name (_ADR, 0x08) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (Zero)
}
}
}
Device (SDHB)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "80860F14" /* Intel Baytrail SDIO/MMC Host Controller */) // _HID: Hardware ID
Name (AHID, "INT33BB")
Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */) // _CID: Compatible ID
Name (_DDN, "Intel(R) SDIO Controller - 80862295") // _DDN: DOS Device Name
Name (_UID, 0x02) // _UID: Unique ID
Name (_HRV, One) // _HRV: Hardware Revision
Name (AHRV, 0x02)
Name (_DEP, Package (0x03) // _DEP: Dependencies
{
PEPD,
GPO1,
GPO3
})
Name (PSTS, Zero)
Name (SBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y05)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x0000002E,
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (SBUF, \_SB.PCI0.SDHB._Y05._BAS, B0BA) // _BAS: Base Address
CreateDWordField (SBUF, \_SB.PCI0.SDHB._Y05._LEN, B0LN) // _LEN: Length
B0BA = SI0A /* \SI0A */
B0LN = SI0L /* \SI0L */
Return (SBUF) /* \_SB_.PCI0.SDHB.SBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((SI0A == Zero) || (SD2D == One)))
{
Return (Zero)
}
Return (0x0F)
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
PSAT |= 0x03
PSAT |= Zero
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
PSAT &= 0xFFFFFFFC
PSAT |= Zero
If ((OSID == One))
{
If ((PSTS == Zero))
{
If ((^^^GPO2.AVBL == One))
{
^^^GPO2.WLD3 = One
PSTS = One
}
}
}
}
OperationRegion (KEYS, SystemMemory, SI1A, 0x0100)
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
{
Offset (0x84),
PSAT, 32
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((SDI1 == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
Device (WLA1)
{
Name (AHID, "RTL8723")
Name (ACID, "RTL8723")
Name (_ADR, One) // _ADR: Address
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
GPO1,
GPO2
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (Zero)
}
Name (_S4W, 0x02) // _S4W: S4 Device Wake State
Name (_S0W, 0x02) // _S0W: S0 Device Wake State
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDown, 0x0000,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x000A
}
GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0010
}
})
Return (RBUF) /* \_SB_.PCI0.SDHB.WLA1._CRS.RBUF */
}
Method (APS3, 0, NotSerialized)
{
If ((^^^^GPO2.AVBL == One))
{
^^^^GPO2.WLD3 = Zero
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((^^^^GPO1.AVBL == One))
{
PSTS = Zero
}
}
Method (_PS2, 0, NotSerialized) // _PS2: Power State 2
{
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((PSTS == Zero))
{
If ((^^^^GPO2.AVBL == One))
{
^^^^GPO2.WLD3 = One
PSTS = One
}
}
}
Method (APS0, 0, NotSerialized)
{
If ((^^^^GPO2.AVBL == One))
{
^^^^GPO2.WLD3 = One
}
}
}
Device (WIF2)
{
Name (_ADR, 0x02) // _ADR: Address
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (Zero)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (NAM1, Buffer (0x14)
{
"\\_SB.PCI0.SDHB.WLA1"
})
Local0 = NAM1 /* \_SB_.PCI0.SDHB.WIF2._CRS.NAM1 */
Name (SPB, Buffer (0x0C)
{
/* 0000 */ 0x8E, 0x1D, 0x00, 0x01, 0x00, 0xC0, 0x02, 0x00, // ........
/* 0008 */ 0x00, 0x01, 0x00, 0x00 // ....
})
Name (END, Buffer (0x02)
{
0x79, 0x00 // y.
})
Concatenate (SPB, Local0, Local1)
Concatenate (Local1, END, Local2)
Return (Local2)
}
}
}
Device (SDHC)
{
Name (_HID, "INT33BB" /* Intel Baytrail SD Host Controller */) // _HID: Hardware ID
Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */) // _CID: Compatible ID
Name (_DDN, "Intel(R) SD Card Controller - 80862296") // _DDN: DOS Device Name
Name (_UID, 0x03) // _UID: Unique ID
Name (CPR0, Package (0x01)
{
P33X
})
Name (WPR0, Package (0x01)
{
P33W
})
Name (CDEP, Package (0x02)
{
I2C7,
^I2C7.PMIC
})
Name (WDEP, Package (0x02)
{
I2C7,
^I2C7.PMI5
})
Name (ABUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y06)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x0000002F,
}
GpioInt (Edge, ActiveBoth, Shared, PullNone, 0x2710,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0051
}
GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0051
}
GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0055
}
GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004E
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (ABUF, \_SB.PCI0.SDHC._Y06._BAS, B0BA) // _BAS: Base Address
CreateDWordField (ABUF, \_SB.PCI0.SDHC._Y06._LEN, B0LN) // _LEN: Length
B0BA = SD0A /* \SD0A */
B0LN = SD0L /* \SD0L */
Return (ABUF) /* \_SB_.PCI0.SDHC.ABUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((SD0A == Zero) || (SD3D == One)))
{
Return (Zero)
}
If ((OSID == 0x04))
{
Return (0x0F)
}
Return (Zero)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((SCDD == One))
{
Local0 = (^^CHVC.RMBX (0x63, 0x0600, 0x06, Zero, Zero, Zero) | One)
^^CHVC.WMBX (0x63, 0x0600, Local0, 0x07, Zero, Zero, Zero)
}
PSAT |= 0x03
PSAT |= Zero
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((SCDD == One))
{
Local0 = (^^CHVC.RMBX (0x63, 0x0600, 0x06, Zero, Zero, Zero) & 0xFFFFFFFC)
^^CHVC.WMBX (0x63, 0x0600, Local0, 0x07, Zero, Zero, Zero)
}
PSAT &= 0xFFFFFFFC
PSAT |= Zero
}
OperationRegion (KEYS, SystemMemory, SD1A, 0x0100)
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
{
Offset (0x84),
PSAT, 32
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((SDI2 == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
}
Device (SHC1)
{
Name (_HID, "80860F14" /* Intel Baytrail SDIO/MMC Host Controller */) // _HID: Hardware ID
Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */) // _CID: Compatible ID
Name (_DDN, "Intel(R) SD Card Controller - 80862296") // _DDN: DOS Device Name
Name (_UID, 0x03) // _UID: Unique ID
Name (_HRV, One) // _HRV: Hardware Revision
Name (CDEP, Package (0x02)
{
MBID,
I2C7
})
Name (_DEP, Package (0x03) // _DEP: Dependencies
{
MBID,
I2C7,
^I2C7.PMI1
})
Name (TDEP, Package (0x03)
{
MBID,
I2C7,
^I2C7.PMI2
})
Name (WDEP, Package (0x03)
{
MBID,
I2C7,
^I2C7.PMI5
})
Name (CPR0, Package (0x01)
{
P33X
})
Name (WPR0, Package (0x01)
{
P18W
})
Name (WBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y07)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x0000002F,
}
GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x2710,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0051
}
GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0051
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (WBUF, \_SB.PCI0.SHC1._Y07._BAS, B01A) // _BAS: Base Address
CreateDWordField (WBUF, \_SB.PCI0.SHC1._Y07._LEN, B01N) // _LEN: Length
B01A = SD0A /* \SD0A */
B01N = SD0L /* \SD0L */
Return (WBUF) /* \_SB_.PCI0.SHC1.WBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((SD0A == Zero) || (SD3D == One)))
{
Return (Zero)
}
If ((OSID == 0x04))
{
Return (Zero)
}
If ((MLSD == One))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((SCDD == One))
{
Local0 = (^^^MBID.RMBX (0x63, 0x0600, 0x06, Zero, Zero, Zero) | One)
^^^MBID.WMBX (0x63, 0x0600, Local0, 0x07, Zero, Zero, Zero)
}
If ((^^I2C7.AVBL == One))
{
If ((PMID == One))
{
BUFF = ^^I2C7.DL02 /* \_SB_.PCI0.I2C7.DL02 */
DATA &= 0xFE
^^I2C7.DL02 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
Sleep (0x0A)
BUFF = ^^I2C7.DL03 /* \_SB_.PCI0.I2C7.DL03 */
DATA &= 0xFE
^^I2C7.DL03 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
}
ElseIf ((PMID == 0x02))
{
BUFF = ^^I2C7.XD31 /* \_SB_.PCI0.I2C7.XD31 */
If ((STAT == Zero))
{
DATA &= 0xEF
^^I2C7.XD31 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
Sleep (0x0A)
BUFF = ^^I2C7.XD31 /* \_SB_.PCI0.I2C7.XD31 */
If ((STAT == Zero)){}
}
}
ElseIf ((PMID == 0x03))
{
ADBG ("PS3")
Local0 = ^^I2C7.PMI5.GET (One, 0x6E, 0x67)
Sleep (0x0A)
Local0 &= 0xF8
^^I2C7.PMI5.SET (One, 0x6E, 0x67, Local0)
}
}
PSAT |= 0x03
PSAT |= Zero
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((SCDD == One))
{
Local0 = (^^^MBID.RMBX (0x63, 0x0600, 0x06, Zero, Zero, Zero) & 0xFFFFFFFC)
^^^MBID.WMBX (0x63, 0x0600, Local0, 0x07, Zero, Zero, Zero)
}
If ((SDVL == Zero))
{
If ((^^I2C7.AVBL == One))
{
If ((PMID == One))
{
DATA = 0x1D
^^I2C7.DL03 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
Sleep (0x0A)
^^I2C7.DL02 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
}
ElseIf ((PMID == 0x02))
{
BUFF = ^^I2C7.XD31 /* \_SB_.PCI0.I2C7.XD31 */
If ((STAT == Zero))
{
DATA |= 0x10
^^I2C7.XD31 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
}
BUFF = ^^I2C7.XD32 /* \_SB_.PCI0.I2C7.XD32 */
If ((STAT == Zero))
{
DATA |= 0x1A
DATA &= 0xFA
^^I2C7.XD32 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
}
Sleep (0x0A)
BUFF = ^^I2C7.XD31 /* \_SB_.PCI0.I2C7.XD31 */
If ((STAT == Zero))
{
DATA |= 0x20
^^I2C7.XD31 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
}
}
ElseIf ((PMID == 0x03))
{
ADBG ("PS0 3p3")
Local0 = ^^I2C7.PMI5.GET (One, 0x6E, 0x67)
Sleep (0x0A)
Local0 |= One
Local0 &= 0xF9
^^I2C7.PMI5.SET (One, 0x6E, 0x67, Local0)
Sleep (0x0A)
^^I2C7.PMI5.SET (One, 0x6E, 0xC6, 0x3D)
Sleep (0x0A)
}
}
}
ElseIf ((SDVL == One))
{
If ((^^I2C7.AVBL == One))
{
If ((PMID == One))
{
DATA = 0x59
^^I2C7.DL03 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
Sleep (0x05)
}
ElseIf ((PMID == 0x02))
{
BUFF = ^^I2C7.XD31 /* \_SB_.PCI0.I2C7.XD31 */
If ((STAT == Zero))
{
DATA |= 0x10
^^I2C7.XD31 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
}
BUFF = ^^I2C7.XD32 /* \_SB_.PCI0.I2C7.XD32 */
If ((STAT == Zero))
{
DATA |= 0x0B
DATA &= 0xEB
^^I2C7.XD32 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
}
Sleep (0x0A)
BUFF = ^^I2C7.XD31 /* \_SB_.PCI0.I2C7.XD31 */
If ((STAT == Zero))
{
DATA |= 0x20
^^I2C7.XD31 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
}
}
ElseIf ((PMID == 0x03))
{
ADBG ("PS0 1p8")
Local0 = ^^I2C7.PMI5.GET (One, 0x6E, 0x67)
Sleep (0x0A)
Local0 |= One
Local0 &= 0xF9
^^I2C7.PMI5.SET (One, 0x6E, 0x67, Local0)
Sleep (0x0A)
^^I2C7.PMI5.SET (One, 0x6E, 0xC6, 0x1F)
Sleep (0x0A)
}
}
}
PSAT &= 0xFFFFFFFC
PSAT |= Zero
If ((OSID == One))
{
Sleep (0x03E8)
}
}
OperationRegion (KEYS, SystemMemory, SD1A, 0x0100)
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
{
Offset (0x84),
PSAT, 32
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((SDI2 == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
Name (BUFF, Buffer (0x03){})
CreateByteField (BUFF, Zero, STAT)
CreateByteField (BUFF, 0x02, DATA)
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If ((SCDD == One))
{
Local0 = (^^^MBID.RMBX (0x63, 0x0600, 0x06, Zero, Zero, Zero) & 0xFFFFFFFC)
^^^MBID.WMBX (0x63, 0x0600, Local0, 0x07, Zero, Zero, Zero)
}
If ((Arg0 == ToUUID ("f6c13ea5-65cd-461f-ab7a-29f7e8d5bd61")))
{
If ((Arg1 == Zero))
{
If ((Arg2 == Zero))
{
Return (Buffer (0x04)
{
0x1F, 0x01, 0x00, 0x00 // ....
})
}
If ((Arg2 == One))
{
Return (One)
}
If ((Arg2 == 0x02))
{
Return (0x02)
}
If ((Arg2 == 0x03))
{
ADBG ("DSM 1p8")
If ((^^I2C7.AVBL == One))
{
If ((PMID == One))
{
DATA = 0x59
^^I2C7.DL03 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
}
ElseIf ((PMID == 0x02))
{
BUFF = ^^I2C7.XD31 /* \_SB_.PCI0.I2C7.XD31 */
If ((STAT == Zero))
{
DATA |= 0x10
^^I2C7.XD31 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
}
BUFF = ^^I2C7.XD93 /* \_SB_.PCI0.I2C7.XD93 */
If ((STAT == Zero))
{
DATA |= 0x0B
DATA &= 0xEB
^^I2C7.XD93 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
}
Sleep (0x0A)
BUFF = ^^I2C7.XD92 /* \_SB_.PCI0.I2C7.XD92 */
If ((STAT == Zero))
{
DATA &= 0xF8
DATA |= 0x03
^^I2C7.XD92 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
}
}
ElseIf ((PMID == 0x03))
{
Local0 = ^^I2C7.PMI5.GET (One, 0x6E, 0x67)
Sleep (0x0A)
Local0 &= 0xF8
^^I2C7.PMI5.SET (One, 0x6E, 0x67, Local0)
Sleep (0x64)
Local0 = ^^I2C7.PMI5.GET (One, 0x6E, 0x67)
Sleep (0x0A)
Local0 |= One
Local0 &= 0xF9
^^I2C7.PMI5.SET (One, 0x6E, 0x67, Local0)
Sleep (0x0A)
^^I2C7.PMI5.SET (One, 0x6E, 0xC6, 0x1F)
Sleep (0x0A)
}
}
SDVL = One
Return (0x03)
}
If ((Arg2 == 0x04))
{
ADBG ("DSM 3p3")
If ((^^I2C7.AVBL == One))
{
If ((PMID == One))
{
BUFF = ^^I2C7.DL02 /* \_SB_.PCI0.I2C7.DL02 */
DATA &= 0xFE
^^I2C7.DL02 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
Sleep (0x0A)
BUFF = ^^I2C7.DL03 /* \_SB_.PCI0.I2C7.DL03 */
DATA &= 0xFE
^^I2C7.DL03 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
Sleep (0x32)
DATA = 0x1D
^^I2C7.DL02 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
Sleep (0x0A)
DATA = 0x1D
^^I2C7.DL03 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
}
ElseIf ((PMID == 0x02))
{
BUFF = ^^I2C7.XD31 /* \_SB_.PCI0.I2C7.XD31 */
If ((STAT == Zero))
{
DATA &= 0xEF
^^I2C7.XD31 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
}
Sleep (0x0A)
BUFF = ^^I2C7.XD92 /* \_SB_.PCI0.I2C7.XD92 */
If ((STAT == Zero))
{
DATA &= 0xF8
DATA |= 0x04
^^I2C7.XD92 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
}
Sleep (0x32)
BUFF = ^^I2C7.XD93 /* \_SB_.PCI0.I2C7.XD93 */
If ((STAT == Zero))
{
DATA |= 0x1A
DATA &= 0xFA
^^I2C7.XD93 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
}
BUFF = ^^I2C7.XD31 /* \_SB_.PCI0.I2C7.XD31 */
If ((STAT == Zero))
{
DATA |= 0x10
^^I2C7.XD31 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
}
Sleep (0x0A)
BUFF = ^^I2C7.XD92 /* \_SB_.PCI0.I2C7.XD92 */
If ((STAT == Zero))
{
DATA &= 0xF8
DATA |= 0x03
^^I2C7.XD92 = BUFF /* \_SB_.PCI0.SHC1.BUFF */
}
}
ElseIf ((PMID == 0x03))
{
Local0 = ^^I2C7.PMI5.GET (One, 0x6E, 0x5F)
Sleep (0x0A)
Local0 &= 0xF8
^^I2C7.PMI5.SET (One, 0x6E, 0x5F, Local0)
Sleep (0x0A)
Local0 = ^^I2C7.PMI5.GET (One, 0x6E, 0x67)
Sleep (0x0A)
Local0 &= 0xF8
^^I2C7.PMI5.SET (One, 0x6E, 0x67, Local0)
Sleep (0x03E8)
Local0 = ^^I2C7.PMI5.GET (One, 0x6E, 0x67)
Sleep (0x0A)
Local0 |= One
Local0 &= 0xF9
^^I2C7.PMI5.SET (One, 0x6E, 0x67, Local0)
Sleep (0x0A)
^^I2C7.PMI5.SET (One, 0x6E, 0xC6, 0x3D)
Sleep (0x0A)
Local0 = ^^I2C7.PMI5.GET (One, 0x6E, 0x5F)
Sleep (0x0A)
Local0 |= One
Local0 &= 0xF9
^^I2C7.PMI5.SET (One, 0x6E, 0x5F, Local0)
Sleep (0x0A)
}
}
If ((Arg2 == 0x08))
{
Return (Buffer (One)
{
0x03 // .
})
}
Sleep (0x32)
SDVL = Zero
Return (0x03)
}
}
Else
{
Return (Zero)
}
Return (Zero)
}
}
}
Device (GDM1)
{
Name (_HID, "INTL9C60" /* Intel Baytrail SOC DMA Controller */) // _HID: Hardware ID
Name (_DDN, "Intel(R) DMA Controller #1 - INTL9C60") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00004000, // Address Length
_Y08)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x0000002A,
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.PCI0.GDM1._Y08._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.GDM1._Y08._LEN, B0LN) // _LEN: Length
B0BA = D10A /* \D10A */
B0LN = D10L /* \D10L */
Return (RBUF) /* \_SB_.PCI0.GDM1.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((D10A == Zero) || (L10D == One)))
{
Return (Zero)
}
If ((OSID == One))
{
Return (0x0F)
}
Return (Zero)
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((DM1P == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
}
Device (GDM2)
{
Name (_HID, "80862286") // _HID: Hardware ID
Name (_CID, "80862286") // _CID: Compatible ID
Name (_DDN, "Intel(R) DMA Controller #1 - 80862286") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00004000, // Address Length
_Y09)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x0000002A,
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.PCI0.GDM2._Y09._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.GDM2._Y09._LEN, B0LN) // _LEN: Length
B0BA = D10A /* \D10A */
B0LN = D10L /* \D10L */
Return (RBUF) /* \_SB_.PCI0.GDM2.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((D10A == Zero) || (L10D == One)))
{
Return (Zero)
}
If ((OSID != One))
{
Return (0x0F)
}
Return (Zero)
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((DM1P == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
}
Device (GDM3)
{
Name (_HID, "INTL9C60" /* Intel Baytrail SOC DMA Controller */) // _HID: Hardware ID
Name (_DDN, "Intel(R) DMA Controller #2 - INTL9C60") // _DDN: DOS Device Name
Name (_UID, 0x02) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00004000, // Address Length
_Y0A)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x0000002B,
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.PCI0.GDM3._Y0A._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.GDM3._Y0A._LEN, B0LN) // _LEN: Length
B0BA = D20A /* \D20A */
B0LN = D20L /* \D20L */
Return (RBUF) /* \_SB_.PCI0.GDM3.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((D20A == Zero) || (L20D == One)))
{
Return (Zero)
}
If ((OSID == One))
{
Return (0x0F)
}
Return (Zero)
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((DM2P == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
}
Device (GDM4)
{
Name (_HID, "808622C0") // _HID: Hardware ID
Name (_CID, "808622C0") // _CID: Compatible ID
Name (_DDN, "Intel(R) DMA Controller #2 - 808622C0") // _DDN: DOS Device Name
Name (_UID, 0x02) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00004000, // Address Length
_Y0B)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x0000002B,
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.PCI0.GDM4._Y0B._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.GDM4._Y0B._LEN, B0LN) // _LEN: Length
B0BA = D20A /* \D20A */
B0LN = D20L /* \D20L */
Return (RBUF) /* \_SB_.PCI0.GDM4.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((D20A == Zero) || (L20D == One)))
{
Return (Zero)
}
If ((OSID != One))
{
Return (0x0F)
}
Return (Zero)
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((DM2P == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
}
Device (PWM1)
{
Name (_HID, "80862288") // _HID: Hardware ID
Name (_CID, "80862288") // _CID: Compatible ID
Name (_DDN, "Intel(R) PWM Controller #1 - 80862288") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y0C)
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.PCI0.PWM1._Y0C._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.PWM1._Y0C._LEN, B0LN) // _LEN: Length
B0BA = P10A /* \P10A */
B0LN = P10L /* \P10L */
Return (RBUF) /* \_SB_.PCI0.PWM1.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((P10A == Zero) || (L11D == One)))
{
Return (Zero)
}
If ((OSID == One))
{
Return (Zero)
}
Return (0x0F)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
PSAT |= 0x03
PSAT |= Zero
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
PSAT &= 0xFFFFFFFC
PSAT |= Zero
}
OperationRegion (KEYS, SystemMemory, P11A, 0x0100)
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
{
Offset (0x84),
PSAT, 32
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((PW1P == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
}
Device (PWM2)
{
Name (_HID, "80862289") // _HID: Hardware ID
Name (_CID, "80862289") // _CID: Compatible ID
Name (_DDN, "Intel(R) PWM Controller #2 - 80862289") // _DDN: DOS Device Name
Name (_UID, 0x02) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y0D)
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.PCI0.PWM2._Y0D._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.PWM2._Y0D._LEN, B0LN) // _LEN: Length
B0BA = P20A /* \P20A */
B0LN = P20L /* \P20L */
Return (RBUF) /* \_SB_.PCI0.PWM2.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((P20A == Zero) || (L12D == One)))
{
Return (Zero)
}
If ((((BDID == 0x08) || (BDID == 0x0A)) || (OSID == One)))
{
Return (Zero)
}
Return (0x0F)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
PSAT |= 0x03
PSAT |= Zero
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
PSAT &= 0xFFFFFFFC
PSAT |= Zero
}
OperationRegion (KEYS, SystemMemory, P21A, 0x0100)
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
{
Offset (0x84),
PSAT, 32
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((PW2P == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
}
Device (URT1)
{
Name (_HID, "8086228A") // _HID: Hardware ID
Name (_CID, "8086228A") // _CID: Compatible ID
Name (_DDN, "Intel(R) HS-UART Controller #1 - 8086228A") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y0E)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x00000027,
}
FixedDMA (0x0002, 0x0002, Width32bit, )
FixedDMA (0x0003, 0x0003, Width32bit, )
})
Name (ABUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y0F)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x00000027,
}
FixedDMA (0x0002, 0x0002, Width32bit, )
FixedDMA (0x0003, 0x0003, Width32bit, )
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0010
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0014
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x000F
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0012
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
If ((OSID == One))
{
CreateDWordField (RBUF, \_SB.PCI0.URT1._Y0E._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.URT1._Y0E._LEN, B0LN) // _LEN: Length
B0BA = U10A /* \U10A */
B0LN = U10L /* \U10L */
Return (RBUF) /* \_SB_.PCI0.URT1.RBUF */
}
Else
{
CreateDWordField (ABUF, \_SB.PCI0.URT1._Y0F._BAS, ABBA) // _BAS: Base Address
CreateDWordField (ABUF, \_SB.PCI0.URT1._Y0F._LEN, ABLN) // _LEN: Length
ABBA = U10A /* \U10A */
ABLN = U10L /* \U10L */
Return (ABUF) /* \_SB_.PCI0.URT1.ABUF */
}
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((U10A == Zero) || (L13D == One)))
{
Return (Zero)
}
Return (0x0F)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
PSAT |= 0x03
PSAT |= Zero
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
PSAT &= 0xFFFFFFFC
PSAT |= Zero
}
OperationRegion (KEYS, SystemMemory, U11A, 0x0100)
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
{
Offset (0x84),
PSAT, 32
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((UR1P == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
}
Device (URT2)
{
Name (_HID, "8086228A") // _HID: Hardware ID
Name (_CID, "8086228A") // _CID: Compatible ID
Name (_DDN, "Intel(R) HS-UART Controller #2 - 8086228C") // _DDN: DOS Device Name
Name (_UID, 0x02) // _UID: Unique ID
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y10)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x00000028,
}
FixedDMA (0x0004, 0x0004, Width32bit, )
FixedDMA (0x0005, 0x0005, Width32bit, )
})
Name (ABUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y11)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x00000028,
}
FixedDMA (0x0004, 0x0004, Width32bit, )
FixedDMA (0x0005, 0x0005, Width32bit, )
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0011
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0015
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0013
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0016
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
If ((OSID == One))
{
CreateDWordField (RBUF, \_SB.PCI0.URT2._Y10._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.URT2._Y10._LEN, B0LN) // _LEN: Length
B0BA = U20A /* \U20A */
B0LN = U20L /* \U20L */
Return (RBUF) /* \_SB_.PCI0.URT2.RBUF */
}
Else
{
CreateDWordField (ABUF, \_SB.PCI0.URT2._Y11._BAS, ABBA) // _BAS: Base Address
CreateDWordField (ABUF, \_SB.PCI0.URT2._Y11._LEN, ABLN) // _LEN: Length
ABBA = U20A /* \U20A */
ABLN = U20L /* \U20L */
Return (ABUF) /* \_SB_.PCI0.URT2.ABUF */
}
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((U20A == Zero) || (L14D == One)))
{
Return (Zero)
}
Return (0x0F)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
PSAT |= 0x03
PSAT |= Zero
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
PSAT &= 0xFFFFFFFC
PSAT |= Zero
If ((^^^GPO1.AMMR == One))
{
^^^GPO1.GPSC = Zero
^^^GPO1.GPSE = Zero
}
}
OperationRegion (KEYS, SystemMemory, U21A, 0x0100)
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
{
Offset (0x84),
PSAT, 32
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((UR2P == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
Device (GPS0)
{
Name (_HID, "BCM47521") // _HID: Hardware ID
Name (ZHID, "INT33A2")
Name (_HRV, Zero) // _HRV: Hardware Revision
Name (UART, One)
Name (ENAB, One)
Name (HSTW, Zero)
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((BDID == One) || (GPSD == Zero)))
{
Return (Zero)
}
If ((MODM == Zero))
{
Return (0x0F)
}
If (((BDID == 0x09) || (BDID == 0x0A)))
{
Return (Zero)
}
If ((OSID != One))
{
Return (0x0F)
}
Return (Zero)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (UBUF, ResourceTemplate ()
{
UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
0x0020, 0x0020, "\\_SB.PCI0.URT2",
0x00, ResourceConsumer, , Exclusive,
)
GpioInt (Level, ActiveHigh, Exclusive, PullNone, 0x0000,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004B
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0018
}
})
Return (UBUF) /* \_SB_.PCI0.URT2.GPS0._CRS.UBUF */
}
}
Device (GPS1)
{
Name (_HID, "BCM4752") // _HID: Hardware ID
Name (_HRV, One) // _HRV: Hardware Revision
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((BDID == One) || (GPSD == Zero)))
{
Return (Zero)
}
If (((BDID == 0x09) || (BDID == 0x0A)))
{
Return (Zero)
}
If ((OSID == One))
{
Return (0x0F)
}
Return (Zero)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (BBUF, ResourceTemplate ()
{
UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
0x0020, 0x0020, "\\_SB.PCI0.URT2",
0x00, ResourceConsumer, , Exclusive,
)
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0018
}
})
Return (BBUF) /* \_SB_.PCI0.URT2.GPS1._CRS.BBUF */
}
}
}
Device (SPI1)
{
Name (_HID, "8086228E") // _HID: Hardware ID
Name (_CID, "8086228E") // _CID: Compatible ID
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
Name (_DDN, "Intel(R) SPI Controller #1 - 8086228E") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y12)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x00000029,
}
FixedDMA (0x0000, 0x0000, Width32bit, )
FixedDMA (0x0001, 0x0001, Width32bit, )
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.PCI0.SPI1._Y12._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.SPI1._Y12._LEN, B0LN) // _LEN: Length
B0BA = SP0A /* \SP0A */
B0LN = SP0L /* \SP0L */
Return (RBUF) /* \_SB_.PCI0.SPI1.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((SP0A == Zero) || (L15D == One)))
{
Return (Zero)
}
Return (0x0F)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
PSAT |= 0x03
PSAT |= Zero
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
PSAT &= 0xFFFFFFFC
PSAT |= Zero
}
OperationRegion (KEYS, SystemMemory, SP1A, 0x0100)
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
{
Offset (0x84),
PSAT, 32
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((SP1P == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
Device (FPNT)
{
Name (_HID, "AUTH2750" /* AuthenTec AES2750 */) // _HID: Hardware ID
Name (_DDN, "AuthenTec AES2750") // _DDN: DOS Device Name
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (UBUF, ResourceTemplate ()
{
SpiSerialBusV2 (0x0001, PolarityLow, FourWireMode, 0x08,
ControllerInitiated, 0x007A1200, ClockPolarityLow,
ClockPhaseSecond, "\\_SB.PCI0.SPI1",
0x00, ResourceConsumer, , Exclusive,
)
Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, )
{
0x00000048,
}
})
Return (UBUF) /* \_SB_.PCI0.SPI1.FPNT._CRS.UBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (Zero)
}
}
}
Device (SPI2)
{
Name (_HID, "8086228E") // _HID: Hardware ID
Name (_CID, "8086228E") // _CID: Compatible ID
Name (_DDN, "Intel(R) SPI Controller #2 - 80862290") // _DDN: DOS Device Name
Name (_UID, 0x02) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y13)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x00000059,
}
FixedDMA (0x0006, 0x0006, Width32bit, )
FixedDMA (0x0007, 0x0007, Width32bit, )
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.PCI0.SPI2._Y13._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.SPI2._Y13._LEN, B0LN) // _LEN: Length
B0BA = S20A /* \S20A */
B0LN = S20L /* \S20L */
Return (RBUF) /* \_SB_.PCI0.SPI2.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((S20A == Zero) || (L16D == One)))
{
Return (Zero)
}
Return (0x0F)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
PSAT |= 0x03
PSAT |= Zero
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
PSAT &= 0xFFFFFFFC
PSAT |= Zero
}
OperationRegion (KEYS, SystemMemory, S21A, 0x0100)
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
{
Offset (0x84),
PSAT, 32
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((SP2P == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
}
Device (SPI3)
{
Name (_HID, "8086228E") // _HID: Hardware ID
Name (_CID, "8086228E") // _CID: Compatible ID
Name (_DDN, "Intel(R) SPI Controller #3 - 808622AC") // _DDN: DOS Device Name
Name (_UID, 0x03) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y14)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x0000005A,
}
FixedDMA (0x0008, 0x0008, Width32bit, )
FixedDMA (0x0009, 0x0009, Width32bit, )
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.PCI0.SPI3._Y14._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.SPI3._Y14._LEN, B0LN) // _LEN: Length
B0BA = S30A /* \S30A */
B0LN = S30L /* \S30L */
Return (RBUF) /* \_SB_.PCI0.SPI3.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((S30A == Zero) || (L16D == One)))
{
Return (Zero)
}
Return (0x0F)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
PSAT |= 0x03
PSAT |= Zero
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
PSAT &= 0xFFFFFFFC
PSAT |= Zero
}
OperationRegion (KEYS, SystemMemory, S31A, 0x0100)
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
{
Offset (0x84),
PSAT, 32
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((SP3P == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
}
Device (I2C1)
{
Name (_HID, "808622C1") // _HID: Hardware ID
Name (_CID, "808622C1") // _CID: Compatible ID
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
Name (_DDN, "Intel(R) I2C Controller #1 - 808622C1") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y15)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x00000020,
}
FixedDMA (0x0010, 0x0000, Width32bit, )
FixedDMA (0x0011, 0x0001, Width32bit, )
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.PCI0.I2C1._Y15._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.I2C1._Y15._LEN, B0LN) // _LEN: Length
B0BA = I10A /* \I10A */
B0LN = I10L /* \I10L */
Return (RBUF) /* \_SB_.PCI0.I2C1.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((I10A == Zero) || (L21D == One)))
{
Return (Zero)
}
Return (0x0F)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
PSAT |= 0x03
PSAT |= Zero
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
PSAT &= 0xFFFFFFFC
PSAT |= Zero
}
OperationRegion (KEYS, SystemMemory, I11A, 0x0100)
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
{
Offset (0x84),
PSAT, 32
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((IC1P == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
PowerResource (CLK2, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (CKC2) /* \CKC2 */
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
CKC2 = One
Sleep (0x05)
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
CKC2 = 0x02
}
}
PowerResource (CLK4, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (CKC4) /* \CKC4 */
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
CKC4 = One
Sleep (0x05)
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
CKC4 = 0x02
}
}
PowerResource (P28P, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
I2C7,
^^I2C7.PMI1
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^^I2C7.PMI1.AVBG == One))
{
^^^I2C7.PMI1.G28X = Zero
If ((^^^I2C7.PMI1.AVBL == One))
{
Return (^^^I2C7.PMI1.ALD1) /* \_SB_.PCI0.I2C7.PMI1.ALD1 */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((^^^I2C7.PMI1.AVBL == One))
{
^^^I2C7.PMI1.ALD1 = One
If ((^^^I2C7.PMI1.AVBG == One))
{
^^^I2C7.PMI1.G28X = One
Sleep (0x1E)
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((^^^I2C7.PMI1.AVBL == One))
{
^^^I2C7.PMI1.ALD1 = Zero
If ((^^^I2C7.PMI1.AVBG == One))
{
^^^I2C7.PMI1.G28X = One
Sleep (0x1E)
}
}
}
}
PowerResource (P18P, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
I2C7,
^^I2C7.PMI1
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^^I2C7.PMI1.AVBG == One))
{
^^^I2C7.PMI1.G18X = Zero
If ((^^^I2C7.PMI1.AVBL == One))
{
Return (^^^I2C7.PMI1.ELD2) /* \_SB_.PCI0.I2C7.PMI1.ELD2 */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((^^^I2C7.PMI1.AVBL == One))
{
^^^I2C7.PMI1.ELD2 = One
If ((^^^I2C7.PMI1.AVBG == One))
{
^^^I2C7.PMI1.G18X = One
Sleep (0x1E)
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((^^^I2C7.PMI1.AVBL == One))
{
^^^I2C7.PMI1.ELD2 = Zero
If ((^^^I2C7.PMI1.AVBG == One))
{
^^^I2C7.PMI1.G18X = One
Sleep (0x1E)
}
}
}
}
PowerResource (P12P, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
I2C7,
^^I2C7.PMI1
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^^I2C7.PMI1.AVBG == One))
{
^^^I2C7.PMI1.G12X = Zero
If ((^^^I2C7.PMI1.AVBL == One))
{
Return (^^^I2C7.PMI1.FLD2) /* \_SB_.PCI0.I2C7.PMI1.FLD2 */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((^^^I2C7.PMI1.AVBL == One))
{
^^^I2C7.PMI1.FLD2 = One
If ((^^^I2C7.PMI1.AVBG == One))
{
^^^I2C7.PMI1.G12X = One
Sleep (0x1E)
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((^^^I2C7.PMI1.AVBL == One))
{
^^^I2C7.PMI1.FLD2 = Zero
If ((^^^I2C7.PMI1.AVBG == One))
{
^^^I2C7.PMI1.G12X = One
Sleep (0x1E)
}
}
}
}
PowerResource (P16P, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
I2C7,
^^I2C7.PMI1
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^^I2C7.PMI1.AVBG == One))
{
^^^I2C7.PMI1.G16X = Zero
If ((^^^I2C7.PMI1.AVBL == One))
{
Return (^^^I2C7.PMI1.ELD1) /* \_SB_.PCI0.I2C7.PMI1.ELD1 */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((^^^I2C7.PMI1.AVBL == One))
{
^^^I2C7.PMI1.ELD1 = One
If ((^^^I2C7.PMI1.AVBG == One))
{
^^^I2C7.PMI1.G16X = One
Sleep (0x1E)
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((^^^I2C7.PMI1.AVBL == One))
{
^^^I2C7.PMI1.ELD1 = Zero
If ((^^^I2C7.PMI1.AVBG == One))
{
^^^I2C7.PMI1.G16X = One
Sleep (0x1E)
}
}
}
}
Device (STRA)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "INTCF1C") // _HID: Hardware ID
Name (_CID, "INTCF1C") // _CID: Compatible ID
Name (_SUB, "INTL0000") // _SUB: Subsystem ID
Name (_DDN, "Flash LM3554") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((BDID == One))
{
Return (Zero)
}
If ((RCAM == One))
{
Return (0x0F)
}
Return (Zero)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (SBUF, ResourceTemplate ()
{
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0038
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002D
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0035
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002E
}
I2cSerialBusV2 (0x0053, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, , Exclusive,
)
})
Return (SBUF) /* \_SB_.PCI0.I2C1.STRA._CRS.SBUF */
}
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015")))
{
Return ("INTCF1C")
}
If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee")))
{
Return ("LM3554")
}
If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8")))
{
Return ("CHV_ITL_RVP")
}
If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f")))
{
Return (Zero)
}
If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881")))
{
If ((Arg2 == One))
{
Return (One)
}
If ((Arg2 == 0x02))
{
Return (0x04005300)
}
}
If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f")))
{
If ((Arg2 == One))
{
Return (0x04)
}
If ((Arg2 == 0x02))
{
Return (0x01003802)
}
If ((Arg2 == 0x03))
{
Return (0x01002D03)
}
If ((Arg2 == 0x04))
{
Return (0x01003501)
}
If ((Arg2 == 0x05))
{
Return (0x01002E04)
}
}
Return (Zero)
}
}
}
Device (I2C2)
{
Name (_HID, "808622C1") // _HID: Hardware ID
Name (_CID, "808622C1") // _CID: Compatible ID
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
Name (_DDN, "Intel(R) I2C Controller #2 - 808622C2") // _DDN: DOS Device Name
Name (_UID, 0x02) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y16)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x00000021,
}
FixedDMA (0x0012, 0x0002, Width32bit, )
FixedDMA (0x0013, 0x0003, Width32bit, )
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.PCI0.I2C2._Y16._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.I2C2._Y16._LEN, B0LN) // _LEN: Length
B0BA = I20A /* \I20A */
B0LN = I20L /* \I20L */
Return (RBUF) /* \_SB_.PCI0.I2C2.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((I20A == Zero) || (L22D == One)))
{
Return (Zero)
}
Return (0x0F)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
PSAT |= 0x03
PSAT |= Zero
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
PSAT &= 0xFFFFFFFC
PSAT |= Zero
}
OperationRegion (KEYS, SystemMemory, I21A, 0x0100)
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
{
Offset (0x84),
PSAT, 32
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((IC2P == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
PowerResource (CLK3, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (CKC3) /* \CKC3 */
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
CKC3 = One
Sleep (0x05)
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
CKC3 = 0x02
}
}
PowerResource (CLK4, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (CKC4) /* \CKC4 */
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
CKC4 = One
Sleep (0x05)
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
CKC4 = 0x02
}
}
Device (RTK2)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "10EC5651") // _HID: Hardware ID
Name (_CID, "10EC5651") // _CID: Compatible ID
Name (_DDN, "ALC5642") // _DDN: DOS Device Name
Name (_UID, 0x02) // _UID: Unique ID
Name (_SUB, "20150601") // _SUB: Subsystem ID
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
CLK3
})
Name (CHAN, Package (0x02)
{
One,
0x0124F800
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (SBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x001A, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C2",
0x00, ResourceConsumer, , Exclusive,
)
GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004F
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x001E
}
})
Return (SBUF) /* \_SB_.PCI0.I2C2.RTK2._CRS.SBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("a9240c44-f032-454d-80e5-7aeed80e9551")))
{
CreateByteField (Arg3, Zero, FARG)
Switch (Arg2)
{
Case (0x03)
{
Switch (Arg3)
{
Case (Zero)
{
Return (0x1D)
}
Case (0x04)
{
Return (Buffer (0x54)
{
/* 0000 */ 0x0A, 0x00, 0x00, 0xCE, 0x40, 0x00, 0x01, 0x00, // ....@...
/* 0008 */ 0x01, 0x00, 0x00, 0x00, 0x45, 0x00, 0x01, 0x00, // ....E...
/* 0010 */ 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x01, 0x00, // ....F...
/* 0018 */ 0x02, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x01, 0x00, // ........
/* 0020 */ 0x8D, 0x8D, 0x03, 0x00, 0x1D, 0x00, 0x01, 0x00, // ........
/* 0028 */ 0x00, 0x00, 0x05, 0x00, 0x1D, 0x00, 0x01, 0x00, // ........
/* 0030 */ 0x05, 0x00, 0x73, 0x00, 0x1D, 0x00, 0x01, 0x00, // ..s.....
/* 0038 */ 0x00, 0x01, 0x0D, 0x00, 0x56, 0x00, 0x01, 0x00, // ....V...
/* 0040 */ 0x01, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x01, 0x00, // ....=...
/* 0048 */ 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x01, 0x00, // ........
/* 0050 */ 0x00, 0x20, 0x01, 0x00 // . ..
})
}
Case (0x02)
{
Return (Buffer (0xF6)
{
/* 0000 */ 0x00, 0x30, 0x51, 0x56, 0x17, 0x00, 0x01, 0x00, // .0QV....
/* 0008 */ 0xA0, 0x00, 0xC7, 0x0F, 0x01, 0x00, 0xA1, 0x00, // ........
/* 0010 */ 0x00, 0x00, 0x01, 0x00, 0xA2, 0x00, 0xA9, 0xDF, // ........
/* 0018 */ 0x01, 0x00, 0xA3, 0x00, 0xC4, 0x08, 0x01, 0x00, // ........
/* 0020 */ 0xA4, 0x00, 0x88, 0xF9, 0x01, 0x00, 0xA5, 0x00, // ........
/* 0028 */ 0x5C, 0xC4, 0x01, 0x00, 0xA6, 0x00, 0xD0, 0x1C, // \.......
/* 0030 */ 0x01, 0x00, 0xA7, 0x00, 0x24, 0x04, 0x01, 0x00, // ....$...
/* 0038 */ 0xA8, 0x00, 0x04, 0xE9, 0x01, 0x00, 0xA9, 0x00, // ........
/* 0040 */ 0x10, 0x1C, 0x01, 0x00, 0xAA, 0x00, 0x00, 0x00, // ........
/* 0048 */ 0x01, 0x00, 0xAB, 0x00, 0x00, 0x00, 0x01, 0x00, // ........
/* 0050 */ 0xAC, 0x00, 0x10, 0x1C, 0x01, 0x00, 0xAD, 0x00, // ........
/* 0058 */ 0x00, 0x00, 0x01, 0x00, 0xAE, 0x00, 0x31, 0x1D, // ......1.
/* 0060 */ 0x01, 0x00, 0xAF, 0x00, 0x00, 0x00, 0x01, 0x00, // ........
/* 0068 */ 0xB0, 0x00, 0x1C, 0x1F, 0x01, 0x00, 0xB1, 0x00, // ........
/* 0070 */ 0xDD, 0x00, 0x01, 0x00, 0xB2, 0x00, 0x1F, 0x1F, // ........
/* 0078 */ 0x01, 0x00, 0xB3, 0x00, 0x02, 0x04, 0x01, 0x00, // ........
/* 0080 */ 0xB4, 0x00, 0x00, 0x08, 0x00, 0x00, 0xB1, 0x00, // ........
/* 0088 */ 0x40, 0x00, 0x00, 0x00, 0xB0, 0x00, 0x00, 0x60, // @......`
/* 0090 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0098 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 00A0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 00A8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 00B0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 00B8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 00C0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 00C8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 00D0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 00D8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 00E0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 00E8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 00F0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ......
})
}
Case (0x03)
{
Return (Buffer (0x42)
{
/* 0000 */ 0x00, 0x20, 0x51, 0x56, 0x03, 0x00, 0x00, 0x00, // . QV....
/* 0008 */ 0xB4, 0x00, 0x26, 0x42, 0x00, 0x00, 0xB5, 0x00, // ..&B....
/* 0010 */ 0xE8, 0x21, 0x00, 0x00, 0xB6, 0x00, 0x00, 0x01, // .!......
/* 0018 */ 0x26, 0x12, 0x46, 0x0E, 0x26, 0x12, 0x47, 0x0E, // &.F.&.G.
/* 0020 */ 0x2A, 0x12, 0x48, 0x0E, 0x30, 0x12, 0x49, 0x0E, // *.H.0.I.
/* 0028 */ 0x34, 0x12, 0x4A, 0x0E, 0x34, 0x12, 0x4B, 0x0E, // 4.J.4.K.
/* 0030 */ 0x34, 0x12, 0x4C, 0x0E, 0x34, 0x12, 0x4D, 0x0E, // 4.L.4.M.
/* 0038 */ 0x34, 0x12, 0x4E, 0x0E, 0x34, 0x12, 0x4F, 0x0E, // 4.N.4.O.
/* 0040 */ 0x34, 0x12 // 4.
})
}
Default
{
Return (0x80000002)
}
}
}
}
}
Return (0x80000002)
}
}
}
Device (I2C3)
{
Name (_HID, "808622C1") // _HID: Hardware ID
Name (_CID, "808622C1") // _CID: Compatible ID
Name (_DDN, "Intel(R) I2C Controller #3 - 808622C3") // _DDN: DOS Device Name
Name (_UID, 0x03) // _UID: Unique ID
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y17)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x00000022,
}
FixedDMA (0x0014, 0x0004, Width32bit, )
FixedDMA (0x0015, 0x0005, Width32bit, )
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.PCI0.I2C3._Y17._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.I2C3._Y17._LEN, B0LN) // _LEN: Length
B0BA = I30A /* \I30A */
B0LN = I30L /* \I30L */
Return (RBUF) /* \_SB_.PCI0.I2C3.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((I30A == Zero) || (L23D == One)))
{
Return (Zero)
}
Return (0x0F)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
PSAT |= 0x03
PSAT |= Zero
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
PSAT &= 0xFFFFFFFC
PSAT |= Zero
}
OperationRegion (KEYS, SystemMemory, I31A, 0x0100)
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
{
Offset (0x84),
PSAT, 32
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((IC3P == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
PowerResource (CLK2, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (CKC2) /* \CKC2 */
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
CKC2 = One
Sleep (0x05)
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
CKC2 = 0x02
}
}
PowerResource (CLK1, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (CKC1) /* \CKC1 */
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
CKC1 = One
Sleep (0x05)
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
CKC1 = 0x02
}
}
OperationRegion (TIP1, GenericSerialBus, Zero, 0x0100)
Field (TIP1, BufferAcc, NoLock, Preserve)
{
Connection (
I2cSerialBusV2 (0x006B, ControllerInitiated, 0x000F4240,
AddressingMode7Bit, "\\_SB.PCI0.I2C3",
0x00, ResourceConsumer, , Exclusive,
)
),
Offset (0x01),
AccessAs (BufferAcc, AttribByte),
RG01, 8,
Offset (0x08),
AccessAs (BufferAcc, AttribByte),
RG08, 8
}
Name (AVBL, Zero)
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If ((Arg0 == 0x09))
{
AVBL = Arg1
}
}
Device (SPBA)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "LTER0303") // _HID: Hardware ID
Name (_CID, "LTR303") // _CID: Compatible ID
Name (_DDN, "LTR-303") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSID == One))
{
Return (Zero)
}
Return (0x0F)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x0029, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.I2C3",
0x00, ResourceConsumer, , Exclusive,
)
GpioInt (Edge, ActiveLow, Exclusive, PullUp, 0x0000,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0012
}
})
Return (RBUF) /* \_SB_.PCI0.I2C3.SPBA._CRS.RBUF */
}
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("7681541f-8827-4239-8d9d-36be7fe12542")))
{
If ((Arg2 == Zero))
{
Return (Buffer (One)
{
0x03 // .
})
}
If ((Arg2 == One))
{
Return (Buffer (0x04)
{
0x00, 0x01, 0x02, 0x03 // ....
})
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
Device (KXJ0)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "KXTJ1009") // _HID: Hardware ID
Name (_CID, "KXTJ1009") // _CID: Compatible ID
Name (_DDN, "Kionix KXTJ2 Accelerometer") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSID == One))
{
Return (Zero)
}
Return (0x0F)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (SBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x000E, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.I2C3",
0x00, ResourceConsumer, , Exclusive,
)
GpioInt (Edge, ActiveHigh, Exclusive, PullNone, 0x0000,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0015
}
})
Return (SBUF) /* \_SB_.PCI0.I2C3.KXJ0._CRS.SBUF */
}
Method (_CDM, 1, NotSerialized) // _CDM: Clock Domain
{
Local0 = 0x00ABCD05
Return (Local0)
}
}
Device (BMGY)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "BMG0160" /* Bosch Gyro Sensor */) // _HID: Hardware ID
Name (_CID, "BMG0160" /* Bosch Gyro Sensor */) // _CID: Compatible ID
Name (_UID, One) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSID == One))
{
Return (Zero)
}
Return (0x0F)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x0068, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.I2C3",
0x00, ResourceConsumer, , Exclusive,
)
GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x000F
}
GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0014
}
})
Return (RBUF) /* \_SB_.PCI0.I2C3.BMGY._CRS.RBUF */
}
}
Device (AKCP)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "AK009911") // _HID: Hardware ID
Name (_CID, "AK009911") // _CID: Compatible ID
Name (_UID, One) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSID == One))
{
Return (Zero)
}
Return (0x0F)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x000C, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.I2C3",
0x00, ResourceConsumer, , Exclusive,
)
})
Return (RBUF) /* \_SB_.PCI0.I2C3.AKCP._CRS.RBUF */
}
}
}
Device (I2C4)
{
Name (_HID, "808622C1") // _HID: Hardware ID
Name (_CID, "808622C1") // _CID: Compatible ID
Name (_DDN, "Intel(R) I2C Controller #4 - 808622C4") // _DDN: DOS Device Name
Name (_UID, 0x04) // _UID: Unique ID
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
PEPD,
GPO0
})
Name (FCFG, Zero)
Name (RCFG, Zero)
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y18)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x00000023,
}
FixedDMA (0x0016, 0x0006, Width32bit, )
FixedDMA (0x0017, 0x0007, Width32bit, )
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.PCI0.I2C4._Y18._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.I2C4._Y18._LEN, B0LN) // _LEN: Length
B0BA = I40A /* \I40A */
B0LN = I40L /* \I40L */
Return (RBUF) /* \_SB_.PCI0.I2C4.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((I40A == Zero) || (L24D == One)))
{
Return (Zero)
}
Return (0x0F)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
PSAT |= 0x03
PSAT |= Zero
If ((^^^GPO0.AMMR == One))
{
^^^GPO0.I4AE = One
^^^GPO0.I4CE = One
^^^GPO0.I4AF = 0x03
^^^GPO0.I4CF = 0x03
^^^GPO0.I4AD = 0x0A
^^^GPO0.I4CD = 0x0A
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
PSAT &= 0xFFFFFFFC
PSAT |= Zero
If ((^^^GPO0.AMMR == One))
{
^^^GPO0.I4AD = 0x0A
^^^GPO0.I4CD = 0x0A
^^^GPO0.I4AF = Zero
^^^GPO0.I4CF = Zero
Sleep (0x03)
^^^GPO0.I4AE = Zero
^^^GPO0.I4CE = Zero
Sleep (0x03)
}
}
OperationRegion (KEYS, SystemMemory, I41A, 0x0100)
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
{
Offset (0x84),
PSAT, 32
}
PowerResource (CLK0, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (CKC0) /* \CKC0 */
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
CKC0 = One
Sleep (0x05)
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
CKC0 = 0x02
}
}
PowerResource (CLK1, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (CKC1) /* \CKC1 */
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
CKC1 = One
Sleep (0x05)
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
CKC1 = 0x02
}
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((IC4P == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
Device (CA10)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "INT33CF") // _HID: Hardware ID
Name (_CID, "INT33CF") // _CID: Compatible ID
Name (_SUB, "INTL0000") // _SUB: Subsystem ID
Name (_DDN, "OV680") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (CDEP, Package (0x02)
{
I2C7,
^^I2C7.PMIC
})
Name (CPR0, Package (0x03)
{
P28X,
P18X,
CLK0
})
Name (WDEP, Package (0x02)
{
I2C7,
^^I2C7.PMI5
})
Name (WPR0, Package (0x03)
{
P28W,
P18W,
CLK0
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((BDID == One) || (OSID == One)))
{
Return (Zero)
}
If ((RCAM == One))
{
If (((BDID == 0x09) || (BDID == 0x0A)))
{
Return (0x0F)
}
}
Return (Zero)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (WBUF, ResourceTemplate ()
{
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0030
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0036
}
I2cSerialBusV2 (0x0035, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C4",
0x00, ResourceConsumer, , Exclusive,
)
})
Name (ABUF, ResourceTemplate ()
{
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0037
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002D
}
I2cSerialBusV2 (0x0035, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C4",
0x00, ResourceConsumer, , Exclusive,
)
})
If ((OSID == One))
{
Return (WBUF) /* \_SB_.PCI0.I2C4.CA10._CRS.WBUF */
}
Else
{
Return (ABUF) /* \_SB_.PCI0.I2C4.CA10._CRS.ABUF */
}
}
}
Device (CAM9)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "INT3477") // _HID: Hardware ID
Name (_SUB, "INTL0000") // _SUB: Subsystem ID
Name (_DDN, "OV8858") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (CDEP, Package (0x02)
{
I2C7,
^^I2C7.PMIC
})
Name (CPR0, Package (0x03)
{
P28X,
P18X,
CLK0
})
Name (WDEP, Package (0x02)
{
I2C7,
^^I2C7.PMI5
})
Name (WPR0, Package (0x03)
{
P28W,
P18W,
CLK0
})
Name (PLDB, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // i.......
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Return (PLDB) /* \_SB_.PCI0.I2C4.CAM9.PLDB */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((BDID == One))
{
Return (Zero)
}
If ((RCAM == One))
{
If (((BDID == 0x09) || (BDID == 0x0A)))
{
Return (0x0F)
}
}
Return (Zero)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (WBUF, ResourceTemplate ()
{
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0034
}
I2cSerialBusV2 (0x0010, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C4",
0x00, ResourceConsumer, , Exclusive,
)
I2cSerialBusV2 (0x000C, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C4",
0x00, ResourceConsumer, , Exclusive,
)
})
Name (ABUF, ResourceTemplate ()
{
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0034
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0037
}
I2cSerialBusV2 (0x0010, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C4",
0x00, ResourceConsumer, , Exclusive,
)
})
If ((OSID == One))
{
Return (WBUF) /* \_SB_.PCI0.I2C4.CAM9._CRS.WBUF */
}
Else
{
Return (ABUF) /* \_SB_.PCI0.I2C4.CAM9._CRS.ABUF */
}
}
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("dc2f6c4f-045b-4f1d-97b9-882a6860a4be")))
{
Local0 = Package (0x12)
{
"CamId",
"ov8858",
"CamType",
"1",
"CsiPort",
"1",
"CsiLanes",
"2",
"CsiFmt",
"15",
"CsiBayer",
"2",
"CamClk",
"0",
"Regulator1p8v",
"0",
"Regulator2p8v",
"0"
}
Return (Local0)
}
If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015")))
{
Return ("INT3477")
}
If ((Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c")))
{
Return ("OV8858")
}
If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee")))
{
If ((OSID == One))
{
Return ("P8V12F203")
}
Return ("12P2BA535")
}
If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8")))
{
Return ("CHV_ITL_RVP")
}
If ((Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea")))
{
Return (0x0102)
}
If ((Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab")))
{
If ((OSID == One))
{
Return (0x1040)
}
Return (One)
}
If ((Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf")))
{
Return (Zero)
}
If ((Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d")))
{
Return (One)
}
If ((Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015")))
{
Return (0x02)
}
If ((Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6")))
{
Return (Zero)
}
If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f")))
{
If ((OSID == One))
{
Return ("DW9718")
}
Return ("AD5823")
}
If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881")))
{
If ((Arg2 == One))
{
If ((OSID == One))
{
Return (0x02)
}
Return (0x03)
}
If ((Arg2 == 0x02))
{
Return (0x04001000)
}
If ((Arg2 == 0x03))
{
Return (0x04000C01)
}
If ((Arg2 == 0x04))
{
Return (0x04005402)
}
}
If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f")))
{
If ((Arg2 == One))
{
Return (One)
}
If ((Arg2 == 0x02))
{
Return (0x01003400)
}
}
If ((Arg0 == ToUUID ("2fa9bb94-9c5d-4aeb-8e6e-27434f81e3d3")))
{
Return ("CHT")
}
If ((Arg0 == ToUUID ("647a6ca2-8b29-49ac-8806-d58b3d2d3ef5")))
{
Return ("FFD")
}
If ((Arg0 == ToUUID ("a6e922a1-f7b3-4399-b56a-406ae416843b")))
{
Return ("CHV")
}
If ((Arg0 == ToUUID ("5960313b-0ab0-4940-8840-2cafa420c015")))
{
Return ("INTEL")
}
If ((Arg0 == ToUUID ("f486d39f-d657-484b-84a6-42a565712b92")))
{
If ((OSID == One))
{
Return (Buffer (0x20)
{
/* 0000 */ 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x03, // ........
/* 0008 */ 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Return (Buffer (0x20)
{
/* 0000 */ 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x01, // ........
/* 0008 */ 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Return (Zero)
}
}
Device (CAM3)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "INT33BE" /* Camera Sensor OV5693 */) // _HID: Hardware ID
Name (_CID, "INT33BE" /* Camera Sensor OV5693 */) // _CID: Compatible ID
Name (_SUB, "INTL0000") // _SUB: Subsystem ID
Name (_DDN, "OV5693") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (CDEP, Package (0x02)
{
I2C7,
^^I2C7.PMIC
})
Name (CPR0, Package (0x04)
{
P28X,
P18X,
P33X,
CLK0
})
Name (WDEP, Package (0x02)
{
I2C7,
^^I2C7.PMI5
})
Name (WPR0, Package (0x04)
{
P28W,
P18W,
P33W,
CLK0
})
Name (PLDB, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // i.......
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Return (PLDB) /* \_SB_.PCI0.I2C4.CAM3.PLDB */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((BDID == One) || (BDID == 0x0A)))
{
Return (Zero)
}
If ((RCAM == One))
{
Return (0x0F)
}
Return (Zero)
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
If ((^^^^GPO1.AVBL == One))
{
RCFG = Zero
If (((FCFG == Zero) && (OSID == One)))
{
^^^^GPO1.CRST = Zero
}
}
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
RCFG = One
If (((^^^^GPO1.AVBL == One) && (OSID == One)))
{
^^^^GPO1.CRST = One
}
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (WBUF, ResourceTemplate ()
{
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0034
}
I2cSerialBusV2 (0x0010, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C4",
0x00, ResourceConsumer, , Exclusive,
)
I2cSerialBusV2 (0x000C, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C4",
0x00, ResourceConsumer, , Exclusive,
)
I2cSerialBusV2 (0x0054, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C4",
0x00, ResourceConsumer, , Exclusive,
)
})
Name (ABUF, ResourceTemplate ()
{
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0034
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0037
}
I2cSerialBusV2 (0x0010, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C4",
0x00, ResourceConsumer, , Exclusive,
)
})
If ((OSID == One))
{
Return (WBUF) /* \_SB_.PCI0.I2C4.CAM3._CRS.WBUF */
}
Else
{
Return (ABUF) /* \_SB_.PCI0.I2C4.CAM3._CRS.ABUF */
}
}
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("dc2f6c4f-045b-4f1d-97b9-882a6860a4be")))
{
Local0 = Package (0x12)
{
"CamId",
"ov5693",
"CamType",
"1",
"CsiPort",
"1",
"CsiLanes",
"2",
"CsiFmt",
"15",
"CsiBayer",
"2",
"CamClk",
"0",
"Regulator1p8v",
"0",
"Regulator2p8v",
"0"
}
Return (Local0)
}
If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015")))
{
Return ("INT33BE")
}
If ((Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c")))
{
Return ("OV5693")
}
If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee")))
{
Return ("12P2BA535")
}
If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8")))
{
Return ("CHV_ITL_RVP")
}
If ((Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea")))
{
Return (0x0102)
}
If ((Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab")))
{
Return (One)
}
If ((Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf")))
{
Return (Zero)
}
If ((Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d")))
{
Return (One)
}
If ((Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015")))
{
Return (0x02)
}
If ((Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6")))
{
Return (Zero)
}
If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f")))
{
Return ("AD5823")
}
If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881")))
{
If ((Arg2 == One))
{
Return (0x03)
}
If ((Arg2 == 0x02))
{
Return (0x04001000)
}
If ((Arg2 == 0x03))
{
Return (0x04000C01)
}
If ((Arg2 == 0x04))
{
Return (0x04005402)
}
}
If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f")))
{
If ((Arg2 == One))
{
Return (One)
}
If ((Arg2 == 0x02))
{
Return (0x01003400)
}
}
If ((Arg0 == ToUUID ("2fa9bb94-9c5d-4aeb-8e6e-27434f81e3d3")))
{
Return ("CHT")
}
If ((Arg0 == ToUUID ("647a6ca2-8b29-49ac-8806-d58b3d2d3ef5")))
{
Return ("FFD")
}
If ((Arg0 == ToUUID ("a6e922a1-f7b3-4399-b56a-406ae416843b")))
{
Return ("CHV")
}
If ((Arg0 == ToUUID ("5960313b-0ab0-4940-8840-2cafa420c015")))
{
Return ("INTEL")
}
If ((Arg0 == ToUUID ("f486d39f-d657-484b-84a6-42a565712b92")))
{
Return (Buffer (0x20)
{
/* 0000 */ 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x01, // ........
/* 0008 */ 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Return (Zero)
}
}
Device (CAM4)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "INT33FB" /* MIPI-CSI Camera Sensor OV2722 */) // _HID: Hardware ID
Name (_CID, "INT33FB" /* MIPI-CSI Camera Sensor OV2722 */) // _CID: Compatible ID
Name (_SUB, "INTL0000") // _SUB: Subsystem ID
Name (_DDN, "OV2722") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (CDEP, Package (0x02)
{
I2C7,
^^I2C7.PMIC
})
Name (CPR0, Package (0x04)
{
P28X,
P18X,
P33X,
CLK1
})
Name (WDEP, Package (0x02)
{
I2C7,
^^I2C7.PMI5
})
Name (WPR0, Package (0x04)
{
P28W,
P18W,
P33W,
CLK1
})
Name (PLDB, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x61, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // a.......
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Return (PLDB) /* \_SB_.PCI0.I2C4.CAM4.PLDB */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((BDID == One))
{
Return (Zero)
}
Return (0x0F)
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
If ((RCAM == One))
{
If ((^^^^GPO1.AVBL == One))
{
FCFG = Zero
If (((RCFG == Zero) && (OSID == One)))
{
^^^^GPO1.CRST = Zero
}
}
}
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
FCFG = One
If ((RCAM == One))
{
If (((^^^^GPO1.AVBL == One) && (OSID == One)))
{
^^^^GPO1.CRST = One
}
}
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (WBUF, ResourceTemplate ()
{
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0032
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0036
}
I2cSerialBusV2 (0x0036, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C4",
0x00, ResourceConsumer, , Exclusive,
)
})
Name (ABUF, ResourceTemplate ()
{
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0032
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0036
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0037
}
I2cSerialBusV2 (0x0036, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C4",
0x00, ResourceConsumer, , Exclusive,
)
})
If (((OSID == One) || (OSID == 0x04)))
{
Return (WBUF) /* \_SB_.PCI0.I2C4.CAM4._CRS.WBUF */
}
Else
{
Return (ABUF) /* \_SB_.PCI0.I2C4.CAM4._CRS.ABUF */
}
}
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("dc2f6c4f-045b-4f1d-97b9-882a6860a4be")))
{
Local0 = Package (0x12)
{
"CamId",
"ov2722",
"CamType",
"1",
"CsiPort",
"0",
"CsiLanes",
"1",
"CsiFmt",
"15",
"CsiBayer",
"0",
"CamClk",
"1",
"Regulator1p8v",
"0",
"Regulator2p8v",
"0"
}
Return (Local0)
}
If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015")))
{
Return ("INT33FB")
}
If ((Arg0 == ToUUID ("3c62aaaa-d8e0-401a-84c3-fc05656fa28c")))
{
Return ("OV2722")
}
If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee")))
{
Return ("13P2SF206")
}
If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8")))
{
Return ("CHV_ITL_RVP")
}
If ((Arg0 == ToUUID ("918ab242-c37c-450a-9d0f-f47ab97c3dea")))
{
Return (0x0101)
}
If ((Arg0 == ToUUID ("ea3b7bd8-e09b-4239-ad6e-ed525f3f26ab")))
{
Return (Zero)
}
If ((Arg0 == ToUUID ("b65ac492-9e30-4d60-b5b2-f497c790d9cf")))
{
Return (Zero)
}
If ((Arg0 == ToUUID ("e770ab0f-2644-4bab-8628-d62f1683fb9d")))
{
Return (Zero)
}
If ((Arg0 == ToUUID ("1ea54ab2-cd84-48cc-9dd4-7f594ec3b015")))
{
Return (0x02)
}
If ((Arg0 == ToUUID ("8dbe2651-70c1-4c6f-ac87-a37cb46e4af6")))
{
Return (One)
}
If ((Arg0 == ToUUID ("75c9a639-5c8a-4a00-9f48-a9c3b5da789f")))
{
Return (Zero)
}
If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881")))
{
If ((Arg2 == One))
{
Return (One)
}
If ((Arg2 == 0x02))
{
Return (0x04003600)
}
}
If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f")))
{
If ((Arg2 == One))
{
Return (0x02)
}
If ((Arg2 == 0x02))
{
Return (0x01003200)
}
If ((Arg2 == 0x03))
{
If ((RCAM == One))
{
Return (0x3601)
}
Else
{
Return (0x01003601)
}
}
}
If ((Arg0 == ToUUID ("2fa9bb94-9c5d-4aeb-8e6e-27434f81e3d3")))
{
Return ("CHT")
}
If ((Arg0 == ToUUID ("647a6ca2-8b29-49ac-8806-d58b3d2d3ef5")))
{
Return ("FFD")
}
If ((Arg0 == ToUUID ("a6e922a1-f7b3-4399-b56a-406ae416843b")))
{
Return ("CHV")
}
If ((Arg0 == ToUUID ("5960313b-0ab0-4940-8840-2cafa420c015")))
{
Return ("INTEL")
}
If ((Arg0 == ToUUID ("f486d39f-d657-484b-84a6-42a565712b92")))
{
Return (Buffer (0x20)
{
/* 0000 */ 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
}
Return (Zero)
}
}
}
Device (I2C5)
{
Name (_HID, "808622C1") // _HID: Hardware ID
Name (_CID, "808622C1") // _CID: Compatible ID
Name (_DDN, "Intel(R) I2C Controller #5 - 808622C5") // _DDN: DOS Device Name
Name (_UID, 0x05) // _UID: Unique ID
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y19)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x00000024,
}
FixedDMA (0x0018, 0x0000, Width32bit, )
FixedDMA (0x0019, 0x0001, Width32bit, )
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.PCI0.I2C5._Y19._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.I2C5._Y19._LEN, B0LN) // _LEN: Length
B0BA = I50A /* \I50A */
B0LN = I50L /* \I50L */
Return (RBUF) /* \_SB_.PCI0.I2C5.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((I50A == Zero) || (L25D == One)))
{
Return (Zero)
}
Return (0x0F)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
PSAT |= 0x03
PSAT |= Zero
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
PSAT &= 0xFFFFFFFC
PSAT |= Zero
}
OperationRegion (KEYS, SystemMemory, I51A, 0x0100)
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
{
Offset (0x84),
PSAT, 32
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((IC5P == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
PowerResource (CLK5, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (CKC5) /* \CKC5 */
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
CKC5 = One
Sleep (0x05)
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
CKC5 = 0x02
}
}
}
Device (I2C6)
{
Name (_HID, "808622C1") // _HID: Hardware ID
Name (_CID, "808622C1") // _CID: Compatible ID
Name (_DDN, "Intel(R) I2C Controller #6 - 808622C6") // _DDN: DOS Device Name
Name (_UID, 0x06) // _UID: Unique ID
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y1A)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x00000025,
}
FixedDMA (0x001A, 0x0002, Width32bit, )
FixedDMA (0x001B, 0x0003, Width32bit, )
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.PCI0.I2C6._Y1A._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.I2C6._Y1A._LEN, B0LN) // _LEN: Length
B0BA = I60A /* \I60A */
B0LN = I60L /* \I60L */
Return (RBUF) /* \_SB_.PCI0.I2C6.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((I60A == Zero) || (L26D == One)))
{
Return (Zero)
}
Return (0x0F)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
PSAT |= 0x03
PSAT |= Zero
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
PSAT &= 0xFFFFFFFC
PSAT |= Zero
}
OperationRegion (KEYS, SystemMemory, I61A, 0x0100)
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
{
Offset (0x84),
PSAT, 32
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((IC6P == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
PowerResource (P33P, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
I2C7,
^^I2C7.PMI1
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^^I2C7.PMI1.AVBG == One))
{
^^^I2C7.PMI1.G33X = Zero
If ((^^^I2C7.PMI1.AVBL == One))
{
Return (^^^I2C7.PMI1.ALD2) /* \_SB_.PCI0.I2C7.PMI1.ALD2 */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((OSID == One))
{
If ((^^^I2C7.PMI1.AVBL == One))
{
^^^I2C7.PMI1.ALD2 = One
If ((^^^I2C7.PMI1.AVBG == One))
{
^^^I2C7.PMI1.G33X = One
Sleep (0x1E)
}
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((OSID == One))
{
If ((^^^I2C7.PMI1.AVBL == One))
{
^^^I2C7.PMI1.ALD2 = Zero
If ((^^^I2C7.PMI1.AVBG == One))
{
^^^I2C7.PMI1.G33X = One
Sleep (0x1E)
}
}
}
}
}
PowerResource (P65P, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
I2C7,
^^I2C7.PMI1
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^^I2C7.PMI1.AVBG == One))
{
^^^I2C7.PMI1.G675 = Zero
If ((^^^I2C7.PMI1.AVBL == One))
{
Return (^^^I2C7.PMI1.FLD3) /* \_SB_.PCI0.I2C7.PMI1.FLD3 */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((^^^I2C7.PMI1.AVBL == One))
{
^^^I2C7.PMI1.FLD3 = One
If ((^^^I2C7.PMI1.AVBG == One))
{
^^^I2C7.PMI1.G675 = One
Sleep (0x1E)
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((MF3E == One))
{
If ((^^^I2C7.PMI1.AVBL == One))
{
^^^I2C7.PMI1.FLD3 = Zero
If ((^^^I2C7.PMI1.AVBG == One))
{
^^^I2C7.PMI1.G675 = One
Sleep (0x1E)
}
}
}
}
}
Device (TCSA)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "GSL1680") // _HID: Hardware ID
Name (_CID, "GSL1680") // _CID: Compatible ID
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
P33P
})
Name (_S0W, Zero) // _S0W: S0 Device Wake State
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
GPO1,
I2C6
})
Name (PRP0, Package (0x07)
{
"silead.fw",
0x0500,
0x0320,
One,
Zero,
Zero,
0x0A
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (ABUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x0040, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C6",
0x00, ResourceConsumer, , Exclusive,
)
GpioInt (Edge, ActiveHigh, Shared, PullDefault, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0013
}
})
Return (ABUF) /* \_SB_.PCI0.I2C6.TCSA._CRS.ABUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((BDID == One) && (OSID == 0x04)))
{
Return (0x0F)
}
Return (Zero)
}
}
}
Device (I2C7)
{
Name (_HID, "808622C1") // _HID: Hardware ID
Name (_CID, "808622C1") // _CID: Compatible ID
Name (_DDN, "Intel(R) I2C Controller #7 - 808622C7") // _DDN: DOS Device Name
Name (_UID, 0x07) // _UID: Unique ID
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
Method (_SEM, 0, NotSerialized)
{
If (((PMID == One) || (PMID == 0x02)))
{
ADBG ("$COVE")
Return (One)
}
Else
{
Return (Zero)
}
}
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y1B)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x00000026,
}
FixedDMA (0x001C, 0x0004, Width32bit, )
FixedDMA (0x001D, 0x0005, Width32bit, )
})
Method (_IRC, 0, NotSerialized) // _IRC: Inrush Current
{
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.PCI0.I2C7._Y1B._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.I2C7._Y1B._LEN, B0LN) // _LEN: Length
B0BA = I70A /* \I70A */
B0LN = I70L /* \I70L */
Return (RBUF) /* \_SB_.PCI0.I2C7.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((I70A == Zero) || (L27D == One)))
{
Return (Zero)
}
Return (0x0F)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If (((PMID == One) || (PMID == 0x02)))
{
Return (Zero)
}
PSAT |= 0x03
PSAT |= Zero
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
PSAT &= 0xFFFFFFFC
PSAT |= Zero
}
OperationRegion (KEYS, SystemMemory, I71A, 0x0100)
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
{
Offset (0x84),
PSAT, 32
}
OperationRegion (GPEX, GenericSerialBus, Zero, 0x0100)
Field (GPEX, BufferAcc, NoLock, Preserve)
{
Connection (
I2cSerialBusV2 (0x0023, ControllerInitiated, 0x000F4240,
AddressingMode7Bit, "\\_SB.PCI0.I2C7",
0x00, ResourceConsumer, , Exclusive,
)
),
Offset (0x04),
AccessAs (BufferAcc, AttribByte),
P0DT, 8,
Offset (0x0C),
AccessAs (BufferAcc, AttribByte),
P0CF, 8
}
OperationRegion (GPUS, GenericSerialBus, Zero, 0x0100)
Field (GPUS, BufferAcc, NoLock, Preserve)
{
Connection (
I2cSerialBusV2 (0x005E, ControllerInitiated, 0x000F4240,
AddressingMode7Bit, "\\_SB.PCI0.I2C7",
0x00, ResourceConsumer, , Exclusive,
)
),
Offset (0x03),
AccessAs (BufferAcc, AttribByte),
SIRQ, 8
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((IC7P == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
}
Scope (\_SB)
{
Device (LID0)
{
Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID
Method (_LID, 0, NotSerialized) // _LID: Lid Status
{
Return ((PVAL & One))
}
}
}
Scope (URT1)
{
Device (BT01)
{
Name (_HID, "OBDA8723") // _HID: Hardware ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (ABUF, ResourceTemplate ()
{
UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
0xC0, LittleEndian, ParityTypeEven, FlowControlHardware,
0x0020, 0x0020, "\\_SB.PCI0.URT1",
0x00, ResourceConsumer, , Exclusive,
)
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0004
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0008
}
GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullDown, 0x0000,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x005A
}
})
Name (WBUF, ResourceTemplate ()
{
UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
0xC0, LittleEndian, ParityTypeEven, FlowControlHardware,
0x0020, 0x0020, "\\_SB.PCI0.URT1",
0x00, ResourceConsumer, , Exclusive,
)
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0004
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0008
}
GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullDown, 0x0000,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x005A
}
})
If ((OSID == One))
{
Return (WBUF) /* \_SB_.PCI0.URT1.BT01._CRS.WBUF */
}
Return (ABUF) /* \_SB_.PCI0.URT1.BT01._CRS.ABUF */
}
}
}
Scope (I2C1)
{
}
Scope (I2C2)
{
PowerResource (CLK2, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (CKC2) /* \CKC2 */
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
CKC2 = One
Sleep (0x05)
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
CKC2 = 0x02
}
}
}
Scope (I2C3)
{
}
Scope (I2C6)
{
}
Scope (\_SB)
{
PowerResource (USBC, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
}
}
}
Device (IISH)
{
Name (_HID, "808622D8") // _HID: Hardware ID
Name (_CID, "808622D8") // _CID: Compatible ID
Name (_DDN, "Intel(R) Integrated Sensor Hub - 808622D8") // _DDN: DOS Device Name
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y1C)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y1D)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x00000072,
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.PCI0.IISH._Y1C._BAS, B0BA) // _BAS: Base Address
B0BA = ISH0 /* \ISH0 */
CreateDWordField (RBUF, \_SB.PCI0.IISH._Y1D._BAS, B1BA) // _BAS: Base Address
B1BA = ISH1 /* \ISH1 */
Return (RBUF) /* \_SB_.PCI0.IISH.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((ISH0 == Zero) || (ISHD == One)))
{
Return (Zero)
}
Return (0x0F)
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
PSAT |= 0x03
PSAT |= Zero
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
PSAT &= 0xFFFFFFFC
PSAT |= Zero
}
OperationRegion (KEYS, SystemMemory, ISH1, 0x0100)
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
{
Offset (0x84),
PSAT, 32
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((ISHP == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
}
Device (LPEA)
{
Name (_HID, "808622A8") // _HID: Hardware ID
Name (_CID, "808622A8") // _CID: Compatible ID
Name (_DDN, "Intel(R) Low Power Audio Controller - 808622A8") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00200000, // Address Length
_Y1E)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y1F)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00200000, // Address Length
_Y20)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x00000018,
}
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x00000019,
}
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x0000001A,
}
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x0000001B,
}
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x0000001C,
}
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x0000001D,
}
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004F
}
})
Name (WBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00200000, // Address Length
_Y21)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y22)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00200000, // Address Length
_Y23)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x00000018,
}
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x00000019,
}
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x0000001A,
}
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x0000001B,
}
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x0000001C,
}
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x0000001D,
}
GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x005B
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
If (((BDID != 0x09) && (BDID != 0x0A)))
{
CreateDWordField (RBUF, \_SB.PCI0.LPEA._Y1E._BAS, B0BA) // _BAS: Base Address
B0BA = LPE0 /* \LPE0 */
CreateDWordField (RBUF, \_SB.PCI0.LPEA._Y1F._BAS, B1BA) // _BAS: Base Address
B1BA = LPE1 /* \LPE1 */
CreateDWordField (RBUF, \_SB.PCI0.LPEA._Y20._BAS, B2BA) // _BAS: Base Address
B2BA = LPE2 /* \LPE2 */
Return (RBUF) /* \_SB_.PCI0.LPEA.RBUF */
}
CreateDWordField (WBUF, \_SB.PCI0.LPEA._Y21._BAS, B3BA) // _BAS: Base Address
B3BA = LPE0 /* \LPE0 */
CreateDWordField (WBUF, \_SB.PCI0.LPEA._Y22._BAS, B4BA) // _BAS: Base Address
B4BA = LPE1 /* \LPE1 */
CreateDWordField (WBUF, \_SB.PCI0.LPEA._Y23._BAS, B5BA) // _BAS: Base Address
B5BA = LPE2 /* \LPE2 */
Return (WBUF) /* \_SB_.PCI0.LPEA.WBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((LPE0 != Zero) && (LPED == Zero)))
{
Return (0x0F)
}
Return (Zero)
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
PSAT |= 0x03
PSAT |= Zero
}
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
If ((LPEP == Zero))
{
Return (Zero)
}
Else
{
Return (0x03)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
PSAT &= 0xFFFFFFFC
PSAT |= Zero
Sleep (0x0A)
}
OperationRegion (KEYS, SystemMemory, LPE1, 0x0100)
Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
{
Offset (0x84),
PSAT, 32
}
Device (ADMA)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "ADMA22A8") // _HID: Hardware ID
Name (_CID, "ADMA22A8") // _CID: Compatible ID
Name (_DDN, "Intel(R) Audio DMA0 - DMA0F28") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00200000, // Address Length
_Y24)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x00000018,
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.PCI0.LPEA.ADMA._Y24._BAS, B3BA) // _BAS: Base Address
B3BA = LPE0 /* \LPE0 */
Return (RBUF) /* \_SB_.PCI0.LPEA.ADMA.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSID != One))
{
Return (0x0F)
}
Return (Zero)
}
}
}
Scope (\_SB)
{
Device (VIBR)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "VIBR22A8") // _HID: Hardware ID
Name (_CID, "VIBR22A8") // _CID: Compatible ID
Name (_DDN, "Intel(R) Vibra Driver - VIB8601") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0004
}
})
Name (SBUF, ResourceTemplate ()
{
GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0001
}
})
If ((BDID == One))
{
Return (SBUF) /* \_SB_.VIBR._CRS.SBUF */
}
Else
{
Return (RBUF) /* \_SB_.VIBR._CRS.RBUF */
}
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((OSID != One) && ((BDID != 0x08) &&
(BDID != 0x0A))))
{
Return (0x0F)
}
Return (Zero)
}
}
}
Device (AMCR)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "AMCR22A8") // _HID: Hardware ID
Name (_CID, "AMCR22A8") // _CID: Compatible ID
Name (_DDN, "Intel(R) Audio Machine Driver - AMCR0F28") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0004
}
GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x001B
}
GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x001C
}
})
Return (RBUF) /* \_SB_.PCI0.AMCR._CRS.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((BDID == One))
{
Return (Zero)
}
If ((OSID != One))
{
Return (0x0F)
}
Return (Zero)
}
}
Device (TIMC)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "TIMC22A8") // _HID: Hardware ID
Name (_CID, "TIMC22A8") // _CID: Compatible ID
Name (_DDN, "Intel(R) Audio Machine Driver - TIMC22A8") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0004
}
GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x001B
}
GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x001C
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0041
}
})
Return (RBUF) /* \_SB_.PCI0.TIMC._CRS.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((OSID != One) && (BDID == One)))
{
Return (0x0F)
}
Return (Zero)
}
}
Device (HAD0)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "HAD022A8") // _HID: Hardware ID
Name (_CID, "HAD022A8") // _CID: Compatible ID
Name (_DDN, "Intel(R) HDMI Audio Driver - HAD") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00065800, // Address Base
0x00000140, // Address Length
)
})
Return (RBUF) /* \_SB_.PCI0.HAD0._CRS.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSID != One))
{
Return (0x0F)
}
Return (Zero)
}
}
Device (SPRC)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, 0x03) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y25)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y26)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y27)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y28)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y29)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y2A)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y2B)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y2C)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y2D)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y2E)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y2F)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y30)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y31)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y32)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y33)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y34)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y35)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y36)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y37)
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y25._BAS, BR01) // _BAS: Base Address
BR01 = EM1A /* \EM1A */
If (((BR01 != Zero) && (BR01 != 0xFFFFF000)))
{
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y25._LEN, LN01) // _LEN: Length
LN01 = EM1L /* \EM1L */
}
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y26._BAS, BR02) // _BAS: Base Address
BR02 = SI1A /* \SI1A */
If (((BR02 != Zero) && (BR02 != 0xFFFFF000)))
{
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y26._LEN, LN02) // _LEN: Length
LN02 = SI1L /* \SI1L */
}
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y27._BAS, BR03) // _BAS: Base Address
BR03 = SD1A /* \SD1A */
If (((BR03 != Zero) && (BR03 != 0xFFFFF000)))
{
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y27._LEN, LN03) // _LEN: Length
LN03 = SD1L /* \SD1L */
}
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y28._BAS, BR04) // _BAS: Base Address
BR04 = D11A /* \D11A */
If (((BR04 != Zero) && (BR04 != 0xFFFFF000)))
{
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y28._LEN, LN04) // _LEN: Length
LN04 = D11L /* \D11L */
}
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y29._BAS, BR05) // _BAS: Base Address
BR05 = P11A /* \P11A */
If (((BR05 != Zero) && (BR05 != 0xFFFFF000)))
{
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y29._LEN, LN05) // _LEN: Length
LN05 = P11L /* \P11L */
}
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2A._BAS, BR06) // _BAS: Base Address
BR06 = P21A /* \P21A */
If (((BR06 != Zero) && (BR06 != 0xFFFFF000)))
{
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2A._LEN, LN06) // _LEN: Length
LN06 = P21L /* \P21L */
}
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2B._BAS, BR07) // _BAS: Base Address
BR07 = U11A /* \U11A */
If (((BR07 != Zero) && (BR07 != 0xFFFFF000)))
{
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2B._LEN, LN07) // _LEN: Length
LN07 = U11L /* \U11L */
}
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2C._BAS, BR08) // _BAS: Base Address
BR08 = U21A /* \U21A */
If (((BR08 != Zero) && (BR08 != 0xFFFFF000)))
{
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2C._LEN, LN08) // _LEN: Length
LN08 = U21L /* \U21L */
}
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2D._BAS, BR09) // _BAS: Base Address
BR09 = SP1A /* \SP1A */
If (((BR09 != Zero) && (BR09 != 0xFFFFF000)))
{
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2D._LEN, LN09) // _LEN: Length
LN09 = SP1L /* \SP1L */
}
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2E._BAS, BR10) // _BAS: Base Address
BR10 = S21A /* \S21A */
If (((BR10 != Zero) && (BR10 != 0xFFFFF000)))
{
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2E._LEN, LN10) // _LEN: Length
LN10 = S21L /* \S21L */
}
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2F._BAS, BR11) // _BAS: Base Address
BR11 = S31A /* \S31A */
If (((BR11 != Zero) && (BR11 != 0xFFFFF000)))
{
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y2F._LEN, LN11) // _LEN: Length
LN11 = S31L /* \S31L */
}
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y30._BAS, BR12) // _BAS: Base Address
BR12 = D21A /* \D21A */
If (((BR12 != Zero) && (BR12 != 0xFFFFF000)))
{
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y30._LEN, LN12) // _LEN: Length
LN12 = D21L /* \D21L */
}
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y31._BAS, BR13) // _BAS: Base Address
BR13 = I11A /* \I11A */
If (((BR13 != Zero) && (BR13 != 0xFFFFF000)))
{
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y31._LEN, LN13) // _LEN: Length
LN13 = I11L /* \I11L */
}
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y32._BAS, BR14) // _BAS: Base Address
BR14 = I21A /* \I21A */
If (((BR14 != Zero) && (BR14 != 0xFFFFF000)))
{
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y32._LEN, LN14) // _LEN: Length
LN14 = I21L /* \I21L */
}
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y33._BAS, BR15) // _BAS: Base Address
BR15 = I31A /* \I31A */
If (((BR15 != Zero) && (BR15 != 0xFFFFF000)))
{
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y33._LEN, LN15) // _LEN: Length
LN15 = I31L /* \I31L */
}
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y34._BAS, BR16) // _BAS: Base Address
BR16 = I41A /* \I41A */
If (((BR16 != Zero) && (BR16 != 0xFFFFF000)))
{
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y34._LEN, LN16) // _LEN: Length
LN16 = I41L /* \I41L */
}
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y35._BAS, BR17) // _BAS: Base Address
BR17 = I51A /* \I51A */
If (((BR17 != Zero) && (BR17 != 0xFFFFF000)))
{
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y35._LEN, LN17) // _LEN: Length
LN17 = I51L /* \I51L */
}
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y36._BAS, BR18) // _BAS: Base Address
BR18 = I61A /* \I61A */
If (((BR18 != Zero) && (BR18 != 0xFFFFF000)))
{
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y36._LEN, LN18) // _LEN: Length
LN18 = I61L /* \I61L */
}
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y37._BAS, BR19) // _BAS: Base Address
BR19 = I71A /* \I71A */
If (((BR19 != Zero) && (BR19 != 0xFFFFF000)))
{
CreateDWordField (RBUF, \_SB.PCI0.SPRC._Y37._LEN, LN19) // _LEN: Length
LN19 = I71L /* \I71L */
}
Return (RBUF) /* \_SB_.PCI0.SPRC.RBUF */
}
}
Scope (SEC0)
{
Name (AHID, "TXE8086")
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
PEPD
})
Name (_S0W, 0x03) // _S0W: S0 Device Wake State
OperationRegion (PMEB, PCI_Config, 0x84, 0x04)
Field (PMEB, WordAcc, NoLock, Preserve)
{
Offset (0x01),
PMEE, 1,
, 6,
PMES, 1
}
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
}
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y38)
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
If ((((OSYS == 0x07DF) || (OSID == 0x04)) && (PAVL !=
Zero)))
{
CreateDWordField (RBUF, \_SB.PCI0.SEC0._Y38._BAS, B0BA) // _BAS: Base Address
CreateDWordField (RBUF, \_SB.PCI0.SEC0._Y38._LEN, B0LN) // _LEN: Length
B0BA = PAVB /* \PAVB */
B0LN = PAVL /* \PAVL */
Return (RBUF) /* \_SB_.PCI0.SEC0.RBUF */
}
Return (Buffer (0x02)
{
0x79, 0x00 // y.
})
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (((Arg0 == ToUUID ("ad27b3f7-13af-4fa3-93c9-eefd1f9d6ac7")) && (PAVP != Zero)))
{
Switch (Arg2)
{
Case (Zero)
{
Return (0x03)
}
Case (One)
{
Return (PAVB) /* \PAVB */
}
Default
{
Return (Zero)
}
}
}
}
}
Device (BRCM)
{
Name (_ADR, One) // _ADR: Address
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
GPO2,
GPO3
})
Name (_HID, "BCM4356") // _HID: Hardware ID
Name (_CID, "BCM4356") // _CID: Compatible ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((BDID != 0x08) && (BDID != 0x0A)))
{
Return (Zero)
}
If (((OSID == 0x04) && (BTHM == One)))
{
Return (0x0F)
}
Return (Zero)
}
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (Zero)
}
Name (_S4W, 0x02) // _S4W: S4 Device Wake State
Name (_S0W, 0x02) // _S0W: S0 Device Wake State
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Edge, ActiveHigh, ExclusiveAndWake, ,, )
{
0x00000044,
}
GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x000A
}
GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004B
}
})
Return (RBUF) /* \_SB_.PCI0.BRCM._CRS.RBUF */
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((^^^GPO3.AVBL == One))
{
^^^GPO3.WFD3 = Zero
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((^^^GPO3.AVBL == One))
{
^^^GPO3.WFD3 = One
}
}
}
Device (LNPW)
{
Name (_ADR, One) // _ADR: Address
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
GPO2,
GPO3
})
Name (_HID, "INT8260") // _HID: Hardware ID
Name (_CID, "INT8260") // _CID: Compatible ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSID == 0x04))
{
If (((BTHM == 0x03) || ((BDID == 0x09) || (BDID == 0x0A))))
{
Return (0x0F)
}
}
Return (Zero)
}
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (Zero)
}
Name (_S4W, 0x02) // _S4W: S4 Device Wake State
Name (_S0W, 0x02) // _S0W: S0 Device Wake State
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Edge, ActiveHigh, ExclusiveAndWake, ,, )
{
0x00000044,
}
GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x000A
}
})
Return (RBUF) /* \_SB_.PCI0.LNPW._CRS.RBUF */
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((^^^GPO3.AVBL == One))
{
^^^GPO3.WFD3 = Zero
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((^^^GPO3.AVBL == One))
{
^^^GPO3.WFD3 = One
}
}
}
}
Scope (_SB.PCI0)
{
Scope (ISP3)
{
Method (_PR3, 0, NotSerialized) // _PR3: Power Resources for D3hot
{
Return (Package (0x01)
{
ID3C
})
}
PowerResource (ID3C, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((ISPD == 0x02) && (ISPE == One)))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
}
}
}
Scope (GFX0)
{
Name (PWMB, Zero)
Name (PWMT, Zero)
Name (CPR0, Package (0x01)
{
P33X
})
Name (UPR0, Package (0x01)
{
P33W
})
Name (VPR0, Package (0x02)
{
P18W,
P33W
})
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
P06X
})
Name (TPR0, Package (0x01)
{
P12T
})
Name (CDEP, Package (0x03)
{
PEPD,
I2C7,
^I2C7.PMIC
})
Name (_DEP, Package (0x03) // _DEP: Dependencies
{
PEPD,
I2C7,
^I2C7.PMI1
})
Name (TDEP, Package (0x03)
{
PEPD,
I2C7,
^I2C7.PMI2
})
Name (WDEP, Package (0x03)
{
PEPD,
I2C7,
^I2C7.PMI5
})
Name (PDEP, Package (0x01)
{
PEPD
})
Name (SBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x002C, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C2",
0x00, ResourceConsumer, , Exclusive,
)
})
Name (RBUF, Buffer (0x02)
{
0x79, 0x00 // y.
})
Name (ABUF, Buffer (0x02)
{
0x79, 0x00 // y.
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
If ((OSID == 0x04))
{
Return (ABUF) /* \_SB_.PCI0.GFX0.ABUF */
}
If (((BDID == 0x08) || (BDID == 0x0A)))
{
Return (SBUF) /* \_SB_.PCI0.GFX0.SBUF */
}
Else
{
Return (RBUF) /* \_SB_.PCI0.GFX0.RBUF */
}
}
Name (_S0W, 0x03) // _S0W: S0 Device Wake State
OperationRegion (LPS2, SystemMemory, P11A, 0x0100)
Field (LPS2, DWordAcc, NoLock, WriteAsZeros)
{
Offset (0x10),
BR0P, 32,
Offset (0x84),
PSAT, 32
}
OperationRegion (POP1, SystemMemory, BR0P, 0x0810)
Field (POP1, DWordAcc, NoLock, Preserve)
{
PWMC, 32,
Offset (0x804),
RSTA, 1,
RSTF, 1,
Offset (0x808)
}
OperationRegion (PMCS, PCI_Config, 0xD4, 0x08)
Field (PMCS, DWordAcc, NoLock, Preserve)
{
PSPS, 32
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
Local0 = ^^^MBID.READ (0x04, 0xD5, 0x0F)
Local0 &= 0xFFFFFFFE
^^^MBID.WRIT (0x04, 0xD5, 0x0F, Local0)
Local0 = ^^^MBID.READ (0x04, 0xD5, 0x0F)
If ((OSID != 0x04))
{
If (((L11D != One) && (SOCS >= 0x10)))
{
Local0 = PSAT /* \_SB_.PCI0.GFX0.PSAT */
If (((Local0 & 0x03) == 0x03))
{
PSAT &= 0xFFFFFFFC
Local1 = PSAT /* \_SB_.PCI0.GFX0.PSAT */
RSTA = Zero
RSTF = Zero
RSTA = One
RSTF = One
PWMB |= 0xC0000000
PWMC = PWMB /* \_SB_.PCI0.GFX0.PWMB */
}
}
}
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
Local0 = ^^^MBID.READ (0x04, 0xD5, 0x0F)
Local0 |= One
^^^MBID.WRIT (0x04, 0xD5, 0x0F, Local0)
Local0 = ^^^MBID.READ (0x04, 0xD5, 0x0F)
Notify (\_PR.CPU0, 0xC0) // Hardware-Specific
Notify (\_PR.CPU1, 0xC0) // Hardware-Specific
Notify (\_PR.CPU2, 0xC0) // Hardware-Specific
Notify (\_PR.CPU3, 0xC0) // Hardware-Specific
If ((OSID != 0x04))
{
If (((L11D != One) && (SOCS >= 0x10)))
{
Local2 = PSPS /* \_SB_.PCI0.GFX0.PSPS */
Local2 &= 0x03
If ((Local2 == 0x03))
{
PWMB = PWMC /* \_SB_.PCI0.GFX0.PWMC */
PWMT = PWMC /* \_SB_.PCI0.GFX0.PWMC */
PWMT &= 0xFF0000FF
PWMT |= 0xC0000000
PWMC = PWMT /* \_SB_.PCI0.GFX0.PWMT */
PWMT = PWMC /* \_SB_.PCI0.GFX0.PWMC */
Sleep (0x64)
PWMB &= 0x3FFFFFFF
PWMC = PWMB /* \_SB_.PCI0.GFX0.PWMB */
PSAT |= 0x03
Local0 = PSAT /* \_SB_.PCI0.GFX0.PSAT */
}
}
}
}
Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching
{
DSEN = (Arg0 & 0x07)
}
Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices
{
If ((ISPE == One))
{
NDID = One
}
Else
{
NDID = Zero
}
If ((DIDL != Zero))
{
DID1 = SDDL (DIDL)
}
If ((DDL2 != Zero))
{
DID2 = SDDL (DDL2)
}
If ((DDL3 != Zero))
{
DID3 = SDDL (DDL3)
}
If ((DDL4 != Zero))
{
DID4 = SDDL (DDL4)
}
If ((DDL5 != Zero))
{
DID5 = SDDL (DDL5)
}
If ((NDID == One))
{
Name (TMP1, Package (0x02)
{
0xFFFFFFFF,
0xFFFFFFFF
})
TMP1 [Zero] = (0x00010000 | DID1)
If ((ISPE == One))
{
TMP1 [One] = 0x000222B8
}
Else
{
TMP1 [One] = (0x00010000 | DID2)
}
Return (TMP1) /* \_SB_.PCI0.GFX0._DOD.TMP1 */
}
If ((NDID == 0x02))
{
Name (TMP2, Package (0x03)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
TMP2 [Zero] = (0x00010000 | DID1)
TMP2 [One] = (0x00010000 | DID2)
If ((ISPE == One))
{
TMP2 [0x02] = 0x000222B8
}
Else
{
TMP2 [0x02] = (0x00010000 | DID3)
}
Return (TMP2) /* \_SB_.PCI0.GFX0._DOD.TMP2 */
}
If ((NDID == 0x03))
{
Name (TMP3, Package (0x04)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
TMP3 [Zero] = (0x00010000 | DID1)
TMP3 [One] = (0x00010000 | DID2)
TMP3 [0x02] = (0x00010000 | DID3)
If ((ISPE == One))
{
TMP3 [0x03] = 0x000222B8
}
Else
{
TMP3 [0x03] = (0x00010000 | DID4)
}
Return (TMP3) /* \_SB_.PCI0.GFX0._DOD.TMP3 */
}
If ((NDID == 0x04))
{
Name (TMP4, Package (0x05)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
TMP4 [Zero] = (0x00010000 | DID1)
TMP4 [One] = (0x00010000 | DID2)
TMP4 [0x02] = (0x00010000 | DID3)
TMP4 [0x03] = (0x00010000 | DID4)
If ((ISPE == One))
{
TMP4 [0x04] = 0x000222B8
}
Else
{
TMP4 [0x04] = (0x00010000 | DID5)
}
Return (TMP4) /* \_SB_.PCI0.GFX0._DOD.TMP4 */
}
If ((NDID > 0x04))
{
Name (TMP5, Package (0x06)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
TMP5 [Zero] = (0x00010000 | DID1)
TMP5 [One] = (0x00010000 | DID2)
TMP5 [0x02] = (0x00010000 | DID3)
TMP5 [0x03] = (0x00010000 | DID4)
TMP5 [0x04] = (0x00010000 | DID5)
If ((ISPE == One))
{
TMP5 [0x05] = 0x000222B8
}
Else
{
TMP5 [0x05] = (0x00010000 | DID6)
}
Return (TMP5) /* \_SB_.PCI0.GFX0._DOD.TMP5 */
}
Return (Package (0x02)
{
0x0400,
0x000222B8
})
}
Device (DD01)
{
Method (_ADR, 0, Serialized) // _ADR: Address
{
If ((DID1 == Zero))
{
Return (One)
}
Else
{
Return ((0xFFFF & DID1))
}
}
Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
{
Return (CDDS (DID1))
}
Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
{
Return (NDDS (DID1))
}
Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
{
If (((Arg0 & 0xC0000000) == 0xC0000000))
{
CSTE = NSTE /* \NSTE */
}
}
Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
{
Return (Package (0x48)
{
0x3C,
0x32,
One,
0x02,
0x03,
0x04,
0x05,
0x06,
0x07,
0x08,
0x09,
0x0A,
0x0B,
0x0C,
0x0D,
0x0E,
0x0F,
0x10,
0x11,
0x12,
0x13,
0x14,
0x15,
0x16,
0x17,
0x18,
0x19,
0x1A,
0x1B,
0x1C,
0x1D,
0x1E,
0x1F,
0x20,
0x21,
0x22,
0x23,
0x24,
0x25,
0x26,
0x27,
0x28,
0x29,
0x2A,
0x2B,
0x2C,
0x2D,
0x2E,
0x2F,
0x30,
0x31,
0x32,
0x33,
0x34,
0x35,
0x36,
0x37,
0x38,
0x39,
0x3A,
0x3B,
0x3C,
0x3D,
0x3E,
0x3F,
0x40,
0x41,
0x42,
0x43,
0x44,
0x45,
0x46
})
}
Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
{
If (((Arg0 >= Zero) && (Arg0 <= 0x64)))
{
AINT (One, Arg0)
BRTL = Arg0
}
}
Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
{
Return (BRTL) /* \BRTL */
}
}
Device (DD02)
{
Method (_ADR, 0, Serialized) // _ADR: Address
{
If ((DID2 == Zero))
{
Return (0x02)
}
Else
{
Return ((0xFFFF & DID2))
}
}
Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
{
Return (CDDS (DID2))
}
Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
{
Return (NDDS (DID2))
}
Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
{
If (((Arg0 & 0xC0000000) == 0xC0000000))
{
CSTE = NSTE /* \NSTE */
}
}
Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
{
Return (Package (0x48)
{
0x3C,
0x32,
One,
0x02,
0x03,
0x04,
0x05,
0x06,
0x07,
0x08,
0x09,
0x0A,
0x0B,
0x0C,
0x0D,
0x0E,
0x0F,
0x10,
0x11,
0x12,
0x13,
0x14,
0x15,
0x16,
0x17,
0x18,
0x19,
0x1A,
0x1B,
0x1C,
0x1D,
0x1E,
0x1F,
0x20,
0x21,
0x22,
0x23,
0x24,
0x25,
0x26,
0x27,
0x28,
0x29,
0x2A,
0x2B,
0x2C,
0x2D,
0x2E,
0x2F,
0x30,
0x31,
0x32,
0x33,
0x34,
0x35,
0x36,
0x37,
0x38,
0x39,
0x3A,
0x3B,
0x3C,
0x3D,
0x3E,
0x3F,
0x40,
0x41,
0x42,
0x43,
0x44,
0x45,
0x46
})
}
Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
{
If (((Arg0 >= Zero) && (Arg0 <= 0x64)))
{
AINT (One, Arg0)
BRTL = Arg0
}
}
Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
{
Return (BRTL) /* \BRTL */
}
}
Device (DD03)
{
Method (_ADR, 0, Serialized) // _ADR: Address
{
If ((DID3 == Zero))
{
Return (0x03)
}
Else
{
Return ((0xFFFF & DID3))
}
}
Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
{
If ((DID3 == Zero))
{
Return (0x0B)
}
Else
{
Return (CDDS (DID3))
}
}
Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
{
Return (NDDS (DID3))
}
Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
{
If (((Arg0 & 0xC0000000) == 0xC0000000))
{
CSTE = NSTE /* \NSTE */
}
}
Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
{
Return (Package (0x48)
{
0x3C,
0x32,
One,
0x02,
0x03,
0x04,
0x05,
0x06,
0x07,
0x08,
0x09,
0x0A,
0x0B,
0x0C,
0x0D,
0x0E,
0x0F,
0x10,
0x11,
0x12,
0x13,
0x14,
0x15,
0x16,
0x17,
0x18,
0x19,
0x1A,
0x1B,
0x1C,
0x1D,
0x1E,
0x1F,
0x20,
0x21,
0x22,
0x23,
0x24,
0x25,
0x26,
0x27,
0x28,
0x29,
0x2A,
0x2B,
0x2C,
0x2D,
0x2E,
0x2F,
0x30,
0x31,
0x32,
0x33,
0x34,
0x35,
0x36,
0x37,
0x38,
0x39,
0x3A,
0x3B,
0x3C,
0x3D,
0x3E,
0x3F,
0x40,
0x41,
0x42,
0x43,
0x44,
0x45,
0x46
})
}
Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
{
If (((Arg0 >= Zero) && (Arg0 <= 0x64)))
{
AINT (One, Arg0)
BRTL = Arg0
}
}
Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
{
Return (BRTL) /* \BRTL */
}
}
Device (DD04)
{
Method (_ADR, 0, Serialized) // _ADR: Address
{
If ((DID4 == Zero))
{
Return (0x04)
}
Else
{
Return ((0xFFFF & DID4))
}
}
Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
{
If ((DID4 == Zero))
{
Return (0x0B)
}
Else
{
Return (CDDS (DID4))
}
}
Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
{
Return (NDDS (DID4))
}
Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
{
If (((Arg0 & 0xC0000000) == 0xC0000000))
{
CSTE = NSTE /* \NSTE */
}
}
Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
{
Return (Package (0x48)
{
0x3C,
0x32,
One,
0x02,
0x03,
0x04,
0x05,
0x06,
0x07,
0x08,
0x09,
0x0A,
0x0B,
0x0C,
0x0D,
0x0E,
0x0F,
0x10,
0x11,
0x12,
0x13,
0x14,
0x15,
0x16,
0x17,
0x18,
0x19,
0x1A,
0x1B,
0x1C,
0x1D,
0x1E,
0x1F,
0x20,
0x21,
0x22,
0x23,
0x24,
0x25,
0x26,
0x27,
0x28,
0x29,
0x2A,
0x2B,
0x2C,
0x2D,
0x2E,
0x2F,
0x30,
0x31,
0x32,
0x33,
0x34,
0x35,
0x36,
0x37,
0x38,
0x39,
0x3A,
0x3B,
0x3C,
0x3D,
0x3E,
0x3F,
0x40,
0x41,
0x42,
0x43,
0x44,
0x45,
0x46
})
}
Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
{
If (((Arg0 >= Zero) && (Arg0 <= 0x64)))
{
AINT (One, Arg0)
BRTL = Arg0
}
}
Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
{
Return (BRTL) /* \BRTL */
}
}
Device (DD05)
{
Method (_ADR, 0, Serialized) // _ADR: Address
{
If ((DID5 == Zero))
{
Return (0x05)
}
Else
{
Return ((0xFFFF & DID5))
}
}
Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
{
If ((DID5 == Zero))
{
Return (0x0B)
}
Else
{
Return (CDDS (DID5))
}
}
Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
{
Return (NDDS (DID5))
}
Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
{
If (((Arg0 & 0xC0000000) == 0xC0000000))
{
CSTE = NSTE /* \NSTE */
}
}
Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
{
Return (Package (0x48)
{
0x3C,
0x32,
One,
0x02,
0x03,
0x04,
0x05,
0x06,
0x07,
0x08,
0x09,
0x0A,
0x0B,
0x0C,
0x0D,
0x0E,
0x0F,
0x10,
0x11,
0x12,
0x13,
0x14,
0x15,
0x16,
0x17,
0x18,
0x19,
0x1A,
0x1B,
0x1C,
0x1D,
0x1E,
0x1F,
0x20,
0x21,
0x22,
0x23,
0x24,
0x25,
0x26,
0x27,
0x28,
0x29,
0x2A,
0x2B,
0x2C,
0x2D,
0x2E,
0x2F,
0x30,
0x31,
0x32,
0x33,
0x34,
0x35,
0x36,
0x37,
0x38,
0x39,
0x3A,
0x3B,
0x3C,
0x3D,
0x3E,
0x3F,
0x40,
0x41,
0x42,
0x43,
0x44,
0x45,
0x46
})
}
Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
{
If (((Arg0 >= Zero) && (Arg0 <= 0x64)))
{
AINT (One, Arg0)
BRTL = Arg0
}
}
Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
{
Return (BRTL) /* \BRTL */
}
}
Device (DD06)
{
Method (_ADR, 0, Serialized) // _ADR: Address
{
If ((DID6 == Zero))
{
Return (0x06)
}
Else
{
Return ((0xFFFF & DID6))
}
}
Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
{
If ((DID6 == Zero))
{
Return (0x0B)
}
Else
{
Return (CDDS (DID6))
}
}
Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
{
Return (NDDS (DID6))
}
Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
{
If (((Arg0 & 0xC0000000) == 0xC0000000))
{
CSTE = NSTE /* \NSTE */
}
}
Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
{
Return (Package (0x48)
{
0x3C,
0x32,
One,
0x02,
0x03,
0x04,
0x05,
0x06,
0x07,
0x08,
0x09,
0x0A,
0x0B,
0x0C,
0x0D,
0x0E,
0x0F,
0x10,
0x11,
0x12,
0x13,
0x14,
0x15,
0x16,
0x17,
0x18,
0x19,
0x1A,
0x1B,
0x1C,
0x1D,
0x1E,
0x1F,
0x20,
0x21,
0x22,
0x23,
0x24,
0x25,
0x26,
0x27,
0x28,
0x29,
0x2A,
0x2B,
0x2C,
0x2D,
0x2E,
0x2F,
0x30,
0x31,
0x32,
0x33,
0x34,
0x35,
0x36,
0x37,
0x38,
0x39,
0x3A,
0x3B,
0x3C,
0x3D,
0x3E,
0x3F,
0x40,
0x41,
0x42,
0x43,
0x44,
0x45,
0x46
})
}
Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
{
If (((Arg0 >= Zero) && (Arg0 <= 0x64)))
{
AINT (One, Arg0)
BRTL = Arg0
}
}
Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
{
Return (BRTL) /* \BRTL */
}
}
Device (DD07)
{
Method (_ADR, 0, Serialized) // _ADR: Address
{
If ((DID7 == Zero))
{
Return (0x07)
}
Else
{
Return ((0xFFFF & DID7))
}
}
Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
{
If ((DID7 == Zero))
{
Return (0x0B)
}
Else
{
Return (CDDS (DID7))
}
}
Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
{
Return (NDDS (DID7))
}
Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
{
If (((Arg0 & 0xC0000000) == 0xC0000000))
{
CSTE = NSTE /* \NSTE */
}
}
Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
{
Return (Package (0x48)
{
0x3C,
0x32,
One,
0x02,
0x03,
0x04,
0x05,
0x06,
0x07,
0x08,
0x09,
0x0A,
0x0B,
0x0C,
0x0D,
0x0E,
0x0F,
0x10,
0x11,
0x12,
0x13,
0x14,
0x15,
0x16,
0x17,
0x18,
0x19,
0x1A,
0x1B,
0x1C,
0x1D,
0x1E,
0x1F,
0x20,
0x21,
0x22,
0x23,
0x24,
0x25,
0x26,
0x27,
0x28,
0x29,
0x2A,
0x2B,
0x2C,
0x2D,
0x2E,
0x2F,
0x30,
0x31,
0x32,
0x33,
0x34,
0x35,
0x36,
0x37,
0x38,
0x39,
0x3A,
0x3B,
0x3C,
0x3D,
0x3E,
0x3F,
0x40,
0x41,
0x42,
0x43,
0x44,
0x45,
0x46
})
}
Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
{
If (((Arg0 >= Zero) && (Arg0 <= 0x64)))
{
AINT (One, Arg0)
BRTL = Arg0
}
}
Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
{
Return (BRTL) /* \BRTL */
}
}
Device (DD08)
{
Method (_ADR, 0, Serialized) // _ADR: Address
{
If ((DID8 == Zero))
{
Return (0x08)
}
Else
{
Return ((0xFFFF & DID8))
}
}
Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
{
If ((DID8 == Zero))
{
Return (0x0B)
}
Else
{
Return (CDDS (DID8))
}
}
Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
{
Return (NDDS (DID8))
}
Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
{
If (((Arg0 & 0xC0000000) == 0xC0000000))
{
CSTE = NSTE /* \NSTE */
}
}
Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
{
Return (Package (0x48)
{
0x3C,
0x32,
One,
0x02,
0x03,
0x04,
0x05,
0x06,
0x07,
0x08,
0x09,
0x0A,
0x0B,
0x0C,
0x0D,
0x0E,
0x0F,
0x10,
0x11,
0x12,
0x13,
0x14,
0x15,
0x16,
0x17,
0x18,
0x19,
0x1A,
0x1B,
0x1C,
0x1D,
0x1E,
0x1F,
0x20,
0x21,
0x22,
0x23,
0x24,
0x25,
0x26,
0x27,
0x28,
0x29,
0x2A,
0x2B,
0x2C,
0x2D,
0x2E,
0x2F,
0x30,
0x31,
0x32,
0x33,
0x34,
0x35,
0x36,
0x37,
0x38,
0x39,
0x3A,
0x3B,
0x3C,
0x3D,
0x3E,
0x3F,
0x40,
0x41,
0x42,
0x43,
0x44,
0x45,
0x46
})
}
Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
{
If (((Arg0 >= Zero) && (Arg0 <= 0x64)))
{
AINT (One, Arg0)
BRTL = Arg0
}
}
Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
{
Return (BRTL) /* \BRTL */
}
}
Method (SDDL, 1, NotSerialized)
{
NDID++
Local0 = (Arg0 & 0x0F0F)
Local1 = (0x80000000 | Local0)
If ((DIDL == Local0))
{
Return (Local1)
}
If ((DDL2 == Local0))
{
Return (Local1)
}
If ((DDL3 == Local0))
{
Return (Local1)
}
If ((DDL4 == Local0))
{
Return (Local1)
}
If ((DDL5 == Local0))
{
Return (Local1)
}
If ((DDL6 == Local0))
{
Return (Local1)
}
If ((DDL7 == Local0))
{
Return (Local1)
}
If ((DDL8 == Local0))
{
Return (Local1)
}
Return (Zero)
}
Method (CDDS, 1, NotSerialized)
{
Local0 = (Arg0 & 0x0F0F)
If ((Zero == Local0))
{
Return (0x1D)
}
If ((CADL == Local0))
{
Return (0x1F)
}
If ((CAL2 == Local0))
{
Return (0x1F)
}
If ((CAL3 == Local0))
{
Return (0x1F)
}
If ((CAL4 == Local0))
{
Return (0x1F)
}
If ((CAL5 == Local0))
{
Return (0x1F)
}
If ((CAL6 == Local0))
{
Return (0x1F)
}
If ((CAL7 == Local0))
{
Return (0x1F)
}
If ((CAL8 == Local0))
{
Return (0x1F)
}
Return (0x1D)
}
Method (NDDS, 1, NotSerialized)
{
Local0 = (Arg0 & 0x0F0F)
If ((Zero == Local0))
{
Return (Zero)
}
If ((NADL == Local0))
{
Return (One)
}
If ((NDL2 == Local0))
{
Return (One)
}
If ((NDL3 == Local0))
{
Return (One)
}
If ((NDL4 == Local0))
{
Return (One)
}
If ((NDL5 == Local0))
{
Return (One)
}
If ((NDL6 == Local0))
{
Return (One)
}
If ((NDL7 == Local0))
{
Return (One)
}
If ((NDL8 == Local0))
{
Return (One)
}
Return (Zero)
}
OperationRegion (IGDP, PCI_Config, Zero, 0x0100)
Field (IGDP, AnyAcc, NoLock, Preserve)
{
Offset (0x10),
MADR, 32,
Offset (0x50),
, 1,
GIVD, 1,
, 1,
GUMA, 5,
Offset (0x52),
Offset (0x54),
, 4,
GMFN, 1,
Offset (0x58),
Offset (0x5C),
GSTM, 32,
Offset (0xE0),
GSSE, 1,
GSSB, 14,
GSES, 1,
Offset (0xE4),
ASLE, 8,
Offset (0xE8),
Offset (0xFC),
ASLS, 32
}
OperationRegion (IGMM, SystemMemory, MADR, 0x3000)
Field (IGMM, AnyAcc, NoLock, Preserve)
{
Offset (0x20C8),
, 4,
DCFE, 4
}
OperationRegion (IGDM, SystemMemory, ASLB, 0x2000)
Field (IGDM, AnyAcc, NoLock, Preserve)
{
SIGN, 128,
SIZE, 32,
OVER, 32,
SVER, 256,
VVER, 128,
GVER, 128,
MBOX, 32,
DMOD, 32,
Offset (0x100),
DRDY, 32,
CSTS, 32,
CEVT, 32,
Offset (0x120),
DIDL, 32,
DDL2, 32,
DDL3, 32,
DDL4, 32,
DDL5, 32,
DDL6, 32,
DDL7, 32,
DDL8, 32,
CPDL, 32,
CPL2, 32,
CPL3, 32,
CPL4, 32,
CPL5, 32,
CPL6, 32,
CPL7, 32,
CPL8, 32,
CAD1, 32,
CAL2, 32,
CAL3, 32,
CAL4, 32,
CAL5, 32,
CAL6, 32,
CAL7, 32,
CAL8, 32,
NADL, 32,
NDL2, 32,
NDL3, 32,
NDL4, 32,
NDL5, 32,
NDL6, 32,
NDL7, 32,
NDL8, 32,
ASLP, 32,
TIDX, 32,
CHPD, 32,
CLID, 32,
CDCK, 32,
SXSW, 32,
EVTS, 32,
CNOT, 32,
NRDY, 32,
Offset (0x200),
SCIE, 1,
GEFC, 4,
GXFC, 3,
GESF, 8,
Offset (0x204),
PARM, 32,
DSLP, 32,
Offset (0x300),
ARDY, 32,
ASLC, 32,
TCHE, 32,
ALSI, 32,
BCLP, 32,
PFIT, 32,
CBLV, 32,
BCLM, 320,
CPFM, 32,
EPFM, 32,
PLUT, 592,
PFMB, 32,
CCDV, 32,
PCFT, 32,
Offset (0x400),
GVD1, 49152,
PHED, 32,
BDDC, 2048
}
Name (DBTB, Package (0x15)
{
Zero,
0x07,
0x38,
0x01C0,
0x0E00,
0x3F,
0x01C7,
0x0E07,
0x01F8,
0x0E38,
0x0FC0,
Zero,
Zero,
Zero,
Zero,
Zero,
0x7000,
0x7007,
0x7038,
0x71C0,
0x7E00
})
Name (CDCT, Package (0x06)
{
Package (0x01)
{
0xA0
},
Package (0x01)
{
0xC8
},
Package (0x01)
{
0x010B
},
Package (0x01)
{
0x0140
},
Package (0x01)
{
0x0164
},
Package (0x01)
{
0x0190
}
})
Name (SUCC, One)
Name (NVLD, 0x02)
Name (CRIT, 0x04)
Name (NCRT, 0x06)
Method (GSCI, 0, Serialized)
{
Method (GBDA, 0, Serialized)
{
If ((GESF == Zero))
{
PARM = 0x0279
GESF = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
If ((GESF == One))
{
PARM = 0x0240
GESF = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
If ((GESF == 0x04))
{
PARM &= 0xEFFF0000
PARM &= (DerefOf (DBTB [IBTT]) << 0x10)
PARM |= IBTT /* \_SB_.PCI0.GFX0.PARM */
GESF = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
If ((GESF == 0x05))
{
PARM = IPSC /* \IPSC */
PARM |= (IPAT << 0x08)
PARM += 0x0100
PARM |= (LIDS << 0x10)
PARM += 0x00010000
PARM |= (IBLC << 0x12)
PARM |= (IBIA << 0x14)
GESF = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
If ((GESF == 0x06))
{
PARM = ITVF /* \ITVF */
PARM |= (ITVM << 0x04)
GESF = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
If ((GESF == 0x07))
{
PARM = GIVD /* \_SB_.PCI0.GFX0.GIVD */
PARM ^= One
PARM |= (GMFN << One)
PARM |= 0x1800
PARM |= (IDMS << 0x11)
PARM |= (DerefOf (CDCT [DCFE]) << 0x15) /* \_SB_.PCI0.GFX0.PARM */
GESF = One
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
If ((GESF == 0x0A))
{
PARM = Zero
If (ISSC)
{
PARM |= 0x03
}
GESF = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
GESF = Zero
Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */
}
Method (SBCB, 0, Serialized)
{
If ((GESF == Zero))
{
PARM = Zero
If ((PFLV == FMBL))
{
PARM = 0x000F87FD
}
If ((PFLV == FDTP))
{
PARM = 0x000F87BD
}
GESF = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
If ((GESF == One))
{
GESF = Zero
PARM = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
If ((GESF == 0x03))
{
GESF = Zero
PARM = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
If ((GESF == 0x04))
{
GESF = Zero
PARM = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
If ((GESF == 0x05))
{
GESF = Zero
PARM = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
If ((GESF == 0x06))
{
ITVF = (PARM & 0x0F)
ITVM = ((PARM & 0xF0) >> 0x04)
GESF = Zero
PARM = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
If ((GESF == 0x07))
{
If ((PARM == Zero))
{
Local0 = CLID /* \_SB_.PCI0.GFX0.CLID */
If ((0x80000000 & Local0))
{
CLID &= 0x0F
GLID (CLID)
}
}
GESF = Zero
PARM = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
If ((GESF == 0x08))
{
GESF = Zero
PARM = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
If ((GESF == 0x09))
{
IBTT = (PARM & 0xFF)
GESF = Zero
PARM = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
If ((GESF == 0x0A))
{
IPSC = (PARM & 0xFF)
If (((PARM >> 0x08) & 0xFF))
{
IPAT = ((PARM >> 0x08) & 0xFF)
IPAT--
}
IBLC = ((PARM >> 0x12) & 0x03)
IBIA = ((PARM >> 0x14) & 0x07)
GESF = Zero
PARM = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
If ((GESF == 0x0B))
{
IF1E = ((PARM >> One) & One)
IDMS = ((PARM >> 0x11) & 0x0F)
GESF = Zero
PARM = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
If ((GESF == 0x10))
{
GESF = Zero
PARM = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
If ((GESF == 0x11))
{
PARM = (LIDS << 0x08)
PARM += 0x0100
GESF = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
If ((GESF == 0x12))
{
If ((PARM & One))
{
If (((PARM >> One) == One))
{
ISSC = One
}
Else
{
GESF = Zero
Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */
}
}
Else
{
ISSC = Zero
}
GESF = Zero
PARM = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
If ((GESF == 0x13))
{
GESF = Zero
PARM = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
If ((GESF == 0x14))
{
PAVP = (PARM & 0x0F)
GESF = Zero
PARM = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
GESF = Zero
Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
}
If ((GEFC == 0x04))
{
GXFC = GBDA ()
}
If ((GEFC == 0x06))
{
GXFC = SBCB ()
}
GEFC = Zero
SCIS = One
GSSE = Zero
SCIE = Zero
Return (Zero)
}
Method (PDRD, 0, NotSerialized)
{
If (!DRDY)
{
Sleep (ASLP)
}
Return (!DRDY)
}
Method (PSTS, 0, NotSerialized)
{
If ((CSTS > 0x02))
{
Sleep (ASLP)
}
Return ((CSTS == 0x03))
}
Method (GNOT, 2, NotSerialized)
{
If (PDRD ())
{
Return (One)
}
CEVT = Arg0
CSTS = 0x03
If (((CHPD == Zero) && (Arg1 == Zero)))
{
If (((OSYS > 0x07D0) || (OSYS < 0x07D6)))
{
Notify (PCI0, Arg1)
}
Else
{
Notify (GFX0, Arg1)
}
}
Notify (GFX0, 0x80) // Status Change
Return (Zero)
}
Method (GHDS, 1, NotSerialized)
{
TIDX = Arg0
Return (GNOT (One, Zero))
}
Method (GLID, 1, NotSerialized)
{
CLID = Arg0
Return (GNOT (0x02, Zero))
}
Method (GDCK, 1, NotSerialized)
{
CDCK = Arg0
Return (GNOT (0x04, Zero))
}
Method (PARD, 0, NotSerialized)
{
If (!ARDY)
{
Sleep (ASLP)
}
Return (!ARDY)
}
Method (AINT, 2, NotSerialized)
{
If (!(TCHE & (One << Arg0)))
{
Return (One)
}
If (PARD ())
{
Return (One)
}
If ((Arg0 == 0x02))
{
If (CPFM)
{
Local0 = (CPFM & 0x0F)
Local1 = (EPFM & 0x0F)
If ((Local0 == One))
{
If ((Local1 & 0x06))
{
PFIT = 0x06
}
ElseIf ((Local1 & 0x08))
{
PFIT = 0x08
}
Else
{
PFIT = One
}
}
If ((Local0 == 0x06))
{
If ((Local1 & 0x08))
{
PFIT = 0x08
}
ElseIf ((Local1 & One))
{
PFIT = One
}
Else
{
PFIT = 0x06
}
}
If ((Local0 == 0x08))
{
If ((Local1 & One))
{
PFIT = One
}
ElseIf ((Local1 & 0x06))
{
PFIT = 0x06
}
Else
{
PFIT = 0x08
}
}
}
Else
{
PFIT ^= 0x07
}
PFIT |= 0x80000000
ASLC = 0x04
}
ElseIf ((Arg0 == One))
{
BCLP = ((Arg1 * 0xFF) / 0x64)
BCLP |= 0x80000000
ASLC = 0x02
}
ElseIf ((Arg0 == Zero))
{
ALSI = Arg1
ASLC = One
}
Else
{
Return (One)
}
ASLE = One
Return (Zero)
}
Method (SCIP, 0, NotSerialized)
{
If ((OVER != Zero))
{
Return (!GSMI)
}
Return (Zero)
}
Device (ISP0)
{
Name (_ADR, 0x22B8) // _ADR: Address
Name (_DDN, "CHV ISP - 808622B8") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((ISPA != Zero) && (ISPD == One)))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Name (SBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00400000, // Address Length
_Y39)
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (SBUF, \_SB.PCI0.GFX0.ISP0._Y39._BAS, B0BA) // _BAS: Base Address
B0BA = ISPA /* \ISPA */
Return (SBUF) /* \_SB_.PCI0.GFX0.ISP0.SBUF */
}
Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
{
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
}
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If ((Arg0 == One))
{
Return (One)
}
ElseIf ((Arg0 == 0x02))
{
Return (0x02)
}
Else
{
Return (0x0F)
}
}
}
}
Device (HIDD)
{
Name (_HID, "INT33D5") // _HID: Hardware ID
Name (_CID, "INT33D5") // _CID: Compatible ID
Name (HBSY, Zero)
Name (HIDX, Zero)
Name (HMDE, Zero)
Name (HRDY, Zero)
Method (_STA, 0, Serialized) // _STA: Status
{
Return (Zero)
}
Method (HDDM, 0, Serialized)
{
Name (DPKG, Package (0x04)
{
0x11111111,
0x22222222,
0x33333333,
0x44444444
})
Return (DPKG) /* \_SB_.PCI0.HIDD.HDDM.DPKG */
}
Method (HDEM, 0, Serialized)
{
HBSY = Zero
If ((HMDE == Zero))
{
Return (HIDX) /* \_SB_.PCI0.HIDD.HIDX */
}
Return (HMDE) /* \_SB_.PCI0.HIDD.HMDE */
}
Method (HDMM, 0, Serialized)
{
Return (HMDE) /* \_SB_.PCI0.HIDD.HMDE */
}
Method (HDSM, 1, Serialized)
{
HRDY = Arg0
}
Method (HPEM, 1, Serialized)
{
HBSY = One
If ((HMDE == Zero))
{
HIDX = Arg0
}
Else
{
HIDX = Arg0
}
Notify (HIDD, 0xC0) // Hardware-Specific
Local0 = Zero
While (((Local0 < 0xFA) && HBSY))
{
Sleep (0x04)
Local0++
}
If ((HBSY == One))
{
HBSY = Zero
HIDX = Zero
Return (One)
}
Else
{
Return (Zero)
}
}
}
Scope (PISH)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("1730e71d-e5dd-4a34-be57-4d76b6a2fe37")))
{
If ((Arg2 == Zero))
{
If ((Arg1 == Zero))
{
Return (Buffer (One)
{
0x03 // .
})
}
Else
{
Return (Zero)
}
}
If ((Arg2 == One))
{
Switch (DerefOf (Arg3 [Zero]))
{
Case (Zero)
{
^^HIDD.HPEM (0x1B)
}
Case (One)
{
}
Case (0x02)
{
}
Case (0x03)
{
}
}
Return (Zero)
}
Else
{
Return (Zero)
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
}
Scope (_PR)
{
Processor (CPU0, 0x01, 0x00000000, 0x00){}
Processor (CPU1, 0x02, 0x00000000, 0x00){}
Processor (CPU2, 0x03, 0x00000000, 0x00){}
Processor (CPU3, 0x04, 0x00000000, 0x00){}
}
Name (PICM, Zero)
Mutex (MUTX, 0x00)
OperationRegion (PRT0, SystemIO, 0x80, 0x04)
Field (PRT0, DWordAcc, Lock, Preserve)
{
P80H, 32
}
Method (P8XH, 2, Serialized)
{
If ((Arg0 == Zero))
{
P80D = ((P80D & 0xFFFFFF00) | Arg1)
}
If ((Arg0 == One))
{
P80D = ((P80D & 0xFFFF00FF) | (Arg1 << 0x08))
}
If ((Arg0 == 0x02))
{
P80D = ((P80D & 0xFF00FFFF) | (Arg1 << 0x10))
}
If ((Arg0 == 0x03))
{
P80D = ((P80D & 0x00FFFFFF) | (Arg1 << 0x18))
}
P80H = P80D /* \P80D */
}
OperationRegion (GPB2, SystemMemory, 0xFED94848, 0x04)
Field (GPB2, DWordAcc, NoLock, Preserve)
{
PVAL, 8,
Offset (0x04)
}
OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
Field (SPRT, ByteAcc, Lock, Preserve)
{
SSMP, 8
}
Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
{
GPIC = Arg0
PICM = Arg0
}
OperationRegion (SWC0, SystemIO, 0x0610, 0x0F)
Field (SWC0, ByteAcc, NoLock, Preserve)
{
G1S, 8,
Offset (0x04),
G1E, 8,
Offset (0x0A),
G1S2, 8,
G1S3, 8
}
OperationRegion (SWC1, SystemIO, PMBS, 0x2C)
Field (SWC1, DWordAcc, NoLock, Preserve)
{
Offset (0x20),
G0S, 32,
Offset (0x28),
G0EN, 32
}
Method (PPTS, 1, NotSerialized)
{
P80D = Zero
P8XH (Zero, Arg0)
G1S3 = Ones
G1S2 = Ones
G1S = One
G1E = One
G0S = Ones
If (((Arg0 == 0x04) || (Arg0 == 0x05)))
{
OperationRegion (MODS, SystemMemory, 0xFED8C428, 0x08)
Field (MODS, DWordAcc, NoLock, Preserve)
{
MDPF, 32
}
G0EN = Zero
PWBS = One
PM1S = One
MDPF = 0x00908100
Sleep (0x012C)
MDPF = 0x00908102
Sleep (0x32)
}
If (CondRefOf (TCGM))
{
\_SB.PCI0.LPCB.TPM.PTS (Arg0)
}
}
Method (PWAK, 1, Serialized)
{
P8XH (One, 0xAB)
If (NEXP)
{
If ((OSCC & 0x02))
{
\_SB.PCI0.NHPG ()
}
If ((OSCC & 0x04))
{
\_SB.PCI0.NPME ()
}
}
If (((Arg0 == 0x03) || (Arg0 == 0x04)))
{
If ((PFLV == FMBL))
{
If ((Arg0 == 0x04))
{
PNOT ()
}
}
If ((CFGD & 0x01000000)){}
If ((OSYS == 0x07D2))
{
If ((CFGD & One))
{
If ((\_PR.CPU0._PPC > Zero))
{
\_PR.CPU0._PPC -= One
PNOT ()
\_PR.CPU0._PPC += One
PNOT ()
}
Else
{
\_PR.CPU0._PPC += One
PNOT ()
\_PR.CPU0._PPC -= One
PNOT ()
}
}
}
}
}
Method (PNOT, 0, Serialized)
{
If (MPEN)
{
If ((PDC0 & 0x08))
{
Notify (\_PR.CPU0, 0x80) // Performance Capability Change
If ((PDC0 & 0x10))
{
Sleep (0x64)
Notify (\_PR.CPU0, 0x81) // C-State Change
}
}
If ((PDC1 & 0x08))
{
Notify (\_PR.CPU1, 0x80) // Performance Capability Change
If ((PDC1 & 0x10))
{
Sleep (0x64)
Notify (\_PR.CPU1, 0x81) // C-State Change
}
}
If ((PDC2 & 0x08))
{
Notify (\_PR.CPU2, 0x80) // Performance Capability Change
If ((PDC2 & 0x10))
{
Sleep (0x64)
Notify (\_PR.CPU2, 0x81) // C-State Change
}
}
If ((PDC3 & 0x08))
{
Notify (\_PR.CPU3, 0x80) // Performance Capability Change
If ((PDC3 & 0x10))
{
Sleep (0x64)
Notify (\_PR.CPU3, 0x81) // C-State Change
}
}
}
Else
{
Notify (\_PR.CPU0, 0x80) // Performance Capability Change
Sleep (0x64)
Notify (\_PR.CPU0, 0x81) // C-State Change
}
}
Scope (_SB)
{
Name (CRTT, 0x6E)
Name (ACTT, 0x55)
Name (SCR0, 0x0102)
Name (SCR1, 0x0102)
Name (SCR2, 0x0102)
Name (SCR3, 0x0102)
Name (GCR0, 0x46)
Name (GCR1, 0x46)
Name (GCR2, 0x46)
Name (GCR3, 0x46)
Name (GCR4, 0x46)
Name (PST0, 0x3C)
Name (PST1, 0x3C)
Name (PST2, 0x3C)
Name (PST3, 0x3C)
Name (PST4, 0x3C)
Name (WCR0, 0x4B)
Name (WPPT, 0x28)
Name (LPMV, 0x03)
Name (PDBG, Zero)
Name (PDPM, One)
Name (PDBP, One)
Name (DLPO, Package (0x06)
{
One,
One,
One,
0x19,
One,
One
})
Name (BRQD, Zero)
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
CRTT = DPCT /* \DPCT */
ACTT = DPPT /* \DPPT */
GCR0 = DGC0 /* \DGC0 */
GCR1 = DGC1 /* \DGC1 */
GCR2 = DGC2 /* \DGC2 */
GCR3 = DGC3 /* \DGC3 */
GCR4 = DGC4 /* \DGC4 */
PST0 = DGP0 /* \DGP0 */
PST1 = DGP1 /* \DGP1 */
PST2 = DGP2 /* \DGP2 */
PST3 = DGP3 /* \DGP3 */
PST4 = DGP4 /* \DGP4 */
SCR0 = DSC0 /* \DSC0 */
SCR1 = DSC1 /* \DSC1 */
SCR2 = DSC2 /* \DSC2 */
SCR3 = DSC3 /* \DSC3 */
WCR0 = WWCR /* \WWCR */
WPPT = WWPS /* \WWPS */
LPMV = DLPM /* \DLPM */
PDBG = DDBG /* \DDBG */
DLPO [One] = LPOE /* \LPOE */
DLPO [0x02] = LPPS /* \LPPS */
DLPO [0x03] = LPST /* \LPST */
DLPO [0x04] = LPPC /* \LPPC */
DLPO [0x05] = LPPF /* \LPPF */
PDPM = DPME /* \DPME */
}
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID
}
Scope (PCI0)
{
OperationRegion (XHBA, SystemMemory, 0xE00A0000, 0x40)
Field (XHBA, DWordAcc, NoLock, Preserve)
{
Offset (0x10),
BR0X, 32
}
OperationRegion (XOP1, SystemMemory, BR0X, 0x80F8)
Field (XOP1, DWordAcc, NoLock, Preserve)
{
Offset (0x80D4),
, 11,
BT11, 1,
, 8,
BT20, 1,
BT21, 1,
Offset (0x80D7),
BT24, 1
}
Method (CDRH, 1, Serialized)
{
If ((DAMT == Zero))
{
BT20 = Zero
If ((Arg0 == Zero))
{
BT24 = Zero
}
Else
{
BT24 = One
}
BT11 = One
BT21 = One
}
Else
{
Local1 = (^^MBID.RMBX (0x5A, 0x04, 0x04, Zero, 0x14, Zero) | 0x02)
^^MBID.WMBX (0x5A, 0x04, Local1, 0x05, Zero, 0x14, Zero)
Local0 = ^^MBID.RMBX (0x5A, 0x80D8, Zero, Zero, Zero, Zero)
ADBG ("Value@offset: 0x80d8, Before Write @HostMode")
ADBG (Local0)
Local0 &= 0xFFEFFFFF
Local0 |= 0x00200800
If ((Arg0 == One))
{
Local0 |= 0x01000000
}
Else
{
Local0 &= 0xFEFFFFFF
}
Local1 = (^^MBID.RMBX (0x5A, 0x04, 0x04, Zero, 0x14, Zero) | 0x02)
^^MBID.WMBX (0x5A, 0x04, Local1, 0x05, Zero, 0x14, Zero)
^^MBID.WMBX (0x5A, 0x80D8, Local0, One, Zero, Zero, Zero)
}
}
Method (CDRD, 1, Serialized)
{
If ((DAMT == Zero))
{
BT11 = One
BT20 = One
BT21 = One
If ((Arg0 == Zero))
{
BT24 = Zero
}
Else
{
BT24 = One
}
}
Else
{
Local1 = (^^MBID.RMBX (0x5A, 0x04, 0x04, Zero, 0x14, Zero) | 0x02)
^^MBID.WMBX (0x5A, 0x04, Local1, 0x05, Zero, 0x14, Zero)
Local0 = ^^MBID.RMBX (0x5A, 0x80D8, Zero, Zero, Zero, Zero)
ADBG ("Value@offset: 0x80d8, Before Write@devicemode")
ADBG (Local0)
Local0 |= 0x00300800
If ((Arg0 == One))
{
Local0 |= 0x01000000
}
Else
{
Local0 &= 0xFEFFFFFF
}
Local1 = (^^MBID.RMBX (0x5A, 0x04, 0x04, Zero, 0x14, Zero) | 0x02)
^^MBID.WMBX (0x5A, 0x04, Local1, 0x05, Zero, 0x14, Zero)
^^MBID.WMBX (0x5A, 0x80D8, Local0, One, Zero, Zero, Zero)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
OSYS = 0x07D0
If (CondRefOf (\_OSI, Local0))
{
If (_OSI ("Windows 2001"))
{
OSYS = 0x07D1
}
If (_OSI ("Windows 2001 SP1"))
{
OSYS = 0x07D1
}
If (_OSI ("Windows 2001 SP2"))
{
OSYS = 0x07D2
}
If (_OSI ("Windows 2006"))
{
OSYS = 0x07D6
}
If (_OSI ("Windows 2009"))
{
OSYS = 0x07D9
}
If (_OSI ("Windows 2012"))
{
OSYS = 0x07DC
}
If (_OSI ("Windows 2013"))
{
OSYS = 0x07DD
}
If (_OSI ("Windows 2015"))
{
OSYS = 0x07DF
}
}
}
Method (NHPG, 0, Serialized)
{
}
Method (NPME, 0, Serialized)
{
}
}
Device (GPED)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "INT0002" /* Virtual GPIO Controller */) // _HID: Hardware ID
Name (_CID, "INT0002" /* Virtual GPIO Controller */) // _CID: Compatible ID
Name (_DDN, "Virtual GPIO controller") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (INST, One)
Name (XTMP, Zero)
OperationRegion (SCIS, SystemMemory, 0xFED030C0, 0x04)
Field (SCIS, DWordAcc, NoLock, Preserve)
{
, 1,
LHAD, 1,
LATA, 1,
LDIO, 1,
LARD, 1,
LIO1, 1,
LCEP, 1,
LANB, 1,
LHCI, 1,
LOTG, 1,
LECI, 1,
LHSI, 1
}
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("8b38b469-6f95-4b08-9b02-2defcc2d2c35")))
{
If ((Arg2 == Zero))
{
If ((Arg1 == One))
{
Return (Buffer (One)
{
0x03 // .
})
}
}
If ((Arg2 == One))
{
Return ((PMBS + 0x20))
}
Return (Zero)
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
{
0x00000009,
}
})
Return (RBUF) /* \_SB_.GPED._CRS.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((SOCS <= 0x04))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Method (_AEI, 0, NotSerialized) // _AEI: ACPI Event Interrupts
{
Name (RBUF, ResourceTemplate ()
{
GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullDown, 0x0000,
"\\_SB.GPED", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0002
}
})
Return (RBUF) /* \_SB_.GPED._AEI.RBUF */
}
Method (_L02, 0, NotSerialized) // _Lxx: Level-Triggered GPE
{
If ((XHCI == Zero)){}
ElseIf ((^^PCI0.XHC1.PMES == One))
{
^^PCI0.XHC1.PMES = One
Notify (^^PCI0.XHC1, 0x02) // Device Wake
}
If ((OTGM != Zero))
{
If ((^^PCI0.OTG1.PMES == One))
{
ADBG ("OTG wake")
^^PCI0.OTG1.PMEE = Zero
^^PCI0.OTG1.CPME = Zero
^^PCI0.OTG1.U2EN = Zero
^^PCI0.OTG1.U3EN = Zero
Notify (^^PCI0.OTG1, 0x02) // Device Wake
}
}
If ((^^PCI0.SEC0.PMES == One))
{
^^PCI0.SEC0.PMEE = Zero
Local0 = ^^PCI0.SEC0.PMEE /* \_SB_.PCI0.SEC0.PMEE */
Notify (^^PCI0.SEC0, 0x02) // Device Wake
}
}
}
Device (GPO0)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "INT33FF") // _HID: Hardware ID
Name (_CID, "INT33FF") // _CID: Compatible ID
Name (_DDN, "General Purpose Input/Output (GPIO) controller - SOUTHWEST") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFED80000, // Address Base
0x00008000, // Address Length
)
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x00000031,
}
})
Return (RBUF) /* \_SB_.GPO0._CRS.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
OperationRegion (XCFG, SystemMemory, 0xE00A0000, 0x40)
Field (XCFG, DWordAcc, NoLock, Preserve)
{
Offset (0x10),
XBAD, 32
}
OperationRegion (BADR, SystemMemory, XBAD, 0x04E0)
Field (BADR, DWordAcc, NoLock, Preserve)
{
Offset (0x4CC),
STTD, 32
}
Method (_E4E, 0, NotSerialized) // _Exx: Edge-Triggered GPE
{
Sleep (0x03)
STTD &= 0xFFFFFDEE
Sleep (One)
STTD |= 0x0211
Sleep (0x60)
}
Name (AVBL, Zero)
Name (AMMR, Zero)
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If ((Arg0 == 0x08))
{
AVBL = Arg1
}
ElseIf ((Arg0 == 0x91))
{
AMMR = Arg1
}
}
OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0C)
Field (GPOP, ByteAcc, NoLock, Preserve)
{
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0035
}
),
BTD3, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x003A
}
),
SUSB, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x003B
}
),
SHD3, 1
}
OperationRegion (GMMR, 0x91, Zero, 0x8000)
Field (GMMR, DWordAcc, NoLock, Preserve)
{
Offset (0x5420),
Offset (0x5421),
I4AF, 3,
, 4,
I4AE, 1,
, 4,
I4AD, 4,
Offset (0x5438),
Offset (0x5439),
I4CF, 3,
, 4,
I4CE, 1,
, 4,
I4CD, 4
}
}
Device (GPO1)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "INT33FF") // _HID: Hardware ID
Name (_CID, "INT33FF") // _CID: Compatible ID
Name (_DDN, "General Purpose Input/Output (GPIO) controller - NORTH") // _DDN: DOS Device Name
Name (_UID, 0x02) // _UID: Unique ID
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
MBID
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFED88000, // Address Base
0x00008000, // Address Length
)
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x00000030,
}
})
Return (RBUF) /* \_SB_.GPO1._CRS.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
Name (BUFF, Buffer (0x03){})
CreateByteField (BUFF, Zero, STAT)
CreateByteField (BUFF, 0x02, DATA)
Name (CHTY, Zero)
Method (FICH, 0, NotSerialized)
{
ADBG ("FICH")
If ((^^PCI0.I2C3.AVBL == One))
{
BUFF = ^^PCI0.I2C3.RG08 /* \_SB_.PCI0.I2C3.RG08 */
DATA >>= 0x06
DATA &= 0x03
CHTY = DATA /* \_SB_.GPO1.DATA */
}
}
Method (OTCF, 1, NotSerialized)
{
If ((^^PCI0.I2C3.AVBL == One))
{
BUFF = ^^PCI0.I2C3.RG01 /* \_SB_.PCI0.I2C3.RG01 */
If ((ToInteger (Arg0) == One))
{
ADBG ("Enable VBUS")
If ((^^PCI0.I2C7.AVBL == One))
{
DATA |= 0x20
}
}
Else
{
DATA &= 0xDF
}
^^PCI0.I2C3.RG01 = BUFF /* \_SB_.GPO1.BUFF */
}
}
Method (_AEI, 0, NotSerialized) // _AEI: ACPI Event Interrupts
{
Name (CBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0003
}
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
})
Name (RBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0005
}
})
If ((OSID == One))
{
If ((BDID == One))
{
Return (CBUF) /* \_SB_.GPO1._AEI.CBUF */
}
Else
{
Return (RBUF) /* \_SB_.GPO1._AEI.RBUF */
}
}
}
Method (_E03, 0, Serialized) // _Exx: Edge-Triggered GPE
{
If (((BDID == One) && (PMID == 0x02)))
{
If ((^^PCI0.I2C7.AVBL == One))
{
BUFF = ^^PCI0.I2C7.XD30 /* \_SB_.PCI0.I2C7.XD30 */
DATA &= 0x7F
^^PCI0.I2C7.XD30 = BUFF /* \_SB_.GPO1.BUFF */
Sleep (0x05)
}
}
}
Method (_E05, 0, NotSerialized) // _Exx: Edge-Triggered GPE
{
If ((BDID != One))
{
If ((^^PCI0.I2C1.AVBL == One))
{
If (CondRefOf (\_SB.PCI0.I2C1.BATC, Local1))
{
Local0 = ^^PCI0.I2C1.BATC.INTC ()
If ((One == Local0))
{
Notify (ADP1, 0x80) // Status Change
Notify (^^PCI0.I2C1.BATC, 0x80) // Status Change
Notify (^^PCI0.I2C1.BATC, 0x81) // Information Change
}
}
If (CondRefOf (\_SB.DPTF, Local3))
{
If ((One == Local0))
{
ADBG ("DPTFNOTIFY")
Notify (DPTF, 0x86) // Device-Specific
Notify (TCHG, 0x80) // Status Change
}
}
}
}
}
Name (AVBL, Zero)
Name (AMMR, Zero)
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If ((Arg0 == 0x08))
{
AVBL = Arg1
}
ElseIf ((Arg0 == 0x92))
{
AMMR = Arg1
}
}
OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x11)
Field (GPOP, ByteAcc, NoLock, Preserve)
{
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
),
MPD3, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0002
}
),
MRD3, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0037
}
),
CRST, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0017
}
),
WLD3, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0034
}
),
WLDA, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0019
}
),
TCTL, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0042
}
),
GN66, 1
}
OperationRegion (GMMR, 0x92, Zero, 0x8000)
Field (GMMR, DWordAcc, NoLock, Preserve)
{
Offset (0x4418),
USBI, 1,
Offset (0x4818),
Offset (0x4819),
GPSC, 3,
, 4,
GPSE, 1,
Offset (0x4838),
SUS4, 32,
Offset (0x5460),
COPM, 1
}
}
Device (GPO2)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "INT33FF") // _HID: Hardware ID
Name (_CID, "INT33FF") // _CID: Compatible ID
Name (_DDN, "General Purpose Input/Output (GPIO) controller - EAST") // _DDN: DOS Device Name
Name (_UID, 0x03) // _UID: Unique ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFED90000, // Address Base
0x00008000, // Address Length
)
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x00000032,
}
})
Return (RBUF) /* \_SB_.GPO2._CRS.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
Name (BUFF, Buffer (0x07)
{
0xFF // .
})
CreateByteField (BUFF, Zero, STAT)
CreateByteField (BUFF, One, LEN)
CreateByteField (BUFF, 0x02, TMP0)
CreateByteField (BUFF, 0x03, AX00)
CreateByteField (BUFF, 0x04, AX01)
CreateByteField (BUFF, 0x05, AX10)
CreateByteField (BUFF, 0x06, AX11)
Name (AVBL, Zero)
Name (AMMR, Zero)
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If ((Arg0 == 0x08))
{
AVBL = Arg1
}
ElseIf ((Arg0 == 0x93))
{
AMMR = Arg1
}
}
OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x11)
Field (GPOP, ByteAcc, NoLock, Preserve)
{
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0010
}
),
WLD3, 1
}
Method (_AEI, 0, NotSerialized) // _AEI: ACPI Event Interrupts
{
Name (FBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0000,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0018
}
})
Return (FBUF) /* \_SB_.GPO2._AEI.FBUF */
}
Method (_E18, 0, NotSerialized) // _Exx: Edge-Triggered GPE
{
LIDS = (PVAL & One)
^^PCI0.GFX0.GLID (LIDS)
Notify (LID0, 0x80) // Status Change
}
}
Device (GPO3)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "INT33FF") // _HID: Hardware ID
Name (_CID, "INT33FF") // _CID: Compatible ID
Name (_DDN, "General Purpose Input/Output (GPIO) controller - SOUTHEAST") // _DDN: DOS Device Name
Name (_UID, 0x04) // _UID: Unique ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFED98000, // Address Base
0x00008000, // Address Length
)
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x0000005B,
}
})
Return (RBUF) /* \_SB_.GPO3._CRS.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
Method (_AEI, 0, NotSerialized) // _AEI: ACPI Event Interrupts
{
Name (CBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x003D
}
})
Name (WBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0001
}
})
If (((BDID == 0x02) && (OSID == One)))
{
Return (CBUF) /* \_SB_.GPO3._AEI.CBUF */
}
ElseIf (((BDID != One) && (OSID == One)))
{
Return (WBUF) /* \_SB_.GPO3._AEI.WBUF */
}
}
Method (_E01, 0, NotSerialized) // _Exx: Edge-Triggered GPE
{
ADBG ("BINTR")
If ((BDID == 0x08))
{
If (CondRefOf (\_SB.PCI0.I2C7.BATC, Local1))
{
Local0 = ^^PCI0.I2C7.BATC.INTF ()
ADBG (Local0)
}
Notify (ADP1, 0x80) // Status Change
Notify (^^PCI0.I2C7.BATC, 0x80) // Status Change
Notify (^^PCI0.I2C7.BATC, 0x81) // Information Change
}
ElseIf (((BDID == 0x09) || (BDID == 0x0A)))
{
If ((^^PCI0.I2C7.WIDR.AVBL == One))
{
Notify (ADP1, 0x80) // Status Change
Notify (^^PCI0.I2C7.WIDR, 0x87) // Device-Specific
}
}
ElseIf ((^^PCI0.I2C1.AVBL == One))
{
If (CondRefOf (\_SB.PCI0.I2C1.BATC, Local1))
{
Local0 = ^^PCI0.I2C1.BATC.INTF ()
ADBG (Local0)
}
Notify (ADP1, 0x80) // Status Change
Notify (^^PCI0.I2C1.BATC, 0x80) // Status Change
Notify (^^PCI0.I2C1.BATC, 0x81) // Information Change
}
}
Method (_E3D, 0, NotSerialized) // _Exx: Edge-Triggered GPE
{
ADBG ("BINTR")
If ((^^PCI0.I2C1.AVBL == One))
{
If (CondRefOf (\_SB.PCI0.I2C1.BATC, Local1))
{
Local0 = ^^PCI0.I2C1.BATC.INTF ()
ADBG (Local0)
}
Notify (ADP1, 0x80) // Status Change
Notify (^^PCI0.I2C1.BATC, 0x80) // Status Change
Notify (^^PCI0.I2C1.BATC, 0x81) // Information Change
}
}
Name (AVBL, Zero)
Name (AMMR, Zero)
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If ((Arg0 == 0x08))
{
AVBL = Arg1
}
ElseIf ((Arg0 == 0x94))
{
AMMR = Arg1
}
}
Name (GMOD, ResourceTemplate ()
{
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004B
}
})
OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0C)
Field (GPOP, ByteAcc, NoLock, Preserve)
{
Connection (GMOD),
WFD3, 1
}
OperationRegion (GMMR, 0x94, Zero, 0x8000)
Field (GMMR, DWordAcc, NoLock, Preserve)
{
Offset (0x4408),
PWM1, 32,
Offset (0x5420),
FGGP, 32,
Offset (0x5448),
DMTX, 32
}
}
Device (GPO4)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "INT33FF") // _HID: Hardware ID
Name (_CID, "INT33FF") // _CID: Compatible ID
Name (_DDN, "General Purpose Input/Output (GPIO) controller - GPIO VIRTUAL") // _DDN: DOS Device Name
Name (_UID, 0x05) // _UID: Unique ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFEDA0000, // Address Base
0x00008000, // Address Length
)
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x0000006C,
}
})
Return (RBUF) /* \_SB_.GPO4._CRS.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((SOCS <= 0x04))
{
Return (Zero)
}
Else
{
Return (0x0F)
}
}
Method (_AEI, 0, NotSerialized) // _AEI: ACPI Event Interrupts
{
Name (RBUF, ResourceTemplate ()
{
GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPO4", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0006
}
})
Return (RBUF) /* \_SB_.GPO4._AEI.RBUF */
}
Name (AVBL, Zero)
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If ((Arg0 == 0x08))
{
AVBL = Arg1
}
}
Method (_L06, 0, NotSerialized) // _Lxx: Level-Triggered GPE
{
If ((XHCI != Zero))
{
If ((^^PCI0.XHC1.PMES == One))
{
^^PCI0.XHC1.PMES = One
Notify (^^PCI0.XHC1, 0x02) // Device Wake
}
}
If ((OTGM != Zero))
{
If ((^^PCI0.OTG1.PMES == One))
{
ADBG ("OTG wake")
^^PCI0.OTG1.PMEE = Zero
^^PCI0.OTG1.CPME = Zero
^^PCI0.OTG1.U2EN = Zero
^^PCI0.OTG1.U3EN = Zero
Notify (^^PCI0.OTG1, 0x02) // Device Wake
}
}
If ((^^PCI0.SEC0.PMES == One))
{
^^PCI0.SEC0.PMEE = Zero
Local0 = ^^PCI0.SEC0.PMEE /* \_SB_.PCI0.SEC0.PMEE */
Notify (^^PCI0.SEC0, 0x02) // Device Wake
}
Stall (0x0A)
PMEB = One
Stall (0x0A)
}
}
Device (WLCH)
{
Name (_HID, "INTA4321") // _HID: Hardware ID
Name (_CID, "INTA4321") // _CID: Compatible ID
Name (_DDN, "WIRELESS CHARGER") // _DDN: DOS Device Name
Name (_DEP, Package (0x03) // _DEP: Dependencies
{
^PCI0.I2C1,
GPO3,
GPO0
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, , Exclusive,
)
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0032
}
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004D
}
})
Return (RBUF) /* \_SB_.WLCH._CRS.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((BDID == 0x0A) && (OSID != One)))
{
Return (0x0F)
}
Return (Zero)
}
}
Device (WCH2)
{
Name (_HID, "INTA4322") // _HID: Hardware ID
Name (_CID, "INTA4322") // _CID: Compatible ID
Name (_DDN, "WIRELESS CHARGER 2") // _DDN: DOS Device Name
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
GPO3,
GPO1
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0031
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x003E
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0040
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x003C
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x003D
}
})
Return (RBUF) /* \_SB_.WCH2._CRS.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((BDID == 0x0A) && (OSID != One)))
{
Return (0x0F)
}
Return (Zero)
}
}
Device (FLDM)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "INT34D0") // _HID: Hardware ID
Name (_CID, "INT34D0") // _CID: Compatible ID
Name (_DDN, "Modem Reset device for CHT") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (CDEP, Package (0x03)
{
GPO1,
^PCI0.I2C7,
^PCI0.I2C7.PMIC
})
Name (WDEP, Package (0x03)
{
GPO1,
^PCI0.I2C7,
^PCI0.I2C7.PMI5
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((FMDM == One))
{
Return (0x0F)
}
Return (Zero)
}
OperationRegion (BADR, SystemMemory, 0xFED8C410, 0x08)
Field (BADR, DWordAcc, NoLock, Preserve)
{
MRB0, 32,
MRB1, 32
}
OperationRegion (BAD1, SystemMemory, 0xFED8C400, 0x08)
Field (BAD1, DWordAcc, NoLock, Preserve)
{
MRP0, 32,
MRP1, 32
}
OperationRegion (CFG1, SystemMemory, 0xE00A0000, 0x40)
Field (CFG1, DWordAcc, NoLock, Preserve)
{
Offset (0x10),
BAD2, 32
}
OperationRegion (ADR3, SystemMemory, BAD2, 0x0560)
Field (ADR3, DWordAcc, NoLock, Preserve)
{
Offset (0x52C),
STTD, 32
}
Method (MDON, 0, NotSerialized)
{
If ((PMID == 0x03))
{
^^PCI0.I2C7.PMI5.MOXX = One
}
ElseIf ((PMID == Zero))
{
^^PCI0.I2C7.PMIC.MOXX = One
}
Stall (0xFF)
If ((^^GPO1.AVBL == One))
{
Stall (0x0A)
^^GPO1.MRD3 = One
Stall (0x0A)
^^GPO1.MPD3 = Zero
Stall (0x0A)
^^GPO1.MPD3 = One
Stall (0x4B)
^^GPO1.MPD3 = Zero
}
Stall (0xFF)
Local1 = (STTD & 0xFFFEFE1D)
STTD = (Local1 | 0x00010000)
Stall (0xFF)
If ((STTD == 0x02F0))
{
Local2 = (STTD & 0xFFFEFC0D)
STTD = (Local2 | 0x00010000)
}
Stall (0xFF)
If ((STTD == 0x0E0002F0))
{
Local3 = (STTD & 0xFFFEFC0D)
STTD = (Local3 | 0x00010000)
}
}
Method (MOFF, 0, NotSerialized)
{
Local1 = (STTD & 0xFFFEFE1D)
STTD = (Local1 | 0x00010000)
Stall (0xFF)
If ((^^GPO1.AVBL == One))
{
^^GPO1.MRD3 = Zero
Stall (0xFF)
}
If ((PMID == 0x03))
{
^^PCI0.I2C7.PMI5.MOXX = Zero
}
ElseIf ((PMID == Zero))
{
^^PCI0.I2C7.PMIC.MOXX = Zero
}
Stall (0xFF)
}
Method (MRST, 0, NotSerialized)
{
If ((PSSE == One))
{
If ((^^PCI0.XHC1.XCD3 == One))
{
^^PCI0.XHC1.XHD3 = One
Notify (^^PCI0.XHC1, 0x02) // Device Wake
}
Else
{
^^PCI0.XHC1.XHD3 = Zero
MOFF ()
^^PCI0.XHC1.S1PD = Zero
^^PCI0.XHC1.S1PU = One
^^PCI0.XHC1.S1PD = One
Stall (0xFF)
MDON ()
^^PCI0.XHC1.S1PD = Zero
^^PCI0.XHC1.S1PU = Zero
^^PCI0.XHC1.S1PD = One
Stall (0xFF)
If ((^^PCI0.XHC1.XCD3 == One))
{
^^PCI0.XHC1.XHD3 = One
Notify (^^PCI0.XHC1, 0x02) // Device Wake
}
}
}
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("ac340cb7-e901-45bf-b7e6-2b34ec931e23")))
{
If ((Arg2 == Zero))
{
Return (0x03)
}
Switch (Arg2)
{
Case (One)
{
MOFF ()
}
Case (0x02)
{
MDON ()
}
Case (0x03)
{
MRST ()
}
}
}
Else
{
Return (Zero)
}
}
}
Scope (PCI0.I2C7)
{
OperationRegion (DZFG, GenericSerialBus, Zero, 0x0100)
Field (DZFG, BufferAcc, NoLock, Preserve)
{
Connection (
I2cSerialBusV2 (0x005E, ControllerInitiated, 0x000F4240,
AddressingMode7Bit, "\\_SB.PCI0.I2C7",
0x00, ResourceConsumer, , Exclusive,
)
),
Offset (0x47),
AccessAs (BufferAcc, AttribByte),
DL03, 8,
DL02, 8
}
OperationRegion (XOPR, GenericSerialBus, Zero, 0x0100)
Field (XOPR, BufferAcc, NoLock, Preserve)
{
Connection (
I2cSerialBusV2 (0x0034, ControllerInitiated, 0x000F4240,
AddressingMode7Bit, "\\_SB.PCI0.I2C7",
0x00, ResourceConsumer, , Exclusive,
)
),
Offset (0x12),
AccessAs (BufferAcc, AttribByte),
XD31, 8,
Offset (0x16),
AccessAs (BufferAcc, AttribByte),
XD33, 8,
XD32, 8,
Offset (0x30),
AccessAs (BufferAcc, AttribByte),
XD30, 8,
Offset (0x92),
AccessAs (BufferAcc, AttribByte),
XD92, 8,
XD93, 8
}
Device (PMI1)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "INT33F4" /* XPOWER PMIC Controller */) // _HID: Hardware ID
Name (_CID, "INT33F4" /* XPOWER PMIC Controller */) // _CID: Compatible ID
Name (_DDN, "XPOWER PMIC Controller") // _DDN: DOS Device Name
Name (_HRV, 0x03) // _HRV: Hardware Revision
Name (_UID, One) // _UID: Unique ID
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
I2C7,
GPO1
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (SBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x0034, ControllerInitiated, 0x000F4240,
AddressingMode7Bit, "\\_SB.PCI0.I2C7",
0x00, ResourceConsumer, , Exclusive,
)
GpioInt (Level, ActiveLow, Shared, PullDefault, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x000F
}
})
Name (ABUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x0034, ControllerInitiated, 0x000F4240,
AddressingMode7Bit, "\\_SB.PCI0.I2C7",
0x00, ResourceConsumer, , Exclusive,
)
GpioInt (Level, ActiveHigh, Shared, PullDefault, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x000F
}
})
If ((OSID != One))
{
Return (ABUF) /* \_SB_.PCI0.I2C7.PMI1._CRS.ABUF */
}
Else
{
Return (SBUF) /* \_SB_.PCI0.I2C7.PMI1._CRS.SBUF */
}
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((PMEN == Zero))
{
Return (Zero)
}
If ((PMID == 0x02))
{
ADBG ("XPWR_DCOVE")
Return (0x0F)
}
Return (Zero)
}
OperationRegion (PMOP, 0x8D, Zero, 0x0100)
Field (PMOP, DWordAcc, NoLock, Preserve)
{
ALD1, 32,
ALD2, 32,
ALD3, 32,
DLD1, 32,
DLD2, 32,
DLD3, 32,
DLD4, 32,
ELD1, 32,
ELD2, 32,
ELD3, 32,
FLD1, 32,
FLD2, 32,
FLD3, 32,
BUC1, 32,
BUC2, 32,
BUC3, 32,
BUC4, 32,
BUC5, 32,
BUC6, 32,
GPI1, 32
}
OperationRegion (DPTF, 0x8C, Zero, 0x0100)
Field (DPTF, DWordAcc, NoLock, Preserve)
{
TMP0, 32,
AX00, 32,
AX01, 32,
TMP1, 32,
AX10, 32,
AX11, 32,
TMP2, 32,
AX20, 32,
AX21, 32,
TMP3, 32,
AX30, 32,
AX31, 32,
TMP4, 32,
AX40, 32,
AX41, 32,
TMP5, 32,
AX50, 32,
AX51, 32,
PEN0, 32,
PEN1, 32,
PEN2, 32,
PEN3, 32,
PEN4, 32,
PEN5, 32
}
Name (LPAT, Package (0x2A)
{
0x0AAC,
0x0ADC,
0x0ADE,
0x08BD,
0x0B10,
0x0715,
0x0B42,
0x05C6,
0x0B74,
0x04BC,
0x0BA6,
0x03E8,
0x0BD8,
0x033E,
0x0C0A,
0x02B4,
0x0C3C,
0x0244,
0x0C6E,
0x01E8,
0x0CA0,
0x019D,
0x0CD2,
0x015F,
0x0D04,
0x012C,
0x0D36,
0x0101,
0x0D68,
0xDD,
0x0D9A,
0xBF,
0x0DCC,
0xA6,
0x0DFE,
0x90,
0x0E30,
0x7E,
0x0E62,
0x6E,
0x0E94,
0x61
})
OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0100)
Field (GPOP, ByteAcc, NoLock, Preserve)
{
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0020
}
),
GMP0, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0021
}
),
GX00, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0022
}
),
GX01, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0023
}
),
GMP1, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0024
}
),
GX10, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0025
}
),
GX11, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0026
}
),
GMP2, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0027
}
),
GX20, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0028
}
),
GX21, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0029
}
),
GMP3, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002A
}
),
GX30, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002B
}
),
GX31, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002C
}
),
GMP4, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002D
}
),
GX40, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002E
}
),
GX41, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002F
}
),
GMP5, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0030
}
),
GX50, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0031
}
),
GX51, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0032
}
),
GEN0, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0033
}
),
GEN1, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0034
}
),
GEN2, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0035
}
),
GEN3, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0036
}
),
GEN4, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0037
}
),
GEN5, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0040
}
),
G28X, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0046
}
),
G06X, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0048
}
),
G18X, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0053
}
),
GSDX, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004B
}
),
G12X, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0047
}
),
G16X, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0041
}
),
G33X, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004C
}
),
G675, 1
}
Name (AVBL, Zero)
Name (AVBD, Zero)
Name (AVBG, Zero)
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If ((Arg0 == 0x08))
{
AVBG = Arg1
}
If ((Arg0 == 0x8D))
{
AVBL = Arg1
}
If ((Arg0 == 0x8C))
{
AVBD = Arg1
}
}
Method (_AEI, 0, NotSerialized) // _AEI: ACPI Event Interrupts
{
Name (RBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0011
}
GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.PCI0.I2C7.PMI1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0013
}
})
Return (RBUF) /* \_SB_.PCI0.I2C7.PMI1._AEI.RBUF */
}
Method (_E11, 0, NotSerialized) // _Exx: Edge-Triggered GPE
{
If ((OSID == One))
{
If ((^^AVBL == One))
{
Notify (BMDR, 0x87) // Device-Specific
}
}
}
Method (_E13, 0, NotSerialized) // _Exx: Edge-Triggered GPE
{
If ((OSID == One))
{
If ((^^AVBL == One))
{
Notify (BMDR, 0x87) // Device-Specific
}
}
}
}
Device (PMI2)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "INT33F5" /* TI PMIC Controller */) // _HID: Hardware ID
Name (_CID, "INT33F5" /* TI PMIC Controller */) // _CID: Compatible ID
Name (_DDN, "TI PMIC Controller") // _DDN: DOS Device Name
Name (_HRV, 0x03) // _HRV: Hardware Revision
Name (_UID, One) // _UID: Unique ID
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
I2C7,
GPO1
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (SBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x005E, ControllerInitiated, 0x000F4240,
AddressingMode7Bit, "\\_SB.PCI0.I2C7",
0x00, ResourceConsumer, , Exclusive,
)
GpioInt (Level, ActiveHigh, Shared, PullDefault, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x000F
}
})
Return (SBUF) /* \_SB_.PCI0.I2C7.PMI2._CRS.SBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((PMEN == Zero))
{
Return (Zero)
}
If ((PMID == One))
{
ADBG ("TI_DCOVE")
Return (0x0F)
}
Return (Zero)
}
OperationRegion (PMOP, 0x8D, Zero, 0x0100)
Field (PMOP, DWordAcc, NoLock, Preserve)
{
LDO1, 32,
LDO2, 32,
LDO3, 32,
LDO5, 32,
LDO6, 32,
LDO7, 32,
LDO8, 32,
LDO9, 32,
LD10, 32,
LD11, 32,
LD12, 32,
LD13, 32,
LD14, 32
}
OperationRegion (DPTF, 0x8C, Zero, 0x0100)
Field (DPTF, DWordAcc, NoLock, Preserve)
{
TMP0, 32,
AX00, 32,
AX01, 32,
TMP1, 32,
AX10, 32,
AX11, 32,
TMP2, 32,
AX20, 32,
AX21, 32,
TMP3, 32,
AX30, 32,
AX31, 32,
TMP4, 32,
AX40, 32,
AX41, 32,
TMP5, 32,
AX50, 32,
AX51, 32,
PEN0, 32,
PEN1, 32,
PEN2, 32,
PEN3, 32,
PEN4, 32,
PEN5, 32
}
Name (LPAT, Package (0x44)
{
0x091B,
0x03F1,
0x094D,
0x03EB,
0x097F,
0x03E4,
0x09B1,
0x03DA,
0x09E3,
0x03CE,
0x0A15,
0x03BE,
0x0A47,
0x03AA,
0x0A79,
0x0392,
0x0AAB,
0x0375,
0x0ADD,
0x0353,
0x0B0F,
0x032C,
0x0B41,
0x0300,
0x0B73,
0x02D0,
0x0BA5,
0x029D,
0x0BD7,
0x0268,
0x0C09,
0x0232,
0x0C3B,
0x01FD,
0x0C6D,
0x01C9,
0x0C9F,
0x0197,
0x0CD1,
0x0169,
0x0D03,
0x013E,
0x0D35,
0x0117,
0x0D67,
0xF5,
0x0D99,
0xD6,
0x0DCB,
0xBB,
0x0DFD,
0xA3,
0x0E2F,
0x8E,
0x0E61,
0x7C,
0x0E93,
0x6C,
0x0EC5,
0x5E,
0x0EF7,
0x53,
0x0F29,
0x48,
0x0F5B,
0x3F,
0x0F8D,
0x38
})
OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0100)
Field (GPOP, ByteAcc, NoLock, Preserve)
{
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0020
}
),
GMP0, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0021
}
),
GX00, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0022
}
),
GX01, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0023
}
),
GMP1, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0024
}
),
GX10, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0025
}
),
GX11, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0026
}
),
GMP2, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0027
}
),
GX20, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0028
}
),
GX21, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0029
}
),
GMP3, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002A
}
),
GX30, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002B
}
),
GX31, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002C
}
),
GMP4, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002D
}
),
GX40, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002E
}
),
GX41, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002F
}
),
GMP5, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0030
}
),
GX50, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0031
}
),
GX51, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0032
}
),
GEN0, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0033
}
),
GEN1, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0034
}
),
GEN2, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0035
}
),
GEN3, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0036
}
),
GEN4, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0037
}
),
GEN5, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0044
}
),
GSDX, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0047
}
),
G28X, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0048
}
),
G18U, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0049
}
),
G18X, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004B
}
),
G3P3, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004C
}
),
G12T, 1
}
Method (_AEI, 0, NotSerialized) // _AEI: ACPI Event Interrupts
{
Name (RBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0011
}
})
Return (RBUF) /* \_SB_.PCI0.I2C7.PMI2._AEI.RBUF */
}
Method (_E11, 0, NotSerialized) // _Exx: Edge-Triggered GPE
{
If ((OSID == One))
{
If ((^^^^GPO1.USBI != Zero))
{
If ((^^^I2C3.AVBL == One))
{
Notify (^^^I2C3.TIDR, 0x87) // Device-Specific
}
}
}
}
Name (AVBL, Zero)
Name (AVBD, Zero)
Name (AVBG, Zero)
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If ((Arg0 == 0x08))
{
AVBG = Arg1
}
If ((Arg0 == 0x8D))
{
AVBL = Arg1
}
If ((Arg0 == 0x8C))
{
AVBD = Arg1
}
}
}
Device (PMI5)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "INT34D3") // _HID: Hardware ID
Name (_CID, "INT34D3") // _CID: Compatible ID
Name (_DDN, "WHISKEY COVE AIC") // _DDN: DOS Device Name
Name (_HRV, 0x03) // _HRV: Hardware Revision
Name (_UID, One) // _UID: Unique ID
Name (ADEP, Package (0x03)
{
I2C7,
GPO1,
GPO3
})
Name (_DEP, Package (0x03) // _DEP: Dependencies
{
I2C7,
GPO1,
MBID
})
Name (ACDC, One)
Name (SBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x004F, ControllerInitiated, 0x000F4240,
AddressingMode7Bit, "\\_SB.PCI0.I2C7",
0x00, ResourceConsumer, , Exclusive,
)
I2cSerialBusV2 (0x005E, ControllerInitiated, 0x000F4240,
AddressingMode7Bit, "\\_SB.PCI0.I2C7",
0x00, ResourceConsumer, , Exclusive,
)
I2cSerialBusV2 (0x006E, ControllerInitiated, 0x000F4240,
AddressingMode7Bit, "\\_SB.PCI0.I2C7",
0x00, ResourceConsumer, , Exclusive,
)
GpioInt (Level, ActiveHigh, Shared, PullDefault, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x000F
}
})
Name (HBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x004F, ControllerInitiated, 0x000F4240,
AddressingMode7Bit, "\\_SB.PCI0.I2C7",
0x00, ResourceConsumer, , Exclusive,
)
I2cSerialBusV2 (0x005E, ControllerInitiated, 0x000F4240,
AddressingMode7Bit, "\\_SB.PCI0.I2C7",
0x00, ResourceConsumer, , Exclusive,
)
I2cSerialBusV2 (0x006E, ControllerInitiated, 0x000F4240,
AddressingMode7Bit, "\\_SB.PCI0.I2C7",
0x00, ResourceConsumer, , Exclusive,
)
GpioInt (Level, ActiveHigh, Shared, PullDefault, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x000F
}
GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x003D
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
If (((BDID == 0x0A) && (OSID == 0x04)))
{
Return (HBUF) /* \_SB_.PCI0.I2C7.PMI5.HBUF */
}
Else
{
Return (SBUF) /* \_SB_.PCI0.I2C7.PMI5.SBUF */
}
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((PMEN == Zero))
{
Return (Zero)
}
If ((PMID == 0x03))
{
ADBG ("W_COVE")
Return (0x0F)
}
Return (Zero)
}
OperationRegion (DPTF, 0x8C, Zero, 0x0100)
Field (DPTF, DWordAcc, NoLock, Preserve)
{
TMP0, 32,
AX00, 32,
AX01, 32,
TMP1, 32,
AX10, 32,
AX11, 32,
TMP2, 32,
AX20, 32,
AX21, 32,
TMP3, 32,
AX30, 32,
AX31, 32,
TMP4, 32,
AX40, 32,
AX41, 32,
TMP5, 32,
AX50, 32,
AX51, 32,
PEN0, 32,
PEN1, 32,
PEN2, 32,
PEN3, 32,
PEN4, 32,
PEN5, 32
}
OperationRegion (PMOP, 0x8D, Zero, 0x0100)
Field (PMOP, DWordAcc, NoLock, Preserve)
{
V18A, 32,
V18X, 32,
VDDQ, 32,
V12A, 32,
V12X, 32,
V28X, 32,
V33A, 32,
V3SD, 32,
VSD, 32,
VSW2, 32,
VSW1, 32,
VUPY, 32,
VRSO, 32,
VP1A, 32,
VP1B, 32,
VP1F, 32,
VP2D, 32,
VP3A, 32,
VP3B, 32,
VP4A, 32,
VP4B, 32,
VP4C, 32,
VP4D, 32,
VP5A, 32,
VP5B, 32,
VP6A, 32,
VP6B, 32,
VP7A, 32
}
OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0100)
Field (GPOP, ByteAcc, NoLock, Preserve)
{
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0020
}
),
GMP0, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0021
}
),
GX00, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0022
}
),
GX01, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0023
}
),
GMP1, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0024
}
),
GX10, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0025
}
),
GX11, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0026
}
),
GMP2, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0027
}
),
GX20, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0028
}
),
GX21, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0029
}
),
GMP3, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002A
}
),
GX30, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002B
}
),
GX31, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002C
}
),
GMP4, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002D
}
),
GX40, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002E
}
),
GX41, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002F
}
),
GMP5, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0030
}
),
GX50, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0031
}
),
GX51, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0032
}
),
GEN0, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0033
}
),
GEN1, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0034
}
),
GEN2, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0035
}
),
GEN3, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0036
}
),
GEN4, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0037
}
),
GEN5, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0040
}
),
G18A, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0041
}
),
G18X, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0042
}
),
GDDQ, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0043
}
),
G12A, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0044
}
),
G12X, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0045
}
),
G28X, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0046
}
),
G33A, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0047
}
),
G3SD, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0048
}
),
GSD, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0049
}
),
GSW2, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004A
}
),
GSW1, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004B
}
),
GUPY, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004C
}
),
GRS0, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004D
}
),
GP1A, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004E
}
),
GP1B, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004F
}
),
GP1F, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0050
}
),
GP2D, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0051
}
),
GP3A, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0052
}
),
GP3B, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0053
}
),
GP4A, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0054
}
),
GP4B, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0055
}
),
GP4C, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0056
}
),
GP4D, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0057
}
),
GP5A, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0058
}
),
GP5B, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0059
}
),
GP6A, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x005A
}
),
GP6B, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x005B
}
),
GP7A, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x005D
}
),
MOXX, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x005F
}
),
GPRW, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0009
}
),
G1P1, 1
}
OperationRegion (REGS, 0x8F, Zero, 0x50)
Field (REGS, ByteAcc, NoLock, Preserve)
{
CLNT, 8,
SA, 8,
OFF, 8,
VAL, 8,
RWM, 8
}
Name (AVBL, Zero)
Name (AVBD, Zero)
Name (AVBG, Zero)
Name (AVBE, Zero)
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If ((Arg0 == 0x08))
{
AVBG = Arg1
}
If ((Arg0 == 0x8D))
{
AVBL = Arg1
}
If ((Arg0 == 0x8C))
{
AVBD = Arg1
}
If ((Arg0 == 0x8F))
{
AVBE = Arg1
}
}
Method (GET, 3, Serialized)
{
If ((AVBE == One))
{
CLNT = Arg0
SA = Arg1
OFF = Arg2
RWM = Zero
If ((AVBG == One))
{
GPRW = Zero
}
}
Return (VAL) /* \_SB_.PCI0.I2C7.PMI5.VAL_ */
}
Method (SET, 4, Serialized)
{
If ((AVBE == One))
{
CLNT = Arg0
SA = Arg1
OFF = Arg2
VAL = Arg3
RWM = One
If ((AVBG == One))
{
GPRW = One
}
}
}
Method (EOTG, 0, NotSerialized)
{
ADBG ("PH2")
Local0 = GET (One, 0x5E, 0x17)
Local0 |= 0x40
SET (One, 0x5E, 0x17, Local0)
SET (One, 0x5E, 0x25, 0x6B)
SET (One, 0x5E, 0x26, 0x05)
SET (One, 0x5E, 0x24, 0x02)
Local0 = GET (One, 0x5E, 0x28)
ADBG ("B4 Set")
ADBG (Local0)
Local0 &= 0xCF
SET (One, 0x5E, 0x25, 0x6B)
SET (One, 0x5E, 0x26, 0x05)
SET (One, 0x5E, 0x27, Local0)
SET (One, 0x5E, 0x24, One)
SET (One, 0x5E, 0x25, 0x6B)
SET (One, 0x5E, 0x26, 0x05)
SET (One, 0x5E, 0x24, 0x02)
Local0 = GET (One, 0x5E, 0x28)
ADBG ("After Set")
ADBG ("REG05")
ADBG (Local0)
SET (One, 0x5E, 0x25, 0x6B)
SET (One, 0x5E, 0x26, One)
SET (One, 0x5E, 0x24, 0x02)
Local0 = GET (One, 0x5E, 0x28)
Local0 &= 0xEF
Local0 |= 0x20
SET (One, 0x5E, 0x25, 0x6B)
SET (One, 0x5E, 0x26, One)
SET (One, 0x5E, 0x27, Local0)
SET (One, 0x5E, 0x24, One)
SET (One, 0x5E, 0x25, 0x6B)
SET (One, 0x5E, 0x26, 0x08)
SET (One, 0x5E, 0x24, 0x02)
Local0 = GET (One, 0x5E, 0x28)
ADBG ("PH3")
Local0 >>= 0x06
If ((Local0 == One))
{
ADBG ("USB Host")
}
ElseIf ((Local0 == 0x03))
{
ADBG ("REG08 St OTG")
}
}
Method (_AEI, 0, NotSerialized) // _AEI: ACPI Event Interrupts
{
Name (HBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x001F
}
})
Name (WBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0012
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x001F
}
})
If ((((BDID == 0x09) || (BDID == 0x0A)) && (OSID == One)))
{
Return (HBUF) /* \_SB_.PCI0.I2C7.PMI5._AEI.HBUF */
}
ElseIf (((BDID == 0x08) && (OSID == One)))
{
Return (WBUF) /* \_SB_.PCI0.I2C7.PMI5._AEI.WBUF */
}
}
Method (_E12, 0, NotSerialized) // _Exx: Edge-Triggered GPE
{
If ((BDID == 0x08))
{
Sleep (0x0384)
If (CondRefOf (\_SB.PCI0.I2C7.BATC, Local1))
{
Local0 = GET (One, 0x6E, 0x1E)
Local0 >>= 0x03
Local0 &= 0x03
If ((Local0 != One))
{
Local0 = GET (One, 0x5E, 0x29)
Local0 >>= 0x02
Local0 &= 0x0F
Local0 = ^^BATC.INTC ()
If ((One == Local0))
{
ADBG ("BADP1")
Notify (ADP1, 0x80) // Status Change
ADBG ("AfADP1")
Notify (BATC, 0x80) // Status Change
Notify (BATC, 0x81) // Information Change
ADBG ("PINTC")
}
If (CondRefOf (\_SB.DPTF, Local3))
{
If ((One == Local0))
{
ADBG ("DPTFNOTIFY")
Notify (^^^^DPTF, 0x86) // Device-Specific
Notify (TCHG, 0x80) // Status Change
}
}
}
}
}
}
Method (_E1F, 0, NotSerialized) // _Exx: Edge-Triggered GPE
{
If (((BDID == 0x08) || ((BDID == 0x09) || (BDID == 0x0A))))
{
If ((AVBL == One))
{
Local0 = GET (One, 0x6E, 0x1E)
Local0 >>= 0x03
Local0 &= 0x03
If ((Local0 == Zero)){}
ElseIf ((Local0 == One))
{
ADBG ("RID_GND")
Local0 = GET (One, 0x5E, 0x07)
Local0 |= One
ADBG (Local0)
SET (One, 0x5E, 0x07, Local0)
CDRH (Zero)
ADBG ("PH1")
EOTG ()
}
ElseIf ((Local0 == 0x02))
{
Local0 = GET (One, 0x6E, 0x1E)
Local0 >>= 0x03
Local0 &= 0x03
If ((Local0 != Zero))
{
Local0 = GET (One, 0x5E, 0x07)
Local0 &= 0xFE
SET (One, 0x5E, 0x07, Local0)
Local0 = GET (One, 0x5E, 0x17)
Local0 |= 0x40
SET (One, 0x5E, 0x17, Local0)
SET (One, 0x5E, 0x25, 0x6B)
SET (One, 0x5E, 0x26, One)
SET (One, 0x5E, 0x24, 0x02)
Local0 = GET (One, 0x5E, 0x28)
Local0 |= 0x10
Local0 &= 0xDF
SET (One, 0x5E, 0x25, 0x6B)
SET (One, 0x5E, 0x26, One)
SET (One, 0x5E, 0x27, Local0)
SET (One, 0x5E, 0x24, One)
Local0 = GET (One, 0x5E, 0x17)
Local0 &= 0xBF
SET (One, 0x5E, 0x17, Local0)
}
}
Else
{
ADBG ("Reserved")
If ((DSFG == One))
{
CDRH (Zero)
}
Else
{
CDRD (Zero)
}
}
}
}
}
Method (SRCD, 0, Serialized)
{
If ((AVBL == One))
{
ADBG ("ACDC")
ADBG (ACDC)
Return (ACDC) /* \_SB_.PCI0.I2C7.PMI5.ACDC */
}
Else
{
ADBG ("SRCD AC, PMIC Unavailable")
Return (One)
}
}
Name (LPAT, Package (0x3C)
{
0x09E3,
0x00076272,
0x0A15,
0x00058192,
0x0A47,
0x00042551,
0x0A79,
0x0003267F,
0x0AAB,
0x00026A06,
0x0ADD,
0x0001DD93,
0x0B0F,
0x000173FB,
0x0B41,
0x000123EA,
0x0B73,
0xE6B9,
0x0BA5,
0xB798,
0x0BD7,
0x930B,
0x0C09,
0x767E,
0x0C3B,
0x600F,
0x0C6D,
0x4E50,
0x0C9F,
0x4031,
0x0CD1,
0x34E3,
0x0D03,
0x2BC9,
0x0D35,
0x2470,
0x0D67,
0x1E76,
0x0D99,
0x1990,
0x0DCB,
0x158E,
0x0DFD,
0x1242,
0x0E2F,
0x0F84,
0x0E61,
0x0D3C,
0x0E93,
0x0B56,
0x0EC5,
0x09BE,
0x0EF7,
0x0866,
0x0F29,
0x0744,
0x0F5B,
0x064F,
0x0F8D,
0x057E
})
}
Device (PMIF)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "DMY0001") // _HID: Hardware ID
Name (_CID, "DMY0001") // _CID: Compatible ID
Name (_DDN, "Dummy PMIC controller") // _DDN: DOS Device Name
Name (_HRV, Zero) // _HRV: Hardware Revision
Name (_UID, One) // _UID: Unique ID
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
I2C7
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (SBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x005E, ControllerInitiated, 0x000F4240,
AddressingMode7Bit, "\\_SB.PCI0.I2C7",
0x00, ResourceConsumer, , Exclusive,
)
Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
{
0x00000043,
}
Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
{
0x00000043,
}
Interrupt (ResourceConsumer, Level, ActiveHigh, Shared, ,, )
{
0x00000043,
}
})
Return (SBUF) /* \_SB_.PCI0.I2C7.PMIF._CRS.SBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((PMEN == Zero))
{
Return (Zero)
}
If ((PMID == 0xFE))
{
ADBG ("DMPMIC")
Return (0x0F)
}
Return (Zero)
}
}
Device (PMIC)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "INT33FD" /* Intel Baytrail Power Management IC */) // _HID: Hardware ID
Name (_CID, "INT33FD" /* Intel Baytrail Power Management IC */) // _CID: Compatible ID
Name (_DDN, "CRYSTAL COVE+ AIC") // _DDN: DOS Device Name
Name (_HRV, 0x03) // _HRV: Hardware Revision
Name (_UID, One) // _UID: Unique ID
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
I2C7,
GPO1
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (SBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x006E, ControllerInitiated, 0x000F4240,
AddressingMode7Bit, "\\_SB.PCI0.I2C7",
0x00, ResourceConsumer, , Exclusive,
)
GpioInt (Level, ActiveHigh, Shared, PullDefault, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x000F
}
})
Return (SBUF) /* \_SB_.PCI0.I2C7.PMIC._CRS.SBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((PMEN == Zero))
{
Return (Zero)
}
If ((PMID == Zero))
{
Return (0x0F)
}
Return (Zero)
}
OperationRegion (DPTF, 0x8C, Zero, 0x0100)
Field (DPTF, DWordAcc, NoLock, Preserve)
{
TMP0, 32,
AX00, 32,
AX01, 32,
TMP1, 32,
AX10, 32,
AX11, 32,
TMP2, 32,
AX20, 32,
AX21, 32,
TMP3, 32,
AX30, 32,
AX31, 32,
TMP4, 32,
AX40, 32,
AX41, 32,
TMP5, 32,
AX50, 32,
AX51, 32,
PEN0, 32,
PEN1, 32,
PEN2, 32,
PEN3, 32,
PEN4, 32,
PEN5, 32
}
OperationRegion (PMOP, 0x8D, Zero, 0x0100)
Field (PMOP, DWordAcc, NoLock, Preserve)
{
VSYS, 32,
SYSX, 32,
SYSU, 32,
SYSS, 32,
V50S, 32,
HOST, 32,
VBUS, 32,
HDMI, 32,
S285, 32,
X285, 32,
V33A, 32,
V33S, 32,
V33U, 32,
V33I, 32,
V18A, 32,
REFQ, 32,
V12A, 32,
V18S, 32,
V18X, 32,
V18U, 32,
V12X, 32,
V12S, 32,
V10A, 32,
V10S, 32,
V10X, 32,
V105, 32,
V33X, 32
}
OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0100)
Field (GPOP, ByteAcc, NoLock, Preserve)
{
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0020
}
),
GMP0, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0021
}
),
GX00, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0022
}
),
GX01, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0023
}
),
GMP1, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0024
}
),
GX10, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0025
}
),
GX11, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0026
}
),
GMP2, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0027
}
),
GX20, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0028
}
),
GX21, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0029
}
),
GMP3, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002A
}
),
GX30, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002B
}
),
GX31, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002C
}
),
GMP4, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002D
}
),
GX40, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002E
}
),
GX41, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002F
}
),
GMP5, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0030
}
),
GX50, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0031
}
),
GX51, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0032
}
),
GEN0, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0033
}
),
GEN1, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0034
}
),
GEN2, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0035
}
),
GEN3, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0036
}
),
GEN4, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0037
}
),
GEN5, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0040
}
),
GSYS, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0041
}
),
GYSX, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0042
}
),
GYSU, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0043
}
),
GYSS, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0044
}
),
G50S, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0045
}
),
GOST, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0046
}
),
GBUS, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0047
}
),
GDMI, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0048
}
),
G28S, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0049
}
),
G28X, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004A
}
),
G33A, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004B
}
),
G33S, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004C
}
),
G33U, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004D
}
),
G33I, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004E
}
),
G18A, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004F
}
),
GEFQ, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0050
}
),
G12A, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0051
}
),
G18S, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0052
}
),
G18X, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0053
}
),
G18U, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0054
}
),
G12X, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0055
}
),
G12S, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0056
}
),
G10A, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0057
}
),
G10S, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0058
}
),
G10X, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0059
}
),
G105, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x005E
}
),
FCOT, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x005D
}
),
MOXX, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x000B
}
),
TCON, 1,
Connection (
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.PCI0.I2C7.PMIC", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x005A
}
),
G33X, 1
}
Name (AVBL, Zero)
Name (AVBD, Zero)
Name (AVBG, Zero)
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If ((Arg0 == 0x08))
{
AVBG = Arg1
}
If ((Arg0 == 0x8D))
{
AVBL = Arg1
}
If ((Arg0 == 0x8C))
{
AVBD = Arg1
}
}
Name (LPAT, Package (0x30)
{
0x09E3,
0x03D1,
0x0A15,
0x03C1,
0x0A47,
0x03AD,
0x0A79,
0x0395,
0x0AAB,
0x0377,
0x0ADD,
0x0355,
0x0B0F,
0x032D,
0x0B41,
0x0301,
0x0B73,
0x02D0,
0x0BA5,
0x029D,
0x0BD7,
0x0267,
0x0C09,
0x0231,
0x0C3B,
0x01FC,
0x0C6D,
0x01C8,
0x0C9F,
0x0197,
0x0CD1,
0x0165,
0x0D03,
0x013B,
0x0D35,
0x0115,
0x0D67,
0xF3,
0x0D99,
0xD4,
0x0DCB,
0xBA,
0x0DFD,
0xA2,
0x0E2F,
0x8C,
0x0E93,
0x6B
})
}
}
Scope (PCI0.I2C1)
{
Device (IMP3)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "IMPJ0003") // _HID: Hardware ID
Name (_CID, "IMPJ0003") // _CID: Compatible ID
Name (_UID, One) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((BDID == One))
{
Return (Zero)
}
If ((PSDE == 0x02))
{
Return (0x0F)
}
Return (Zero)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (SBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x006E, ControllerInitiated, 0x000186A0,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, , Exclusive,
)
})
Return (SBUF) /* \_SB_.PCI0.I2C1.IMP3._CRS.SBUF */
}
}
}
Scope (PCI0.I2C2)
{
Device (IMP3)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "IMPJ0003") // _HID: Hardware ID
Name (_CID, "IMPJ0003") // _CID: Compatible ID
Name (_UID, One) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((BDID != One))
{
Return (Zero)
}
If ((PSDE == 0x02))
{
Return (0x0F)
}
Return (Zero)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (SBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x006E, ControllerInitiated, 0x000186A0,
AddressingMode7Bit, "\\_SB.PCI0.I2C2",
0x00, ResourceConsumer, , Exclusive,
)
})
Return (SBUF) /* \_SB_.PCI0.I2C2.IMP3._CRS.SBUF */
}
}
}
PowerResource (P28X, 0x05, 0x0008)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
^PCI0.I2C7,
^PCI0.I2C7.PMIC
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^PCI0.I2C7.PMIC.AVBG == One))
{
^^PCI0.I2C7.PMIC.G28X = Zero
If ((^^PCI0.I2C7.PMIC.AVBL == One))
{
Return (^^PCI0.I2C7.PMIC.X285) /* \_SB_.PCI0.I2C7.PMIC.X285 */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((^^PCI0.I2C7.PMIC.AVBL == One))
{
^^PCI0.I2C7.PMIC.X285 = One
If ((^^PCI0.I2C7.PMIC.AVBG == One))
{
^^PCI0.I2C7.PMIC.G28X = One
Sleep (0x1E)
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((^^PCI0.I2C7.PMIC.AVBL == One))
{
^^PCI0.I2C7.PMIC.X285 = Zero
If ((^^PCI0.I2C7.PMIC.AVBG == One))
{
^^PCI0.I2C7.PMIC.G28X = One
Sleep (0x1E)
}
}
}
}
PowerResource (P18X, 0x05, 0x0002)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
^PCI0.I2C7,
^PCI0.I2C7.PMIC
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^PCI0.I2C7.PMIC.AVBG == One))
{
^^PCI0.I2C7.PMIC.G18X = Zero
If ((^^PCI0.I2C7.PMIC.AVBL == One))
{
Return (^^PCI0.I2C7.PMIC.V18X) /* \_SB_.PCI0.I2C7.PMIC.V18X */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((^^PCI0.I2C7.PMIC.AVBL == One))
{
^^PCI0.I2C7.PMIC.V18X = One
If ((^^PCI0.I2C7.PMIC.AVBG == One))
{
^^PCI0.I2C7.PMIC.G18X = One
Sleep (0x1E)
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((^^PCI0.I2C7.PMIC.AVBL == One))
{
^^PCI0.I2C7.PMIC.V18X = Zero
If ((^^PCI0.I2C7.PMIC.AVBG == One))
{
^^PCI0.I2C7.PMIC.G18X = One
Sleep (0x1E)
}
}
}
}
PowerResource (P12X, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
^PCI0.I2C7,
^PCI0.I2C7.PMIC
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^PCI0.I2C7.PMIC.AVBG == One))
{
^^PCI0.I2C7.PMIC.G12X = Zero
If ((^^PCI0.I2C7.PMIC.AVBL == One))
{
Return (^^PCI0.I2C7.PMIC.V12X) /* \_SB_.PCI0.I2C7.PMIC.V12X */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((^^PCI0.I2C7.PMIC.AVBL == One))
{
^^PCI0.I2C7.PMIC.V12X = One
If ((^^PCI0.I2C7.PMIC.AVBG == One))
{
^^PCI0.I2C7.PMIC.G12X = One
Sleep (0x1E)
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((^^PCI0.I2C7.PMIC.AVBL == One))
{
^^PCI0.I2C7.PMIC.V12X = Zero
If ((^^PCI0.I2C7.PMIC.AVBG == One))
{
^^PCI0.I2C7.PMIC.G12X = One
Sleep (0x1E)
}
}
}
}
PowerResource (P28P, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
^PCI0.I2C7,
^PCI0.I2C7.PMI1
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^PCI0.I2C7.PMI1.AVBG == One))
{
^^PCI0.I2C7.PMI1.G28X = Zero
If ((^^PCI0.I2C7.PMI1.AVBL == One))
{
Return (^^PCI0.I2C7.PMI1.ALD1) /* \_SB_.PCI0.I2C7.PMI1.ALD1 */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((^^PCI0.I2C7.PMI1.AVBL == One))
{
^^PCI0.I2C7.PMI1.ALD1 = One
If ((^^PCI0.I2C7.PMI1.AVBG == One))
{
^^PCI0.I2C7.PMI1.G28X = One
Sleep (0x1E)
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((^^PCI0.I2C7.PMI1.AVBL == One))
{
^^PCI0.I2C7.PMI1.ALD1 = Zero
If ((^^PCI0.I2C7.PMI1.AVBG == One))
{
^^PCI0.I2C7.PMI1.G28X = One
Sleep (0x1E)
}
}
}
}
PowerResource (P18P, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
^PCI0.I2C7,
^PCI0.I2C7.PMI1
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^PCI0.I2C7.PMI1.AVBG == One))
{
^^PCI0.I2C7.PMI1.G18X = Zero
If ((^^PCI0.I2C7.PMI1.AVBL == One))
{
Return (^^PCI0.I2C7.PMI1.ELD2) /* \_SB_.PCI0.I2C7.PMI1.ELD2 */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((^^PCI0.I2C7.PMI1.AVBL == One))
{
^^PCI0.I2C7.PMI1.ELD2 = One
If ((^^PCI0.I2C7.PMI1.AVBG == One))
{
^^PCI0.I2C7.PMI1.G18X = One
Sleep (0x1E)
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((^^PCI0.I2C7.PMI1.AVBL == One))
{
^^PCI0.I2C7.PMI1.ELD2 = Zero
If ((^^PCI0.I2C7.PMI1.AVBG == One))
{
^^PCI0.I2C7.PMI1.G18X = One
Sleep (0x1E)
}
}
}
}
PowerResource (P12P, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
^PCI0.I2C7,
^PCI0.I2C7.PMI1
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^PCI0.I2C7.PMI1.AVBG == One))
{
^^PCI0.I2C7.PMI1.G12X = Zero
If ((^^PCI0.I2C7.PMI1.AVBL == One))
{
Return (^^PCI0.I2C7.PMI1.FLD2) /* \_SB_.PCI0.I2C7.PMI1.FLD2 */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((^^PCI0.I2C7.PMI1.AVBL == One))
{
^^PCI0.I2C7.PMI1.FLD2 = One
If ((^^PCI0.I2C7.PMI1.AVBG == One))
{
^^PCI0.I2C7.PMI1.G12X = One
Sleep (0x1E)
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((^^PCI0.I2C7.PMI1.AVBL == One))
{
^^PCI0.I2C7.PMI1.FLD2 = Zero
If ((^^PCI0.I2C7.PMI1.AVBG == One))
{
^^PCI0.I2C7.PMI1.G12X = One
Sleep (0x1E)
}
}
}
}
PowerResource (P19X, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
^PCI0.I2C7,
^PCI0.I2C7.PMI1
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^PCI0.I2C7.PMI1.AVBG == One))
{
^^PCI0.I2C7.PMI1.GSDX = Zero
If ((^^PCI0.I2C7.PMI1.AVBL == One))
{
Return (^^PCI0.I2C7.PMI1.GPI1) /* \_SB_.PCI0.I2C7.PMI1.GPI1 */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((OSID == 0x04))
{
If ((^^PCI0.I2C7.PMI1.AVBL == One))
{
^^PCI0.I2C7.PMI1.GPI1 = One
If ((^^PCI0.I2C7.PMI1.AVBG == One))
{
^^PCI0.I2C7.PMI1.GSDX = One
Sleep (0x1E)
}
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((OSID == 0x04))
{
If ((^^PCI0.I2C7.PMI1.AVBL == One))
{
^^PCI0.I2C7.PMI1.GPI1 = Zero
If ((^^PCI0.I2C7.PMI1.AVBG == One))
{
^^PCI0.I2C7.PMI1.GSDX = One
Sleep (0x1E)
}
}
}
}
}
PowerResource (P06X, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
^PCI0.I2C7,
^PCI0.I2C7.PMI1
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^PCI0.I2C7.PMI1.AVBG == One))
{
^^PCI0.I2C7.PMI1.G06X = Zero
If ((^^PCI0.I2C7.PMI1.AVBL == One))
{
Return (^^PCI0.I2C7.PMI1.DLD4) /* \_SB_.PCI0.I2C7.PMI1.DLD4 */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((OSID == 0x04))
{
If ((^^PCI0.I2C7.PMI1.AVBL == One))
{
^^PCI0.I2C7.PMI1.DLD4 = One
If ((^^PCI0.I2C7.PMI1.AVBG == One))
{
^^PCI0.I2C7.PMI1.G06X = One
Sleep (0x1E)
}
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((OSID == 0x04))
{
If ((^^PCI0.I2C7.PMI1.AVBL == One))
{
^^PCI0.I2C7.PMI1.DLD4 = One
If ((^^PCI0.I2C7.PMI1.AVBG == One))
{
^^PCI0.I2C7.PMI1.G06X = One
Sleep (0x1E)
}
}
}
}
}
PowerResource (P28T, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
^PCI0.I2C7,
^PCI0.I2C7.PMI2
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^PCI0.I2C7.PMI2.AVBG == One))
{
^^PCI0.I2C7.PMI2.G28X = Zero
If ((^^PCI0.I2C7.PMI2.AVBL == One))
{
Return (^^PCI0.I2C7.PMI2.LDO9) /* \_SB_.PCI0.I2C7.PMI2.LDO9 */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((^^PCI0.I2C7.PMI2.AVBL == One))
{
^^PCI0.I2C7.PMI2.LDO9 = One
If ((^^PCI0.I2C7.PMI2.AVBG == One))
{
^^PCI0.I2C7.PMI2.G28X = One
Sleep (0x1E)
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((^^PCI0.I2C7.PMI2.AVBL == One))
{
^^PCI0.I2C7.PMI2.LDO9 = Zero
If ((^^PCI0.I2C7.PMI2.AVBG == One))
{
^^PCI0.I2C7.PMI2.G28X = One
Sleep (0x1E)
}
}
}
}
PowerResource (P18D, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
^PCI0.I2C7,
^PCI0.I2C7.PMI2
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^PCI0.I2C7.PMI2.AVBG == One))
{
^^PCI0.I2C7.PMI2.G18U = Zero
If ((^^PCI0.I2C7.PMI2.AVBL == One))
{
Return (^^PCI0.I2C7.PMI2.LD10) /* \_SB_.PCI0.I2C7.PMI2.LD10 */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((^^PCI0.I2C7.PMI2.AVBL == One))
{
^^PCI0.I2C7.PMI2.LD10 = One
If ((^^PCI0.I2C7.PMI2.AVBG == One))
{
^^PCI0.I2C7.PMI2.G18U = One
Sleep (0x1E)
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((^^PCI0.I2C7.PMI2.AVBL == One))
{
^^PCI0.I2C7.PMI2.LD10 = Zero
If ((^^PCI0.I2C7.PMI2.AVBG == One))
{
^^PCI0.I2C7.PMI2.G18U = One
Sleep (0x1E)
}
}
}
}
PowerResource (P18T, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
^PCI0.I2C7,
^PCI0.I2C7.PMI2
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^PCI0.I2C7.PMI2.AVBG == One))
{
^^PCI0.I2C7.PMI2.G18X = Zero
If ((^^PCI0.I2C7.PMI2.AVBL == One))
{
Return (^^PCI0.I2C7.PMI2.LD11) /* \_SB_.PCI0.I2C7.PMI2.LD11 */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((^^PCI0.I2C7.PMI2.AVBL == One))
{
^^PCI0.I2C7.PMI2.LD11 = One
If ((^^PCI0.I2C7.PMI2.AVBG == One))
{
^^PCI0.I2C7.PMI2.G18X = One
Sleep (0x1E)
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((^^PCI0.I2C7.PMI2.AVBL == One))
{
^^PCI0.I2C7.PMI2.LD11 = Zero
If ((^^PCI0.I2C7.PMI2.AVBG == One))
{
^^PCI0.I2C7.PMI2.G18X = One
Sleep (0x1E)
}
}
}
}
PowerResource (P3P3, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
^PCI0.I2C7,
^PCI0.I2C7.PMI2
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^PCI0.I2C7.PMI2.AVBG == One))
{
^^PCI0.I2C7.PMI2.G3P3 = Zero
If ((^^PCI0.I2C7.PMI2.AVBL == One))
{
Return (^^PCI0.I2C7.PMI2.LD13) /* \_SB_.PCI0.I2C7.PMI2.LD13 */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((^^PCI0.I2C7.PMI2.AVBL == One))
{
^^PCI0.I2C7.PMI2.LD13 = One
If ((^^PCI0.I2C7.PMI2.AVBG == One))
{
^^PCI0.I2C7.PMI2.G3P3 = One
Sleep (0x1E)
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((^^PCI0.I2C7.PMI2.AVBL == One))
{
^^PCI0.I2C7.PMI2.LD13 = Zero
If ((^^PCI0.I2C7.PMI2.AVBG == One))
{
^^PCI0.I2C7.PMI2.G3P3 = One
Sleep (0x1E)
}
}
}
}
PowerResource (P12T, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
^PCI0.I2C7,
^PCI0.I2C7.PMI2
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^PCI0.I2C7.PMI2.AVBG == One))
{
^^PCI0.I2C7.PMI2.G12T = Zero
If ((^^PCI0.I2C7.PMI2.AVBL == One))
{
Return (^^PCI0.I2C7.PMI2.LD14) /* \_SB_.PCI0.I2C7.PMI2.LD14 */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((OSID == 0x04))
{
If ((^^PCI0.I2C7.PMI2.AVBL == One))
{
^^PCI0.I2C7.PMI2.LD14 = One
If ((^^PCI0.I2C7.PMI2.AVBG == One))
{
^^PCI0.I2C7.PMI2.G12T = One
Sleep (One)
}
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((OSID == 0x04))
{
If ((^^PCI0.I2C7.PMI2.AVBL == One))
{
^^PCI0.I2C7.PMI2.LD14 = Zero
If ((^^PCI0.I2C7.PMI2.AVBG == One))
{
^^PCI0.I2C7.PMI2.G12T = One
Sleep (One)
}
}
}
}
}
PowerResource (P28W, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
^PCI0.I2C7,
^PCI0.I2C7.PMI5
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^PCI0.I2C7.PMI5.AVBG == One))
{
^^PCI0.I2C7.PMI5.G28X = Zero
If ((^^PCI0.I2C7.PMI5.AVBL == One))
{
Return (^^PCI0.I2C7.PMI5.V28X) /* \_SB_.PCI0.I2C7.PMI5.V28X */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((^^PCI0.I2C7.PMI5.AVBL == One))
{
^^PCI0.I2C7.PMI5.V28X = One
If ((^^PCI0.I2C7.PMI5.AVBG == One))
{
^^PCI0.I2C7.PMI5.G28X = One
Sleep (0x1E)
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((^^PCI0.I2C7.PMI5.AVBL == One))
{
^^PCI0.I2C7.PMI5.V28X = Zero
If ((^^PCI0.I2C7.PMI5.AVBG == One))
{
^^PCI0.I2C7.PMI5.G28X = One
Sleep (0x1E)
}
}
}
}
PowerResource (P18W, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
^PCI0.I2C7,
^PCI0.I2C7.PMI5
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^PCI0.I2C7.PMI5.AVBG == One))
{
^^PCI0.I2C7.PMI5.G18X = Zero
If ((^^PCI0.I2C7.PMI5.AVBL == One))
{
Return (^^PCI0.I2C7.PMI5.V18X) /* \_SB_.PCI0.I2C7.PMI5.V18X */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((^^PCI0.I2C7.PMI5.AVBL == One))
{
^^PCI0.I2C7.PMI5.V18X = One
If ((^^PCI0.I2C7.PMI5.AVBG == One))
{
^^PCI0.I2C7.PMI5.G18X = One
Sleep (0x1E)
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((^^PCI0.I2C7.PMI5.AVBL == One))
{
^^PCI0.I2C7.PMI5.V18X = Zero
If ((^^PCI0.I2C7.PMI5.AVBG == One))
{
^^PCI0.I2C7.PMI5.G18X = One
Sleep (0x1E)
}
}
}
}
PowerResource (P12W, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
^PCI0.I2C7,
^PCI0.I2C7.PMI5
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^PCI0.I2C7.PMI5.AVBG == One))
{
^^PCI0.I2C7.PMI5.G12X = Zero
If ((^^PCI0.I2C7.PMI5.AVBL == One))
{
Return (^^PCI0.I2C7.PMI5.V12X) /* \_SB_.PCI0.I2C7.PMI5.V12X */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((^^PCI0.I2C7.PMI5.AVBL == One))
{
^^PCI0.I2C7.PMI5.V12X = One
If ((^^PCI0.I2C7.PMI5.AVBG == One))
{
^^PCI0.I2C7.PMI5.G12X = One
Sleep (0x1E)
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((^^PCI0.I2C7.PMI5.AVBL == One))
{
^^PCI0.I2C7.PMI5.V12X = Zero
If ((^^PCI0.I2C7.PMI5.AVBG == One))
{
^^PCI0.I2C7.PMI5.G12X = One
Sleep (0x1E)
}
}
}
}
PowerResource (P33W, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
^PCI0.I2C7,
^PCI0.I2C7.PMI5
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^PCI0.I2C7.PMI5.AVBG == One))
{
If ((^^PCI0.I2C7.PMI5.AVBL == One))
{
Return (^^PCI0.I2C7.PMI5.G1P1) /* \_SB_.PCI0.I2C7.PMI5.G1P1 */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((^^PCI0.I2C7.PMI5.AVBG == One))
{
If (((OSID == One) || (OSYS == 0x07DF)))
{
^^PCI0.I2C7.PMI5.G1P1 = One
Sleep (0x1E)
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
Local2 = ^^PCI0.GFX0.PSPS /* \_SB_.PCI0.GFX0.PSPS */
Local2 &= 0x03
If ((Local2 == 0x03))
{
If ((^^PCI0.I2C7.PMI5.AVBG == One))
{
^^PCI0.I2C7.PMI5.G1P1 = Zero
Sleep (0x1E)
}
}
}
}
PowerResource (P33X, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
^PCI0.I2C7,
^PCI0.I2C7.PMIC
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^PCI0.I2C7.PMIC.AVBG == One))
{
^^PCI0.I2C7.PMIC.G33X = Zero
If ((^^PCI0.I2C7.PMIC.AVBL == One))
{
Return (^^PCI0.I2C7.PMIC.V33X) /* \_SB_.PCI0.I2C7.PMIC.V33X */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((^^PCI0.I2C7.PMIC.AVBL == One))
{
^^PCI0.I2C7.PMIC.V33X = One
If ((^^PCI0.I2C7.PMIC.AVBG == One))
{
^^PCI0.I2C7.PMIC.G33X = One
Sleep (0x1E)
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
Local2 = ^^PCI0.GFX0.PSPS /* \_SB_.PCI0.GFX0.PSPS */
Local2 &= 0x03
If ((Local2 == 0x03))
{
If ((^^PCI0.I2C7.PMIC.AVBL == One))
{
^^PCI0.I2C7.PMIC.V33X = Zero
If ((^^PCI0.I2C7.PMIC.AVBG == One))
{
^^PCI0.I2C7.PMIC.G33X = One
Sleep (0x1E)
}
}
}
}
}
PowerResource (P4BW, 0x05, 0x0000)
{
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
^PCI0.I2C7,
^PCI0.I2C7.PMI5
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^PCI0.I2C7.PMI5.AVBG == One))
{
^^PCI0.I2C7.PMI5.GP4B = Zero
If ((^^PCI0.I2C7.PMI5.AVBL == One))
{
Return (^^PCI0.I2C7.PMI5.VP4B) /* \_SB_.PCI0.I2C7.PMI5.VP4B */
}
}
Return (Zero)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((^^PCI0.I2C7.PMI5.AVBL == One))
{
^^PCI0.I2C7.PMI5.VP4B = One
If ((^^PCI0.I2C7.PMI5.AVBG == One))
{
^^PCI0.I2C7.PMI5.GP4B = One
Sleep (0x1E)
}
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((^^PCI0.I2C7.PMI5.AVBL == One))
{
^^PCI0.I2C7.PMI5.VP4B = Zero
If ((^^PCI0.I2C7.PMI5.AVBG == One))
{
^^PCI0.I2C7.PMI5.GP4B = One
Sleep (0x1E)
}
}
}
}
Device (BTNS)
{
Name (_HID, "ACPI0011" /* Generic Buttons Device */) // _HID: Hardware ID
Name (_DDN, "Generic HID over Interrupt Button Interface") // _DDN: DOS Device Name
Name (CDEP, Package (0x05)
{
GPO0,
GPO2,
GPO1,
^PCI0.I2C7,
^PCI0.I2C7.PMIC
})
Name (WDEP, Package (0x05)
{
GPO0,
GPO2,
GPO1,
^PCI0.I2C7,
^PCI0.I2C7.PMI5
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (CBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0BB8,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x005F
}
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0BB8,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0008
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x005D
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0008
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004D
}
})
Name (WBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullNone, 0x0BB8,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0BB8,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0008
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x005D
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0008
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004D
}
})
Name (FBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0BB8,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x005F
}
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0BB8,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0008
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x005D
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0008
}
})
Name (PBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0BB8,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0008
}
})
If ((BDID == One))
{
Return (PBUF) /* \_SB_.BTNS._CRS.PBUF */
}
Else
{
If ((PMID == 0x03))
{
If (((BDID == 0x03) || (BDID == 0x02)))
{
Return (WBUF) /* \_SB_.BTNS._CRS.WBUF */
}
Else
{
Return (FBUF) /* \_SB_.BTNS._CRS.FBUF */
}
}
Return (CBUF) /* \_SB_.BTNS._CRS.CBUF */
}
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((OSID == One) && (OSYS == 0x07DF)))
{
Return (0x0F)
}
Return (Zero)
}
Name (_DSD, Package (0x02) // _DSD: Device-Specific Data
{
ToUUID ("fa6bd625-9ce8-470d-a2c7-b3ca36c4282e"),
Package (0x02)
{
Package (0x05)
{
Zero,
One,
Zero,
One,
0x0D
},
Package (0x05)
{
One,
Zero,
One,
One,
0x81
}
}
})
}
Device (TCO0)
{
Name (_HID, "8086229C") // _HID: Hardware ID
Name (_DDN, "Watchdog Timer Device") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (_GPE, 0x0E) // _GPE: General Purpose Events
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSID == 0x04))
{
Return (0x0F)
}
Return (Zero)
}
}
Device (TBAD)
{
Name (_HID, "INTCFD9" /* Intel Baytrail SOC GPIO Controller */) // _HID: Hardware ID
Name (_CID, "PNP0C40" /* Standard Button Controller */) // _CID: Compatible ID
Name (_DDN, "Keyboard less system - 5 Button Array Device") // _DDN: DOS Device Name
Name (CDEP, Package (0x05)
{
GPO0,
GPO2,
GPO1,
^PCI0.I2C7,
^PCI0.I2C7.PMIC
})
Name (WDEP, Package (0x05)
{
GPO0,
GPO2,
GPO1,
^PCI0.I2C7,
^PCI0.I2C7.PMI5
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (CBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0BB8,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0008
}
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0BB8,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x005F
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x005D
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0008
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004D
}
})
Name (WBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0BB8,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0008
}
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullNone, 0x0BB8,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x005D
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0008
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004D
}
})
Name (PBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0BB8,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0008
}
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0BB8,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0008
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004E
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0050
}
})
Name (QBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0BB8,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0008
}
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault, 0x0BB8,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0xFFFF
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004E
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0050
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0xFFFF
}
})
Name (RBUF, ResourceTemplate ()
{
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0BB8,
"\\_SB.GPO2", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0008
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x005F
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
"\\_SB.GPO0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x005D
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0BB8,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0008
}
})
If (((BDID == 0x09) || (BDID == 0x0A)))
{
Return (RBUF) /* \_SB_.TBAD._CRS.RBUF */
}
If ((BDID == One))
{
If ((OSID == 0x04))
{
Return (QBUF) /* \_SB_.TBAD._CRS.QBUF */
}
Return (PBUF) /* \_SB_.TBAD._CRS.PBUF */
}
Else
{
If ((PMID == 0x03))
{
Return (WBUF) /* \_SB_.TBAD._CRS.WBUF */
}
Return (CBUF) /* \_SB_.TBAD._CRS.CBUF */
}
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((OSID != One) || (OSYS <= 0x07DD)))
{
Return (0x0F)
}
Return (Zero)
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
Debug = "Method _DSM for Button Device"
If ((PMID == Zero))
{
If ((OSYS == 0x07DD))
{
^^PCI0.I2C7.PMIC.FCOT = One
}
Else
{
^^PCI0.I2C7.PMIC.FCOT = Zero
}
}
If ((Arg0 == ToUUID ("dfbcf3c5-e7a5-44e6-9c1f-29c76f6e059c") /* Power Button Device */))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Return (Buffer (One)
{
0x03 // .
})
}
Case (One)
{
Return (0x07)
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
Return (Zero)
}
}
Device (MBID)
{
Name (_HID, "INT33BD" /* Intel Baytrail Mailbox Device */) // _HID: Hardware ID
Name (_CID, "INT33BD" /* Intel Baytrail Mailbox Device */) // _CID: Compatible ID
Name (_HRV, 0x02) // _HRV: Hardware Revision
Name (_UID, One) // _UID: Unique ID
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xE00000D0, // Address Base
0x00000010, // Address Length
)
})
Return (RBUF) /* \_SB_.MBID._CRS.RBUF */
}
OperationRegion (REGS, 0x87, Zero, 0x30)
Field (REGS, DWordAcc, NoLock, Preserve)
{
PORT, 32,
REG, 32,
DATA, 32,
MASK, 32,
BE, 32,
OP, 32,
CODE, 32,
BAR, 32,
DEV, 32,
FUN, 32
}
Name (AVBL, Zero)
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If ((Arg0 == 0x87))
{
AVBL = Arg1
}
}
Method (READ, 3, Serialized)
{
Local0 = 0xFFFFFFFF
If ((AVBL == One))
{
OP = Zero
PORT = Arg0
REG = Arg1
BE = Arg2
Local0 = DATA /* \_SB_.MBID.DATA */
}
Return (Local0)
}
Method (WRIT, 4, Serialized)
{
If ((AVBL == One))
{
OP = One
PORT = Arg0
REG = Arg1
BE = Arg2
DATA = Arg3
}
}
Method (MODI, 5, Serialized)
{
If ((AVBL == One))
{
OP = 0x02
PORT = Arg0
REG = Arg1
BE = Arg2
DATA = Arg3
MASK = Arg4
}
}
Method (RMBX, 6, Serialized)
{
Local0 = 0xFFFFFFFF
If ((AVBL == One))
{
OP = 0x03
PORT = Arg0
REG = Arg1
BE = 0x03
CODE = Arg2
BAR = Arg3
DEV = Arg4
FUN = Arg5
Local0 = DATA /* \_SB_.MBID.DATA */
}
Return (Local0)
}
Method (WMBX, 7, Serialized)
{
If ((AVBL == One))
{
OP = 0x04
PORT = Arg0
REG = Arg1
BE = 0x03
DATA = Arg2
CODE = Arg3
BAR = Arg4
DEV = Arg5
FUN = Arg6
}
}
}
Device (PAGD)
{
Name (_HID, "ACPI000C" /* Processor Aggregator Device */) // _HID: Hardware ID
Name (_CID, "ACPI000C" /* Processor Aggregator Device */) // _CID: Compatible ID
Name (IDCN, Zero)
Name (PURP, Package (0x02)
{
One,
Zero
})
Method (_PUR, 0, Serialized) // _PUR: Processor Utilization Request
{
PURP [One] = IDCN /* \_SB_.PAGD.IDCN */
Return (PURP) /* \_SB_.PAGD.PURP */
}
Method (_OST, 3, Serialized) // _OST: OSPM Status Indication
{
Debug = "_OST is invoked"
}
}
}
Scope (_TZ)
{
ThermalZone (TZ00)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
\_SB.PCI0.I2C7
})
Method (_TMP, 0, Serialized) // _TMP: Temperature
{
If ((PMID == Zero))
{
If ((\_SB.PCI0.I2C7.PMIC.AVBG == One))
{
\_SB.PCI0.I2C7.PMIC.GMP2 = Zero
If ((\_SB.PCI0.I2C7.PMIC.AVBD == One))
{
Return (\_SB.PCI0.I2C7.PMIC.TMP2)
}
}
}
If ((PMID == 0x03))
{
If ((\_SB.PCI0.I2C7.PMI5.AVBG == One))
{
\_SB.PCI0.I2C7.PMI5.GMP2 = Zero
If ((\_SB.PCI0.I2C7.PMI5.AVBD == One))
{
Return (\_SB.PCI0.I2C7.PMI5.TMP2)
}
}
}
If ((PMID == One))
{
If ((\_SB.PCI0.I2C7.PMI2.AVBG == One))
{
\_SB.PCI0.I2C7.PMI2.GMP0 = Zero
If ((\_SB.PCI0.I2C7.PMI2.AVBD == One))
{
Return (\_SB.PCI0.I2C7.PMI2.TMP0)
}
}
}
If ((PMID == 0x02))
{
If ((\_SB.PCI0.I2C7.PMI1.AVBG == One))
{
\_SB.PCI0.I2C7.PMI1.GMP0 = Zero
If ((\_SB.PCI0.I2C7.PMI1.AVBD == One))
{
Return (\_SB.PCI0.I2C7.PMI1.TMP0)
}
}
}
Return (0x0AAC)
}
Method (_CRT, 0, Serialized) // _CRT: Critical Temperature
{
Return ((0x0AAC + (CRTT * 0x0A)))
}
}
}
Scope (_SB.PCI0)
{
Device (PDRC)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Name (BUF0, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xE0000000, // Address Base
0x10000000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFEA00000, // Address Base
0x00100000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED01000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED03000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED06000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED08000, // Address Base
0x00002000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED80000, // Address Base
0x00040000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED1C000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadOnly,
0xFEE00000, // Address Base
0x00100000, // Address Length
)
})
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Return (BUF0) /* \_SB_.PCI0.PDRC.BUF0 */
}
}
}
Method (BRTN, 1, Serialized)
{
If (((DID1 & 0x0F00) == 0x0400))
{
Notify (\_SB.PCI0.GFX0.DD01, Arg0)
}
If (((DID2 & 0x0F00) == 0x0400))
{
Notify (\_SB.PCI0.GFX0.DD02, Arg0)
}
If (((DID3 & 0x0F00) == 0x0400))
{
Notify (\_SB.PCI0.GFX0.DD03, Arg0)
}
If (((DID4 & 0x0F00) == 0x0400))
{
Notify (\_SB.PCI0.GFX0.DD04, Arg0)
}
If (((DID5 & 0x0F00) == 0x0400))
{
Notify (\_SB.PCI0.GFX0.DD05, Arg0)
}
If (CondRefOf (NDN3))
{
NDN3 (Arg0)
}
}
Scope (_SB.PCI0.I2C7)
{
Device (BMDR)
{
Name (_HID, "INT33FE" /* XPOWER Battery Device */) // _HID: Hardware ID
Name (_CID, "INT33FE" /* XPOWER Battery Device */) // _CID: Compatible ID
Name (_DDN, "XPOWER Battery Device") // _DDN: DOS Device Name
Name (_DEP, Package (0x05) // _DEP: Dependencies
{
I2C2,
I2C7,
PMI1,
GPO1,
MBID
})
Name (BCCC, 0x40)
Name (BDCP, 0x1E02)
Name (BCCE, One)
Name (BCIL, 0x03)
Name (BCHG, 0x04)
Name (BCTV, 0xF0)
Name (BEIL, 0x07)
Name (BECH, 0x40)
Name (BETV, 0xB0)
Name (BSTP, Package (0x04)
{
Zero,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
Name (BUFF, Buffer (0x03){})
CreateByteField (BUFF, Zero, STAT)
CreateByteField (BUFF, 0x02, DATA)
Name (RBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x006B, ControllerInitiated, 0x000186A0,
AddressingMode7Bit, "\\_SB.PCI0.I2C2",
0x00, ResourceConsumer, , Exclusive,
)
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.I2C7.BMDR.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSID == One))
{
If (((BDID == One) && (PMID == 0x02)))
{
Return (0x0F)
}
}
Return (Zero)
}
OperationRegion (BMOP, 0x9E, Zero, 0x0100)
Field (BMOP, DWordAcc, NoLock, Preserve)
{
SOC, 32,
FCCP, 32,
CHST, 32,
RMCP, 32,
VOLT, 32,
BATP, 32,
SRP0, 32,
STYP, 32,
CHGC, 32,
STPC, 32,
GADC, 32,
TTEM, 32,
TTCH, 32,
CYCL, 32,
BTP, 32,
DPCU, 32,
DSCP, 32,
CHEN, 32
}
Name (AVBL, Zero)
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If ((Arg0 == 0x9E))
{
AVBL = Arg1
}
}
Method (DPTU, 0, NotSerialized)
{
ADBG ("DPTU BMDR")
If ((AVBL == One))
{
DPCU = BCCC /* \_SB_.PCI0.I2C7.BMDR.BCCC */
CHEN = BCCE /* \_SB_.PCI0.I2C7.BMDR.BCCE */
}
Return (One)
}
Method (CMUX, 1, Serialized)
{
If ((^^AVBL == One))
{
If ((^^^^GPO1.AVBL == One))
{
If ((Arg0 != 0x03)){}
Else
{
}
}
}
}
Method (SBTP, 0, NotSerialized)
{
ADBG ("SBTP BMDR")
Notify (ADP1, 0x80) // Status Change
If (CondRefOf (\_SB.DPTF, Local3))
{
ADBG ("SBTP Notify DPTF")
Notify (DPTF, 0x86) // Device-Specific
Notify (TCHG, 0x80) // Status Change
}
Return (One)
}
Method (PTYP, 0, NotSerialized)
{
If ((PMID == One))
{
Return (0x06)
}
If ((PMID == 0x02))
{
Return (0x05)
}
Return (Zero)
}
Method (ILIM, 0, NotSerialized)
{
Return (BCIL) /* \_SB_.PCI0.I2C7.BMDR.BCIL */
}
Method (ICHG, 0, NotSerialized)
{
Return (BCHG) /* \_SB_.PCI0.I2C7.BMDR.BCHG */
}
Method (BMTV, 0, NotSerialized)
{
Return (BCTV) /* \_SB_.PCI0.I2C7.BMDR.BCTV */
}
Method (INCH, 0, NotSerialized)
{
Return (MCHS) /* \MCHS */
}
Method (ECHG, 0, NotSerialized)
{
Return (BECH) /* \_SB_.PCI0.I2C7.BMDR.BECH */
}
Method (ECTV, 0, NotSerialized)
{
Return (BETV) /* \_SB_.PCI0.I2C7.BMDR.BETV */
}
Method (ECIL, 0, NotSerialized)
{
Return (BEIL) /* \_SB_.PCI0.I2C7.BMDR.BEIL */
}
Method (EEXH, 1, Serialized)
{
Local0 = ^^^^GPO1.SUS4 /* \_SB_.GPO1.SUS4 */
ADBG ("GPIO PAD BEFORE")
ADBG (Local0)
If ((Arg0 == One))
{
Local0 |= 0x02
}
ADBG ("GPIO PAD AFTER")
ADBG (Local0)
^^^^GPO1.SUS4 = Local0
}
Method (GPTG, 1, Serialized)
{
Local0 = ^^^^GPO3.PWM1 /* \_SB_.GPO3.PWM1 */
ADBG ("GPIO PAD BEFORE")
ADBG (Local0)
If ((Arg0 == One))
{
Local0 |= 0x02
}
Else
{
Local0 &= 0xFFFFFFFD
}
ADBG ("GPIO PAD AFTER")
ADBG (Local0)
^^^^GPO3.PWM1 = Local0
}
Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List
{
Return (_SB) /* \_SB_ */
}
Method (PSOC, 0, NotSerialized)
{
ADBG ("PSOC")
If ((AVBL == One))
{
Local1 = SOC /* \_SB_.PCI0.I2C7.BMDR.SOC_ */
Return (Local1)
}
Return (Zero)
}
Method (PMAX, 0, NotSerialized)
{
ADBG ("PMAX")
If ((AVBL == One))
{
Local1 = FCCP /* \_SB_.PCI0.I2C7.BMDR.FCCP */
Return (Local1)
}
Return (Zero)
}
Method (VMIN, 0, NotSerialized)
{
Return (0x0DAC)
}
Method (APWR, 0, NotSerialized)
{
Return (0x0365C040)
}
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("aa7bcf77-263f-4e28-8e16-9cac5c610928")))
{
If ((Arg2 == One))
{
Return (Zero)
}
If ((Arg2 == 0x02))
{
Return (0x2F)
}
If ((Arg2 == 0x03))
{
Return (0xE0)
}
If ((Arg2 == 0x04))
{
Return (0x03)
}
If ((Arg2 == 0x05))
{
Return (One)
}
If ((Arg2 == 0x06))
{
Return (0x02)
}
If ((Arg2 == 0x07))
{
Return (One)
}
Return (0xFFFFFFFF)
}
}
Method (PSRC, 0, NotSerialized)
{
ADBG ("BMDR PSRC")
If ((AVBL == One))
{
ADBG ("Read STYP")
Local0 = STYP /* \_SB_.PCI0.I2C7.BMDR.STYP */
If ((Local0 == Zero))
{
Return (Zero)
}
If ((Local0 == One))
{
Return (One)
}
If ((Local0 == 0x02))
{
Return (0x02)
}
If ((Local0 == 0x03))
{
Return (0x03)
}
If ((Local0 == 0x04))
{
Return (0x04)
}
If ((Local0 == 0x05))
{
Return (0x05)
}
}
Return (One)
}
Method (BATD, 0, NotSerialized)
{
If ((AVBL == One))
{
ADBG ("BATD")
Local0 = CHST /* \_SB_.PCI0.I2C7.BMDR.CHST */
Local0 &= 0x0F
If ((Local0 == 0x02))
{
Local1 = 0x02
}
If ((Local0 == One))
{
Local1 = One
}
If ((Local0 == 0x08))
{
Local1 = Zero
}
BSTP [Zero] = Local1
BSTP [One] = CHGC /* \_SB_.PCI0.I2C7.BMDR.CHGC */
BSTP [0x02] = RMCP /* \_SB_.PCI0.I2C7.BMDR.RMCP */
BSTP [0x03] = VOLT /* \_SB_.PCI0.I2C7.BMDR.VOLT */
DPCU = BCCC /* \_SB_.PCI0.I2C7.BMDR.BCCC */
}
Return (BSTP) /* \_SB_.PCI0.I2C7.BMDR.BSTP */
}
Method (CTYP, 0, NotSerialized)
{
Return (0x02)
}
Method (ARTG, 0, NotSerialized)
{
Return (0x0365C040)
}
Method (BMDC, 0, NotSerialized)
{
Return (BDCP) /* \_SB_.PCI0.I2C7.BMDR.BDCP */
}
}
}
Scope (_SB.PCI0.I2C3)
{
Device (TIDR)
{
Name (_HID, "INT33FE" /* XPOWER Battery Device */) // _HID: Hardware ID
Name (_CID, "INT33FE" /* XPOWER Battery Device */) // _CID: Compatible ID
Name (_DDN, "TI PMIC Battery Device") // _DDN: DOS Device Name
Name (BCCC, 0x80)
Name (BCCE, One)
Name (OTGS, Zero)
Name (CHPR, One)
Name (FGDV, 0x0A)
Name (BCIL, 0x65)
Name (BCVF, 0x93)
Name (BCFV, 0xED)
Name (BCCH, 0x38)
Name (BCST, 0x05)
Name (BCPE, 0x74)
Name (BCCL, 0xFFFFFFFF)
Name (BCLP, 0x1004)
Name (DSVO, 0x0EA6)
Name (BTPC, Zero)
Name (AVCU, Zero)
Name (BSTP, Package (0x04)
{
Zero,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
Name (_DEP, Package (0x05) // _DEP: Dependencies
{
I2C7,
^^I2C7.PMI2,
I2C3,
GPO1,
MBID
})
Name (BUFF, Buffer (0x03){})
CreateByteField (BUFF, Zero, STAT)
CreateByteField (BUFF, 0x02, DATA)
Name (RBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x006B, ControllerInitiated, 0x000186A0,
AddressingMode7Bit, "\\_SB.PCI0.I2C3",
0x00, ResourceConsumer, , Exclusive,
)
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.I2C3.TIDR.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSID == One))
{
If (((BDID == One) && (PMID == One)))
{
Return (0x0F)
}
}
Return (Zero)
}
OperationRegion (BMOP, 0x9E, Zero, 0x0100)
Field (BMOP, DWordAcc, NoLock, Preserve)
{
SOC, 32,
FCCP, 32,
CHST, 32,
RMCP, 32,
VOLT, 32,
BATP, 32,
SRP0, 32,
STYP, 32,
CHGC, 32,
STPC, 32,
GADC, 32,
TTEM, 32,
TTCH, 32,
CYCL, 32,
BTP, 32,
DPCU, 32,
DSCP, 32,
CHEN, 32
}
Name (AVBL, Zero)
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If ((Arg0 == 0x9E))
{
AVBL = Arg1
}
}
Method (DPTU, 0, NotSerialized)
{
ADBG ("DPTU TIDR")
If ((AVBL == One))
{
DPCU = BCCC /* \_SB_.PCI0.I2C3.TIDR.BCCC */
CHEN = BCCE /* \_SB_.PCI0.I2C3.TIDR.BCCE */
}
Return (One)
}
Method (CMUX, 1, Serialized)
{
If ((^^^I2C7.AVBL == One))
{
If ((^^^^GPO1.AVBL == One))
{
BUFF = ^^^I2C7.SIRQ /* \_SB_.PCI0.I2C7.SIRQ */
DATA &= 0x20
If ((DATA == 0x20))
{
If ((Arg0 != 0x03))
{
CDRD (One)
If ((^^^^GPO3.AMMR == One))
{
^^^^GPO3.DMTX = 0x8102
}
}
}
Else
{
CDRD (Zero)
If ((^^^^GPO3.AMMR == One))
{
^^^^GPO3.DMTX = 0x8100
}
}
}
}
}
Method (SBTP, 0, NotSerialized)
{
ADBG ("SBTP TIDR")
Notify (ADP1, 0x80) // Status Change
If (CondRefOf (\_SB.DPTF, Local3))
{
ADBG ("SBTP Notify DPTF")
Notify (DPTF, 0x86) // Device-Specific
Notify (TCHG, 0x80) // Status Change
}
Return (One)
}
Method (PTYP, 0, NotSerialized)
{
If ((PMID == One))
{
Return (0x06)
}
If ((PMID == 0x02))
{
Return (0x05)
}
Return (Zero)
}
Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List
{
Return (_SB) /* \_SB_ */
}
Method (PSOC, 0, NotSerialized)
{
ADBG ("PSOC")
If ((AVBL == One))
{
Local1 = SOC /* \_SB_.PCI0.I2C3.TIDR.SOC_ */
Return (Local1)
}
Return (Zero)
}
Method (PMAX, 0, NotSerialized)
{
ADBG ("PMAX")
If ((AVBL == One))
{
Local1 = FCCP /* \_SB_.PCI0.I2C3.TIDR.FCCP */
Return (Local1)
}
Return (Zero)
}
Method (VMIN, 0, NotSerialized)
{
Return (0x0DAC)
}
Method (APWR, 0, NotSerialized)
{
Return (0x0365C040)
}
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("aa7bcf77-263f-4e28-8e16-9cac5c610928")))
{
If ((Arg2 == One))
{
Return (Zero)
}
If ((Arg2 == 0x02))
{
Return (0x08)
}
If ((Arg2 == 0x03))
{
Return (0xC0)
}
If ((Arg2 == 0x04))
{
Return (0x02)
}
If ((Arg2 == 0x05))
{
Return (One)
}
If ((Arg2 == 0x06))
{
Return (0xFFFFFFFF)
}
If ((Arg2 == 0x07))
{
Return (Zero)
}
Return (0xFFFFFFFF)
}
}
Method (PSRC, 0, NotSerialized)
{
ADBG ("TIDR PSRC")
If ((AVBL == One))
{
ADBG ("Read STYP")
Local0 = STYP /* \_SB_.PCI0.I2C3.TIDR.STYP */
If ((Local0 == Zero))
{
Return (Zero)
}
If ((Local0 == One))
{
Return (One)
}
If ((Local0 == 0x02))
{
Return (0x02)
}
If ((Local0 == 0x03))
{
Return (0x03)
}
If ((Local0 == 0x04))
{
Return (0x04)
}
If ((Local0 == 0x05))
{
Return (0x05)
}
}
Return (One)
}
Method (BATD, 0, NotSerialized)
{
If ((AVBL == One))
{
ADBG ("BATD")
Local0 = CHST /* \_SB_.PCI0.I2C3.TIDR.CHST */
Local0 &= 0x0F
If ((Local0 == 0x02))
{
Local1 = 0x02
}
If ((Local0 == One))
{
Local1 = One
}
If ((Local0 == 0x08))
{
Local1 = Zero
}
BSTP [Zero] = Local1
BSTP [One] = CHGC /* \_SB_.PCI0.I2C3.TIDR.CHGC */
BSTP [0x02] = RMCP /* \_SB_.PCI0.I2C3.TIDR.RMCP */
BSTP [0x03] = VOLT /* \_SB_.PCI0.I2C3.TIDR.VOLT */
DPCU = BCCC /* \_SB_.PCI0.I2C3.TIDR.BCCC */
}
Return (BSTP) /* \_SB_.PCI0.I2C3.TIDR.BSTP */
}
Method (CTYP, 0, NotSerialized)
{
Return (0x02)
}
Method (ARTG, 0, NotSerialized)
{
Return (0x0365C040)
}
}
OperationRegion (POCR, GenericSerialBus, Zero, 0x0100)
Field (POCR, BufferAcc, NoLock, Preserve)
{
Connection (
I2cSerialBusV2 (0x006B, ControllerInitiated, 0x000F4240,
AddressingMode7Bit, "\\_SB.PCI0.I2C3",
0x00, ResourceConsumer, , Exclusive,
)
),
Offset (0x01),
AccessAs (BufferAcc, AttribByte),
P0TG, 8
}
Device (ABAT)
{
Name (_HID, "TBQ24296" /* Charger */) // _HID: Hardware ID
Name (_CID, "TBQ24296" /* Charger */) // _CID: Compatible ID
Name (_DDN, "TI PMIC Battery Device") // _DDN: DOS Device Name
Name (_DEP, Package (0x03) // _DEP: Dependencies
{
GPO1,
GPO3,
I2C3
})
Name (RBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x006B, ControllerInitiated, 0x000186A0,
AddressingMode7Bit, "\\_SB.PCI0.I2C3",
0x00, ResourceConsumer, , Exclusive,
)
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0005
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0045
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0041
}
})
Name (ABUF, Buffer (0x02)
{
0x79, 0x00 // y.
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
If ((OSID == 0x04))
{
Return (ABUF) /* \_SB_.PCI0.I2C3.ABAT.ABUF */
}
Return (RBUF) /* \_SB_.PCI0.I2C3.ABAT.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((BDID == One) && (PMID == One)))
{
If ((OSID != One))
{
Return (0x0F)
}
}
Return (Zero)
}
}
}
Scope (_SB.PCI0.I2C1)
{
Device (USTC)
{
Name (_HID, "FUSB0300") // _HID: Hardware ID
Name (_UID, Zero) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((OSID == 0x04) && ((BDID == 0x09) || (BDID == 0x0A))))
{
Return (0x0F)
}
Return (Zero)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (SBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x0022, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, , Exclusive,
)
GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0005
}
})
Return (SBUF) /* \_SB_.PCI0.I2C1.USTC._CRS.SBUF */
}
}
Device (PER1)
{
Name (_HID, "PI330532") // _HID: Hardware ID
Name (_UID, Zero) // _UID: Unique ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (SBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x0054, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, , Exclusive,
)
})
Return (SBUF) /* \_SB_.PCI0.I2C1.PER1._CRS.SBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((OSID == 0x04) && ((BDID == 0x09) || (BDID == 0x0A))))
{
Return (0x0F)
}
Return (Zero)
}
}
Device (ANFG)
{
Name (_HID, "MAX17047" /* Fuel Gauge Controller */) // _HID: Hardware ID
Name (_CID, "MAX17047" /* Fuel Gauge Controller */) // _CID: Compatible ID
Name (_DDN, "Fuel Gauge Controller") // _DDN: DOS Device Name
Name (RBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x0036, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, , Exclusive,
)
GpioInt (Level, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0001
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.I2C1.ANFG.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((OSID != One) && (BDID != One)))
{
Return (0x0F)
}
Return (Zero)
}
}
Device (ANCG)
{
Name (_HID, "SMB0349" /* Charger */) // _HID: Hardware ID
Name (_CID, "SMB0349" /* Charger */) // _CID: Compatible ID
Name (_DDN, "Charger") // _DDN: DOS Device Name
Name (RBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x0035, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, , Exclusive,
)
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.I2C1.ANCG.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((OSID != One) && (BDID != One)))
{
Return (0x0F)
}
Return (Zero)
}
}
Device (ANF1)
{
Name (_HID, "TXN27501") // _HID: Hardware ID
Name (_CID, "TXN27501") // _CID: Compatible ID
Name (_DDN, "TI Fuel Gauge Controller") // _DDN: DOS Device Name
Name (RBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x006B, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, , Exclusive,
)
GpioInt (Level, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0001
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.I2C1.ANF1.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSID != One))
{
Return (0x0F)
}
Return (Zero)
}
}
Device (ANC2)
{
Name (_HID, "TXN24292") // _HID: Hardware ID
Name (_CID, "TXN24292") // _CID: Compatible ID
Name (_DDN, "TI Charger") // _DDN: DOS Device Name
Name (RBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x0055, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, , Exclusive,
)
GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullUp, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0005
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.I2C1.ANC2.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSID != One))
{
Return (0x0F)
}
Return (Zero)
}
}
Name (SMFG, ResourceTemplate ()
{
I2cSerialBusV2 (0x0036, ControllerInitiated, 0x000186A0,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, , Exclusive,
)
})
Name (AVBL, Zero)
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If ((Arg0 == 0x09))
{
AVBL = Arg1
}
}
OperationRegion (DVFG, GenericSerialBus, Zero, 0x0100)
Field (DVFG, BufferAcc, NoLock, Preserve)
{
Connection (SMFG),
Offset (0x05),
AccessAs (BufferAcc, AttribBytes (0x02)),
FG05, 8
}
Field (DVFG, BufferAcc, NoLock, Preserve)
{
Connection (SMFG),
Offset (0x10),
AccessAs (BufferAcc, AttribBytes (0x02)),
FG10, 8
}
Field (DVFG, BufferAcc, NoLock, Preserve)
{
Connection (SMFG),
Offset (0x17),
AccessAs (BufferAcc, AttribBytes (0x02)),
FG17, 8
}
Field (DVFG, BufferAcc, NoLock, Preserve)
{
Connection (SMFG),
Offset (0x18),
AccessAs (BufferAcc, AttribBytes (0x02)),
FG18, 8
}
Field (DVFG, BufferAcc, NoLock, Preserve)
{
Connection (SMFG),
Offset (0x09),
AccessAs (BufferAcc, AttribBytes (0x02)),
FG09, 8
}
Field (DVFG, BufferAcc, NoLock, Preserve)
{
Connection (SMFG),
Offset (0x0A),
AccessAs (BufferAcc, AttribBytes (0x02)),
FG0A, 8
}
Field (DVFG, BufferAcc, NoLock, Preserve)
{
Connection (SMFG),
Offset (0x11),
AccessAs (BufferAcc, AttribBytes (0x02)),
FG11, 8
}
Field (DVFG, BufferAcc, NoLock, Preserve)
{
Connection (SMFG),
AccessAs (BufferAcc, AttribBytes (0x02)),
FG00, 8
}
Field (DVFG, BufferAcc, NoLock, Preserve)
{
Connection (SMFG),
Offset (0x03),
AccessAs (BufferAcc, AttribBytes (0x02)),
FG03, 8
}
Field (DVFG, BufferAcc, NoLock, Preserve)
{
Connection (SMFG),
Offset (0x1D),
AccessAs (BufferAcc, AttribBytes (0x02)),
FG1D, 8
}
Field (DVFG, BufferAcc, NoLock, Preserve)
{
Connection (SMFG),
Offset (0x2B),
AccessAs (BufferAcc, AttribBytes (0x02)),
FG2B, 8
}
Field (DVFG, BufferAcc, NoLock, Preserve)
{
Connection (SMFG),
Offset (0x08),
AccessAs (BufferAcc, AttribBytes (0x02)),
THRM, 8
}
Field (DVFG, BufferAcc, NoLock, Preserve)
{
Connection (SMFG),
Offset (0x06),
AccessAs (BufferAcc, AttribBytes (0x02)),
SOCR, 8
}
Field (DVFG, BufferAcc, NoLock, Preserve)
{
Connection (SMFG),
Offset (0x1C),
AccessAs (BufferAcc, AttribBytes (0x02)),
MXCU, 8
}
Name (SMBC, ResourceTemplate ()
{
I2cSerialBusV2 (0x0035, ControllerInitiated, 0x000186A0,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, , Exclusive,
)
})
OperationRegion (DVBC, GenericSerialBus, Zero, 0x0100)
Field (DVBC, BufferAcc, NoLock, Preserve)
{
Connection (SMBC),
AccessAs (BufferAcc, AttribByte),
BC00, 8,
BC01, 8,
BC02, 8,
BC03, 8,
BC04, 8,
BC05, 8,
BC06, 8,
BC07, 8,
BC08, 8,
BC09, 8,
BC0A, 8,
BC0B, 8,
BC0C, 8,
BC0D, 8,
BC0E, 8,
BC0F, 8,
BC10, 8
}
Field (DVBC, BufferAcc, NoLock, Preserve)
{
Connection (SMBC),
Offset (0x3D),
AccessAs (BufferAcc, AttribByte),
BC3D, 8
}
Field (DVBC, BufferAcc, NoLock, Preserve)
{
Connection (SMBC),
Offset (0x30),
AccessAs (BufferAcc, AttribByte),
BC30, 8
}
Field (DVBC, BufferAcc, NoLock, Preserve)
{
Connection (SMBC),
Offset (0x31),
AccessAs (BufferAcc, AttribByte),
BC31, 8
}
Field (DVBC, BufferAcc, NoLock, Preserve)
{
Connection (SMBC),
Offset (0x3C),
AccessAs (BufferAcc, AttribByte),
BC3C, 8
}
Field (DVBC, BufferAcc, NoLock, Preserve)
{
Connection (SMBC),
Offset (0x3E),
AccessAs (BufferAcc, AttribByte),
BC3E, 8
}
Field (DVBC, BufferAcc, NoLock, Preserve)
{
Connection (SMBC),
Offset (0x35),
AccessAs (BufferAcc, AttribBytes (0x06)),
BC35, 8
}
Device (BATC)
{
Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Name (BCCE, One)
Name (OTGS, Zero)
Name (HSMD, Zero)
Name (CHPR, Zero)
Name (FGDV, 0x0A)
Name (BCCC, 0x46)
Name (RECT, Zero)
Name (BCCL, 0xFFFFFFFF)
Name (BCLP, 0x1004)
Name (DSCP, 0x1300)
Name (DSVO, 0x0EA6)
Name (BTPC, Zero)
Name (AVCU, Zero)
Name (DCPS, Zero)
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
I2C1
})
Name (BUFF, Buffer (0x03)
{
0x00, 0x01, 0x00 // ...
})
CreateByteField (BUFF, Zero, BYAT)
CreateByteField (BUFF, 0x02, DATA)
Name (BUF1, Buffer (0x06)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ......
})
CreateByteField (BUF1, Zero, BSTA)
CreateByteField (BUF1, One, BLEN)
CreateDWordField (BUF1, 0x02, DAT1)
Name (BUF2, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00 // ....
})
CreateByteField (BUF2, Zero, BSTS)
CreateByteField (BUF2, One, SLEN)
CreateWordField (BUF2, 0x02, WRD1)
Name (INBU, Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
CreateByteField (INBU, Zero, INST)
CreateByteField (INBU, One, INLN)
CreateByteField (INBU, 0x02, INT0)
CreateByteField (INBU, 0x03, INT1)
CreateByteField (INBU, 0x04, INT2)
CreateByteField (INBU, 0x05, INT3)
CreateByteField (INBU, 0x06, INT4)
CreateByteField (INBU, 0x07, INT5)
Name (BIXP, Package (0x14)
{
Zero,
One,
0xFFFFFFFF,
0xFFFFFFFF,
One,
0xFFFFFFFF,
0x0A,
0x04,
Zero,
0x00017318,
0xFFFFFFFF,
0xFFFFFFFF,
0x88B8,
0x61A8,
One,
One,
"SR Real Battery",
"123456789",
"LION",
"Intel SR 1"
})
Name (BSTP, Package (0x04)
{
Zero,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
Method (_BIX, 0, NotSerialized) // _BIX: Battery Information Extended
{
If ((AVBL == One))
{
BUF2 = FG10 /* \_SB_.PCI0.I2C1.FG10 */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
Local2 = (Local1 * 0x05)
Divide (Local2, FGDV, Local0, Local1)
BIXP [0x03] = Local1
}
BUF2 = FG17 /* \_SB_.PCI0.I2C1.FG17 */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
Divide (Local1, 0x64, Local0, Local2)
BIXP [0x08] = Local2
}
}
BIXP [0x02] = DSCP /* \_SB_.PCI0.I2C1.BATC.DSCP */
BIXP [0x05] = DSVO /* \_SB_.PCI0.I2C1.BATC.DSVO */
Divide (DSCP, 0x0A, Local0, Local1)
BIXP [0x06] = Local1
Divide (DSCP, 0x14, Local0, Local1)
BIXP [0x07] = Local1
Return (BIXP) /* \_SB_.PCI0.I2C1.BATC.BIXP */
}
Method (_BST, 0, NotSerialized) // _BST: Battery Status
{
If ((AVBL == One))
{
ADBG ("CH PR")
BUFF = BC30 /* \_SB_.PCI0.I2C1.BC30 */
Local1 = (DATA & 0x7F)
DATA = (Local1 | 0x80)
BC30 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
DATA = 0x3D
BC04 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
DATA = 0x05
BC05 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
DATA = 0xA5
BC07 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
DATA = 0xCF
BC09 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
DATA = 0x47
BC0A = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
DATA = 0x66
BC10 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
CHPR = Zero
ADBG ("CH PR DONE")
BUFF = BC3D /* \_SB_.PCI0.I2C1.BC3D */
If ((BYAT != One))
{
Local0 = (DATA >> One)
Local0 &= 0x03
If (((Local0 == One) || (Local0 == 0x02)))
{
Local1 = 0x02
}
If ((Local0 == Zero))
{
Local1 = One
}
If ((Local0 == 0x03))
{
Local1 = Zero
}
BSTP [Zero] = Local1
}
BUF2 = FG0A /* \_SB_.PCI0.I2C1.FG0A */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
If ((Local1 & 0x8000))
{
Local1 = (0xFFFF - Local1)
}
Divide (Local1, FGDV, Local0, Local2)
Local1 = (Local2 * 0x9C)
Divide (Local1, 0x64, Local0, Local2)
BSTP [One] = Local2
}
BUF2 = FG05 /* \_SB_.PCI0.I2C1.FG05 */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
Local2 = (Local1 * 0x05)
Divide (Local2, FGDV, Local0, Local1)
BSTP [0x02] = Local1
}
BUF2 = FG09 /* \_SB_.PCI0.I2C1.FG09 */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
Local2 = (Local1 >> 0x03)
Local1 = (Local2 * 0x0271)
Divide (Local1, 0x03E8, Local0, Local2)
BSTP [0x03] = Local2
}
BUFF = BC30 /* \_SB_.PCI0.I2C1.BC30 */
Local1 = (DATA & 0x7F)
DATA = (Local1 | 0x80)
BC30 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
BUFF = BC00 /* \_SB_.PCI0.I2C1.BC00 */
Local1 = BCCC /* \_SB_.PCI0.I2C1.BATC.BCCC */
Local3 = Local1
Local2 = (DATA & 0xF0)
Local0 = (Local3 & 0xF0)
If ((Local2 != Local0))
{
Local2 = (DATA & 0x0F)
Local0 = (Local1 & 0xF0)
DATA = (Local2 | Local0)
BC00 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
}
BUFF = BC06 /* \_SB_.PCI0.I2C1.BC06 */
Local1 = (DATA & 0x9F)
DATA = (Local1 | 0x20)
BC06 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
BUFF = BC30 /* \_SB_.PCI0.I2C1.BC30 */
Local1 = (DATA & 0x7D)
If ((BCCE == One))
{
ADBG ("EN CH")
DATA = (Local1 | Zero)
DATA &= 0xFB
BC30 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
}
Else
{
ADBG ("DIS CH")
DATA = (Local1 | 0x02)
BC30 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
}
}
Return (BSTP) /* \_SB_.PCI0.I2C1.BATC.BSTP */
}
Method (INTC, 0, NotSerialized)
{
ADBG ("INTC")
If ((AVBL == One))
{
INBU = BC35 /* \_SB_.PCI0.I2C1.BC35 */
}
Local0 = PSRC ()
If ((Local0 == One))
{
ADBG ("ACA CHG")
}
ElseIf ((Local0 == 0x02))
{
ADBG ("SDP")
DCPS = Zero
}
ElseIf ((Local0 == 0x03))
{
ADBG ("DCP")
DCPS = One
}
ElseIf ((Local0 == 0x04))
{
ADBG ("CDP")
DCPS = Zero
}
ElseIf ((Local0 == 0x05))
{
ADBG ("OTH")
}
ElseIf ((Local0 == Zero))
{
CHPR = One
ADBG ("NOINP")
}
Local1 = (INT5 & 0x0C)
Local0 = (INT5 & 0x08)
If ((Local1 == 0x0C))
{
If ((OTGS != One))
{
ADBG ("OTG Detected")
OTGS = One
}
}
ElseIf ((Local0 == 0x08))
{
If ((OTGS != Zero))
{
ADBG ("OTG Removal")
OTGS = Zero
}
}
If ((AVBL == One))
{
BUFF = BC3C /* \_SB_.PCI0.I2C1.BC3C */
}
If ((BYAT != One))
{
Local0 = (DATA & 0x1F)
If ((Local0 == 0x10))
{
CDRH (Zero)
If ((BDID == 0x02))
{
If ((^^^^GPO1.AMMR == One))
{
^^^^GPO1.COPM = One
}
}
HSMD = One
ADBG ("RID GND")
}
ElseIf ((Local0 == 0x08))
{
CDRH (Zero)
If ((BDID == 0x02))
{
If ((^^^^GPO1.AMMR == One))
{
^^^^GPO1.COPM = One
}
}
HSMD = One
ADBG ("RID A")
}
ElseIf ((Local0 == 0x04))
{
CDRH (Zero)
If ((BDID == 0x02))
{
If ((^^^^GPO1.AMMR == One))
{
^^^^GPO1.COPM = One
}
}
HSMD = One
ADBG ("RID B")
}
ElseIf ((Local0 == 0x02))
{
CDRH (Zero)
If ((BDID == 0x02))
{
If ((^^^^GPO1.AMMR == One))
{
^^^^GPO1.COPM = One
}
}
HSMD = One
ADBG ("RID C")
}
ElseIf ((Local0 == One))
{
If ((DCPS == Zero))
{
CDRD (One)
If ((BDID == 0x02))
{
If ((^^^^GPO1.AMMR == One))
{
^^^^GPO1.COPM = One
}
}
}
Else
{
CDRD (Zero)
}
HSMD = Zero
ADBG ("RID Float")
}
Else
{
CDRH (Zero)
If ((BDID == 0x02))
{
If ((^^^^GPO1.AMMR == One))
{
^^^^GPO1.COPM = One
}
}
ADBG ("RID Unknown")
HSMD = One
}
}
Local0 = (INT3 & 0x80)
Local1 = (INT3 & 0x20)
If (((Local0 == 0x80) || (Local1 == 0x20)))
{
Return (One)
}
If ((CHPR == One))
{
If ((HSMD == Zero))
{
ADBG ("CHG Rmv")
If ((DSFG == One))
{
CDRH (Zero)
}
Else
{
CDRD (Zero)
}
ADBG ("Charger removed")
If ((BDID == 0x02))
{
If ((^^^^GPO1.AMMR == One))
{
^^^^GPO1.COPM = Zero
}
}
HSMD = Zero
}
Return (One)
}
If ((AVBL == One))
{
BUFF = BC30 /* \_SB_.PCI0.I2C1.BC30 */
}
If ((BYAT != One))
{
Local0 = DATA /* \_SB_.PCI0.I2C1.BATC.DATA */
DATA = (Local0 | 0x40)
}
If ((AVBL == One))
{
BC30 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
}
Return (One)
}
Method (INTF, 0, NotSerialized)
{
ADBG ("INTF")
If ((AVBL == One))
{
BUF2 = FG00 /* \_SB_.PCI0.I2C1.FG00 */
}
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
}
Return (One)
}
Method (CHCU, 1, NotSerialized)
{
Local0 = Arg0
BUFF = BC00 /* \_SB_.PCI0.I2C1.BC00 */
If ((BYAT != One))
{
Local1 = (Local0 & 0x0F)
Local2 = (DATA & 0x0F)
If ((Local1 != Local2))
{
Local1 = (Local0 & 0x0F)
Local2 = (DATA & 0xF0)
Local0 = (Local2 | Local1)
If ((AVBL == One))
{
DATA = 0x80
BC30 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
DATA = Local0
BC00 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
DATA = 0x87
BC02 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
DATA = 0x97
BC02 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
DATA = Zero
BC30 = BUFF /* \_SB_.PCI0.I2C1.BATC.BUFF */
}
}
}
}
Method (_BTP, 1, NotSerialized) // _BTP: Battery Trip Point
{
BTPC = Arg0
If ((AVBL == One))
{
DAT1 = Arg0
BLEN = 0x04
BUF2 = FG2B /* \_SB_.PCI0.I2C1.FG2B */
If ((BSTS != One))
{
Local1 = (WRD1 & 0xFFFC)
WRD1 = Local1
FG2B = BUF2 /* \_SB_.PCI0.I2C1.BATC.BUF2 */
}
BUF2 = FG1D /* \_SB_.PCI0.I2C1.FG1D */
If ((BSTS != One))
{
Local1 = (WRD1 & 0xFFFB)
Local2 = (Local1 | 0x04)
WRD1 = Local2
FG1D = BUF2 /* \_SB_.PCI0.I2C1.BATC.BUF2 */
}
BUF2 = SOCR /* \_SB_.PCI0.I2C1.SOCR */
If ((BSTS != One))
{
Local0 = (WRD1 >> 0x08)
Local1 = (Local0 & 0xFF)
}
Local2 = (Local1 + One)
Local3 = (Local1 - One)
Local1 = (Local2 << 0x08)
Local2 = (Local1 | Local3)
WRD1 = Local2
FG03 = BUF2 /* \_SB_.PCI0.I2C1.BATC.BUF2 */
}
}
Method (_BTM, 1, NotSerialized) // _BTM: Battery Time
{
If ((Arg0 > 0x7530))
{
Return (Zero)
}
If ((AVBL == One))
{
BUF2 = FG11 /* \_SB_.PCI0.I2C1.FG11 */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
If ((Arg0 == Zero))
{
Local2 = (Local1 >> 0x05)
Local1 = (Local2 * 0x03)
Local2 = (Local1 * 0x3C)
Return (Local2)
}
BUF2 = FG05 /* \_SB_.PCI0.I2C1.FG05 */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
Local2 = (Local1 * 0x05)
Divide (Local2, FGDV, Local0, Local1)
Local0 = (Local1 * 0x0E10)
Divide (Local0, Arg0, Local1, Local2)
Return (Local2)
}
}
}
Return (0xFFFFFFFF)
}
Method (_BCT, 1, NotSerialized) // _BCT: Battery Charge Time
{
If (((Arg0 > 0x64) || (Arg0 < One)))
{
Return (Zero)
}
If ((AVBL == One))
{
BUF2 = FG05 /* \_SB_.PCI0.I2C1.FG05 */
Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
If ((BSTS != One))
{
Local2 = (Local1 * 0x05)
Divide (Local2, FGDV, Local0, Local1)
If ((Arg0 < Local1))
{
Return (Zero)
}
RECT = Local1
}
BUF2 = FG10 /* \_SB_.PCI0.I2C1.FG10 */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
Local2 = (Local1 * 0x05)
Divide (Local2, FGDV, Local0, Local1)
BCLP = Local1
}
BUF2 = FG0A /* \_SB_.PCI0.I2C1.FG0A */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
If ((Local1 & 0x8000))
{
Return (Zero)
}
}
Local0 = (BCLP * Arg0)
Local0 -= RECT /* \_SB_.PCI0.I2C1.BATC.RECT */
Local0 *= 0x0E10
Divide (Local0, Local1, Local2, Local3)
Return (Local3)
}
Return (0xFFFFFFFF)
}
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("4c2067e3-887d-475c-9720-4af1d3ed602e") /* Battery Thermal Limit */))
{
If ((Arg2 == 0x02))
{
If ((Arg1 == Zero))
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
Return (Zero)
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((BDID == One))
{
Return (Zero)
}
If ((((BDID == 0x08) || (BDID == 0x0A)) || (BDID == 0x09)))
{
Return (Zero)
}
If ((OSID != One))
{
Return (Zero)
}
If ((AVBL == One))
{
BUF2 = FG05 /* \_SB_.PCI0.I2C1.FG05 */
If ((BSTS != Zero))
{
Return (Zero)
}
}
Return (0x1F)
}
Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List
{
Return (_SB) /* \_SB_ */
}
Method (PSOC, 0, NotSerialized)
{
If ((AVBL == One))
{
BUF2 = SOCR /* \_SB_.PCI0.I2C1.SOCR */
If ((BSTS != One))
{
Local0 = (WRD1 >> 0x08)
Local1 = (Local0 & 0xFF)
}
Return (Local1)
}
Return (Zero)
}
Method (PMAX, 0, NotSerialized)
{
If ((AVBL == One))
{
BUF2 = MXCU /* \_SB_.PCI0.I2C1.MXCU */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
If ((Local1 & 0x8000))
{
Local0 = (Local1 >> 0x08)
Local1 = (Local0 & 0xFF)
Local0 = (0xFFFF - Local1)
Local1 = (Local0 * 0x04)
}
Else
{
Local0 = (Local1 >> 0x08)
Local2 = (Local0 & 0xFF)
Local1 = (Local2 * 0x04)
}
Divide (Local1, 0x0A, Local0, Local2)
Divide (Local2, FGDV, Local0, Local1)
Local2 = (Local1 * 0x03E8)
Local1 = (DSVO * Local2)
Return (Local1)
}
}
Return (Zero)
}
Method (VMIN, 0, NotSerialized)
{
Return (0x0DAC)
}
Method (APWR, 0, NotSerialized)
{
Return (0x0365C040)
}
Method (NPWR, 0, NotSerialized)
{
Local3 = APWR ()
If ((AVBL == One))
{
BUF2 = FG0A /* \_SB_.PCI0.I2C1.FG0A */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
If ((Local1 & 0x8000))
{
Local1 = (0xFFFF - Local1)
}
Divide (Local1, FGDV, Local0, Local2)
Local1 = (Local2 * 0x9C)
Divide (Local1, 0x64, Local0, Local2)
AVCU = Local2
BUF2 = FG09 /* \_SB_.PCI0.I2C1.FG09 */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C1.BATC.WRD1 */
Local2 = (Local1 >> 0x03)
Local1 = (Local2 * 0x0271)
Divide (Local1, 0x03E8, Local0, Local2)
}
Local1 = (Local2 * AVCU) /* \_SB_.PCI0.I2C1.BATC.AVCU */
Local0 = (Local3 - Local1)
Return (Local0)
}
}
Return (Local0)
}
Method (PSRC, 0, NotSerialized)
{
If ((AVBL == One))
{
BUFF = BC3E /* \_SB_.PCI0.I2C1.BC3E */
If ((BYAT != One))
{
Local0 = DATA /* \_SB_.PCI0.I2C1.BATC.DATA */
If ((Local0 == Zero))
{
Return (Zero)
}
If ((((Local0 == 0x10) || (Local0 == 0x20)) || ((Local0 ==
0x40) || (Local0 == 0x80))))
{
Return (One)
}
If ((Local0 == 0x02))
{
Return (0x02)
}
If ((Local0 == 0x04))
{
Return (0x03)
}
If ((Local0 == 0x08))
{
Return (0x04)
}
If ((Local0 == One))
{
Return (0x05)
}
}
}
Return (One)
}
Method (CTYP, 0, NotSerialized)
{
Return (0x02)
}
Method (ARTG, 0, NotSerialized)
{
Return (0x0365C040)
}
}
}
Scope (_SB.PCI0.I2C7)
{
Name (AVBL, Zero)
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If ((Arg0 == 0x09))
{
AVBL = Arg1
}
}
Device (WIDR)
{
Name (_HID, "INT33FE" /* XPOWER Battery Device */) // _HID: Hardware ID
Name (_CID, "INT33FE" /* XPOWER Battery Device */) // _CID: Compatible ID
Name (_DDN, "WC PMIC Battery Device") // _DDN: DOS Device Name
Name (BCCC, 0x80)
Name (BCCE, One)
Name (OTGS, Zero)
Name (CHPR, One)
Name (FGDV, 0x0A)
Name (BCIL, 0x65)
Name (BCVF, 0x93)
Name (BCFV, 0xED)
Name (BCCH, 0x38)
Name (BCST, 0x05)
Name (BCPE, 0x74)
Name (BCCL, 0xFFFFFFFF)
Name (BCLP, 0x1004)
Name (DSVO, 0x0EA6)
Name (BTPC, Zero)
Name (AVCU, Zero)
Name (BSTP, Package (0x04)
{
Zero,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
Name (_DEP, Package (0x05) // _DEP: Dependencies
{
I2C7,
PMI5,
I2C1,
GPO3,
MBID
})
Name (RBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x005E, ControllerInitiated, 0x000186A0,
AddressingMode7Bit, "\\_SB.PCI0.I2C7",
0x00, ResourceConsumer, , Exclusive,
)
I2cSerialBusV2 (0x0036, ControllerInitiated, 0x000186A0,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, , Exclusive,
)
I2cSerialBusV2 (0x0022, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, , Exclusive,
)
I2cSerialBusV2 (0x0054, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, , Exclusive,
)
GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x0000,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0012
}
GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0005
}
GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x0000,
"\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0013
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (RBUF) /* \_SB_.PCI0.I2C7.WIDR.RBUF */
}
Method (GETM, 0, NotSerialized)
{
Return (UBCB) /* \UBCB */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSID == One))
{
If (((BDID == 0x09) || (BDID == 0x0A)))
{
Return (0x0F)
}
}
Return (Zero)
}
OperationRegion (BMOP, 0x9E, Zero, 0x0100)
Field (BMOP, DWordAcc, NoLock, Preserve)
{
SOC, 32,
FCCP, 32,
CHST, 32,
RMCP, 32,
VOLT, 32,
BATP, 32,
SRP0, 32,
STYP, 32,
CHGC, 32,
STPC, 32,
GADC, 32,
TTEM, 32,
TTCH, 32,
CYCL, 32,
BTP, 32,
DPCU, 32,
DSCP, 32,
CHEN, 32
}
Name (AVBL, Zero)
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If ((Arg0 == 0x9E))
{
AVBL = Arg1
}
}
Method (DPTU, 0, NotSerialized)
{
ADBG ("DPTU WIDR")
If ((AVBL == One))
{
DPCU = BCCC /* \_SB_.PCI0.I2C7.WIDR.BCCC */
CHEN = BCCE /* \_SB_.PCI0.I2C7.WIDR.BCCE */
}
Return (One)
}
Method (SBTP, 0, NotSerialized)
{
ADBG ("SBTP WIDR")
If (CondRefOf (\_SB.PCI0.I2C7.WIDR, Local1))
{
Local0 = ^^PMI5.GET (One, 0x6E, 0x1E)
Local0 >>= 0x03
Local0 &= 0x03
If ((Local0 != One))
{
Notify (ADP1, 0x80) // Status Change
}
}
If (CondRefOf (\_SB.DPTF, Local3))
{
ADBG ("SBTP NOTIFY DPTF 86")
Notify (DPTF, 0x86) // Device-Specific
Notify (TCHG, 0x80) // Status Change
}
Return (One)
}
Method (PTYP, 0, NotSerialized)
{
If ((PMID == One))
{
Return (0x06)
}
If ((PMID == 0x02))
{
Return (0x05)
}
If ((PMID == 0x03))
{
Return (0x04)
}
Return (Zero)
}
Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List
{
Return (_SB) /* \_SB_ */
}
Method (PSOC, 0, NotSerialized)
{
ADBG ("PSOC")
If ((AVBL == One))
{
Local1 = WIDR /* \_SB_.PCI0.I2C7.WIDR */
Return (Local1)
}
Return (Zero)
}
Method (PMAX, 0, NotSerialized)
{
ADBG ("PMAX")
If ((AVBL == One))
{
Local1 = FCCP /* \_SB_.PCI0.I2C7.WIDR.FCCP */
Return (Local1)
}
Return (Zero)
}
Method (VMIN, 0, NotSerialized)
{
Return (0x0DAC)
}
Method (APWR, 0, NotSerialized)
{
Return (0x0365C040)
}
Method (DSM2, 0, NotSerialized)
{
Notify (UBTC, 0x80) // Status Change
Return (0x0F)
}
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("aa7bcf77-263f-4e28-8e16-9cac5c610928")))
{
If ((Arg2 == One))
{
Return (Zero)
}
If ((Arg2 == 0x02))
{
Return (0x08)
}
If ((Arg2 == 0x03))
{
Return (0xC0)
}
If ((Arg2 == 0x04))
{
Return (0x06)
}
If ((Arg2 == 0x05))
{
Return (0x02)
}
If ((Arg2 == 0x06))
{
Return (0x05)
}
If ((Arg2 == 0x07))
{
Return (Zero)
}
If ((Arg2 == 0x08))
{
Return (0x07)
}
If ((Arg2 == 0x09))
{
Return (0xA0)
}
If ((Arg2 == 0x0A))
{
Return (0xD6)
}
Return (0xFFFFFFFF)
}
}
Method (PSRC, 0, NotSerialized)
{
If ((AVBL == One))
{
Local0 = STYP /* \_SB_.PCI0.I2C7.WIDR.STYP */
If ((Local0 == Zero))
{
Return (Zero)
}
If ((Local0 == One))
{
Return (One)
}
If ((Local0 == 0x02))
{
Return (0x02)
}
If ((Local0 == 0x03))
{
Return (0x03)
}
If ((Local0 == 0x04))
{
Return (0x04)
}
If ((Local0 == 0x05))
{
Return (0x05)
}
}
Return (One)
}
Method (GPTG, 1, Serialized)
{
If ((^^^^GPO3.AMMR == One))
{
Local0 = ^^^^GPO3.FGGP /* \_SB_.GPO3.FGGP */
}
ADBG ("GPO PAD BEFORE")
ADBG (Local0)
Local0 |= 0x02
ADBG ("GPO PAD AFTER")
ADBG (Local0)
If ((^^^^GPO3.AMMR == One))
{
^^^^GPO3.FGGP = Local0
}
}
Method (USBH, 1, Serialized)
{
If ((Arg0 == One))
{
Local0 = ^^PMI5.GET (One, 0x5E, 0x07)
Local0 |= One
ADBG (Local0)
^^PMI5.SET (One, 0x5E, 0x07, Local0)
CDRH (Zero)
Local0 = ^^PMI5.GET (One, 0x5E, 0x17)
Local0 |= 0x40
^^PMI5.SET (One, 0x5E, 0x17, Local0)
}
ElseIf ((Arg0 == 0x02))
{
ADBG ("CDP/SDP")
Local0 = ^^PMI5.GET (One, 0x5E, 0x07)
Local0 |= One
^^PMI5.SET (One, 0x5E, 0x07, Local0)
CDRD (One)
}
ElseIf ((Arg0 == 0x03))
{
Local0 = ^^PMI5.GET (One, 0x5E, 0x07)
Local0 |= One
ADBG (Local0)
^^PMI5.SET (One, 0x5E, 0x07, Local0)
CDRH (Zero)
}
Else
{
ADBG ("DCP/no cable is connected")
Local0 = ^^PMI5.GET (One, 0x5E, 0x07)
Local0 &= 0xFE
^^PMI5.SET (One, 0x5E, 0x07, Local0)
CDRD (Zero)
}
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, 0x05)
^^PMI5.SET (One, 0x5E, 0x24, 0x02)
Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
ADBG ("B4 Set")
ADBG (Local0)
Local0 &= 0xCF
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, 0x05)
^^PMI5.SET (One, 0x5E, 0x27, Local0)
^^PMI5.SET (One, 0x5E, 0x24, One)
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, 0x05)
^^PMI5.SET (One, 0x5E, 0x24, 0x02)
Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
ADBG ("After Set")
ADBG ("REG05")
ADBG (Local0)
ADBG ("USB Host")
}
Method (BATD, 0, NotSerialized)
{
ADBG ("BATD")
If ((AVBL == One))
{
ADBG ("BATD")
Local0 = CHST /* \_SB_.PCI0.I2C7.WIDR.CHST */
Local0 &= 0x0F
If ((Local0 == 0x02))
{
Local1 = 0x02
}
If ((Local0 == One))
{
Local1 = One
}
If ((Local0 == 0x08))
{
Local1 = Zero
}
BSTP [Zero] = Local1
BSTP [One] = CHGC /* \_SB_.PCI0.I2C7.WIDR.CHGC */
BSTP [0x02] = RMCP /* \_SB_.PCI0.I2C7.WIDR.RMCP */
BSTP [0x03] = VOLT /* \_SB_.PCI0.I2C7.WIDR.VOLT */
DPCU = BCCC /* \_SB_.PCI0.I2C7.WIDR.BCCC */
}
Return (BSTP) /* \_SB_.PCI0.I2C7.WIDR.BSTP */
}
}
Device (BATC)
{
Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Name (BCCE, One)
Name (OTGS, Zero)
Name (HSMD, Zero)
Name (CHPR, One)
Name (FGDV, 0x0A)
Name (RECT, Zero)
Name (BCCL, 0xFFFFFFFF)
Name (BCLP, 0x1004)
Name (DSCP, 0x1023)
Name (DSVO, 0x0EA6)
Name (BTPC, Zero)
Name (AVCU, Zero)
Name (BQCC, 0x50)
Name (TSHV, Zero)
Name (BCCC, 0x50)
Name (_DEP, Package (0x03) // _DEP: Dependencies
{
I2C1,
I2C7,
PMI5
})
Name (BUFF, Buffer (0x03)
{
0x00, 0x01, 0x00 // ...
})
CreateByteField (BUFF, Zero, BYAT)
CreateByteField (BUFF, 0x02, DATA)
Name (BUF1, Buffer (0x06)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ......
})
CreateByteField (BUF1, Zero, BSTA)
CreateByteField (BUF1, One, BLEN)
CreateDWordField (BUF1, 0x02, DAT1)
Name (BUF2, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00 // ....
})
CreateByteField (BUF2, Zero, BSTS)
CreateByteField (BUF2, One, SLEN)
CreateWordField (BUF2, 0x02, WRD1)
Name (INBU, Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
CreateByteField (INBU, Zero, INST)
CreateByteField (INBU, One, INLN)
CreateByteField (INBU, 0x02, INT0)
CreateByteField (INBU, 0x03, INT1)
CreateByteField (INBU, 0x04, INT2)
CreateByteField (INBU, 0x05, INT3)
CreateByteField (INBU, 0x06, INT4)
CreateByteField (INBU, 0x07, INT5)
Name (BIXP, Package (0x14)
{
Zero,
One,
0xFFFFFFFF,
0xFFFFFFFF,
One,
0xFFFFFFFF,
0x0A,
0x04,
Zero,
0x00017318,
0xFFFFFFFF,
0xFFFFFFFF,
0x88B8,
0x61A8,
One,
One,
"SR Real Battery",
"123456789",
"LION",
"Intel SR 1"
})
Name (BSTP, Package (0x04)
{
Zero,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
Method (_BIX, 0, NotSerialized) // _BIX: Battery Information Extended
{
If ((^^^I2C1.AVBL == One))
{
BUF2 = ^^^I2C1.FG10 /* \_SB_.PCI0.I2C1.FG10 */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
Local2 = (Local1 * 0x05)
Divide (Local2, FGDV, Local0, Local1)
BIXP [0x03] = Local1
}
BUF2 = ^^^I2C1.FG17 /* \_SB_.PCI0.I2C1.FG17 */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
Divide (Local1, 0x64, Local0, Local2)
BIXP [0x08] = Local2
}
}
BIXP [0x02] = DSCP /* \_SB_.PCI0.I2C7.BATC.DSCP */
BIXP [0x05] = DSVO /* \_SB_.PCI0.I2C7.BATC.DSVO */
Divide (DSCP, 0x0A, Local0, Local1)
BIXP [0x06] = Local1
Divide (DSCP, 0x14, Local0, Local1)
BIXP [0x07] = Local1
Return (BIXP) /* \_SB_.PCI0.I2C7.BATC.BIXP */
}
Method (_BST, 0, NotSerialized) // _BST: Battery Status
{
Name (RGND, One)
If ((^^PMI5.AVBL == One))
{
Local0 = ^^PMI5.GET (One, 0x6E, 0x1E)
Local0 >>= 0x03
Local0 &= 0x03
If ((Local0 != One))
{
RGND = Zero
}
If ((RGND == Zero))
{
If ((TSHV == Zero))
{
TSHV = One
^^PMI5.SET (One, 0x5E, 0x20, 0x02)
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, One)
^^PMI5.SET (One, 0x5E, 0x27, 0x19)
^^PMI5.SET (One, 0x5E, 0x24, One)
ADBG ("Min Sys vol")
}
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, 0x04)
^^PMI5.SET (One, 0x5E, 0x27, 0xD6)
^^PMI5.SET (One, 0x5E, 0x24, One)
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, 0x05)
^^PMI5.SET (One, 0x5E, 0x27, 0x8A)
^^PMI5.SET (One, 0x5E, 0x24, One)
Local0 = ^^PMI5.GET (One, 0x5E, 0x16)
Local2 = (Local0 | 0xA8)
^^PMI5.SET (One, 0x5E, 0x16, Local2)
Local0 = ^^PMI5.GET (One, 0x5E, 0x16)
ADBG ("WC16")
ADBG (Local0)
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, 0x09)
^^PMI5.SET (One, 0x5E, 0x24, 0x02)
Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
If ((Local0 != Zero))
{
ADBG ("FAULT OCCURED")
ADBG (Local0)
Local0 = PSRC ()
}
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, One)
^^PMI5.SET (One, 0x5E, 0x27, 0x1B)
^^PMI5.SET (One, 0x5E, 0x24, One)
}
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, One)
^^PMI5.SET (One, 0x5E, 0x24, 0x02)
Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
ADBG ("CH REG01")
ADBG (Local0)
If ((RGND == Zero))
{
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, 0x02)
^^PMI5.SET (One, 0x5E, 0x27, 0x42)
^^PMI5.SET (One, 0x5E, 0x24, One)
}
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, 0x09)
^^PMI5.SET (One, 0x5E, 0x24, 0x02)
Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
ADBG ("REG09")
ADBG (Local0)
CHPR = Zero
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, 0x08)
^^PMI5.SET (One, 0x5E, 0x24, 0x02)
Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
Local0 >>= 0x04
Local0 &= 0x03
If (((Local0 == One) || (Local0 == 0x02)))
{
Local1 = 0x02
}
If ((Local0 == Zero))
{
Local1 = One
}
If ((Local0 == 0x03))
{
Local1 = Zero
}
BSTP [Zero] = Local1
BUF2 = ^^^I2C1.FG0A /* \_SB_.PCI0.I2C1.FG0A */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
If ((Local1 & 0x8000))
{
Local1 = (0xFFFF - Local1)
}
Divide (Local1, FGDV, Local0, Local2)
Local1 = (Local2 * 0x9C)
Divide (Local1, 0x64, Local0, Local2)
BSTP [One] = Local2
}
BUF2 = ^^^I2C1.FG05 /* \_SB_.PCI0.I2C1.FG05 */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
Local2 = (Local1 * 0x05)
Divide (Local2, FGDV, Local0, Local1)
BSTP [0x02] = Local1
}
BUF2 = ^^^I2C1.FG09 /* \_SB_.PCI0.I2C1.FG09 */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
Local2 = (Local1 >> 0x03)
Local1 = (Local2 * 0x0271)
Divide (Local1, 0x03E8, Local0, Local2)
BSTP [0x03] = Local2
}
BUF2 = ^^^I2C1.FG1D /* \_SB_.PCI0.I2C1.FG1D */
If ((BSTS != One))
{
Local1 = (WRD1 & Zero)
Local2 = (Local1 | 0x0104)
WRD1 = Local2
^^^I2C1.FG1D = BUF2 /* \_SB_.PCI0.I2C7.BATC.BUF2 */
}
Local2 = 0x18
Local1 = (Local2 << 0x08)
WRD1 = Local1
^^^I2C1.THRM = BUF2 /* \_SB_.PCI0.I2C7.BATC.BUF2 */
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, 0x02)
^^PMI5.SET (One, 0x5E, 0x24, 0x02)
Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
Local1 = BQCC /* \_SB_.PCI0.I2C7.BATC.BQCC */
Local3 = Local1
Local2 = (Local0 & 0xFC)
Local3 &= 0xFC
If ((Local2 != Local3))
{
Local2 = (Local0 & 0x03)
Local1 &= 0xFC
Local0 = (Local2 | Local1)
}
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, One)
^^PMI5.SET (One, 0x5E, 0x24, 0x02)
Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
Local1 = (Local0 & 0xCF)
If ((BCCE == One))
{
Local0 = (Local1 | 0x10)
If ((RGND == Zero))
{
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, One)
^^PMI5.SET (One, 0x5E, 0x27, Local0)
^^PMI5.SET (One, 0x5E, 0x24, One)
}
}
ElseIf ((RGND == Zero))
{
Local0 = (Local1 | Zero)
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, One)
^^PMI5.SET (One, 0x5E, 0x27, Local0)
^^PMI5.SET (One, 0x5E, 0x24, One)
}
}
Return (BSTP) /* \_SB_.PCI0.I2C7.BATC.BSTP */
}
Method (INTC, 0, NotSerialized)
{
ADBG ("INTC")
Name (RGND, One)
Local0 = ^^PMI5.GET (One, 0x6E, 0x1E)
Local0 >>= 0x03
Local0 &= 0x03
If ((Local0 != One))
{
RGND = Zero
}
If ((RGND == Zero))
{
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, 0x09)
^^PMI5.SET (One, 0x5E, 0x24, 0x02)
Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
If ((Local0 != Zero))
{
ADBG ("FAULT OCCURED")
ADBG (Local0)
}
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, 0x04)
^^PMI5.SET (One, 0x5E, 0x27, 0xD6)
^^PMI5.SET (One, 0x5E, 0x24, One)
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, One)
^^PMI5.SET (One, 0x5E, 0x27, 0x19)
^^PMI5.SET (One, 0x5E, 0x24, One)
}
Local0 = PSRC ()
If ((((Local0 == One) || (Local0 == 0x02)) || ((Local0 ==
0x03) || (Local0 == 0x04))))
{
^^PMI5.ACDC = One
}
Else
{
^^PMI5.ACDC = Zero
}
If ((Local0 == One))
{
HSMD = One
}
ElseIf ((Local0 == 0x02))
{
HSMD = Zero
}
ElseIf ((Local0 == 0x03))
{
HSMD = Zero
}
ElseIf ((Local0 == 0x04))
{
HSMD = Zero
}
ElseIf ((Local0 == 0x05))
{
HSMD = Zero
}
ElseIf ((Local0 == Zero))
{
CHPR = One
HSMD = Zero
}
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, 0x08)
^^PMI5.SET (One, 0x5E, 0x24, 0x02)
Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
Local1 = (Local0 & 0xC0)
If ((Local1 == 0xC0))
{
If ((OTGS != One))
{
OTGS = One
}
}
ElseIf ((OTGS != Zero))
{
OTGS = Zero
}
If ((HSMD == Zero))
{
Local0 = ^^PMI5.GET (One, 0x5E, 0x29)
Local1 = (Local0 >> 0x02)
Local1 &= 0x0F
If ((Local1 == 0x02))
{
ADBG ("DCP Detected")
CDRD (Zero)
}
Else
{
ADBG ("None DCP Charger")
Local0 = ^^PMI5.GET (One, 0x5E, 0x07)
Local0 |= One
^^PMI5.SET (One, 0x5E, 0x07, Local0)
CDRD (One)
}
}
Else
{
Local0 = ^^PMI5.GET (One, 0x5E, 0x07)
Local0 &= 0xFE
^^PMI5.SET (One, 0x5E, 0x07, Local0)
ADBG ("Host Mode")
ADBG (Local0)
Local0 = ^^PMI5.GET (One, 0x6E, 0x1E)
Local0 >>= 0x03
Local0 &= 0x03
If ((Local0 == Zero))
{
Local0 = ^^PMI5.GET (One, 0x5E, 0x07)
Local0 |= One
^^PMI5.SET (One, 0x5E, 0x07, Local0)
Local0 = ^^PMI5.GET (One, 0x5E, 0x17)
Local0 |= 0x40
^^PMI5.SET (One, 0x5E, 0x17, Local0)
CDRH (One)
}
Else
{
CDRH (Zero)
}
}
If ((CHPR == One))
{
Local0 = ^^PMI5.GET (One, 0x5E, 0x07)
Local0 &= 0xFE
^^PMI5.SET (One, 0x5E, 0x07, Local0)
If ((DSFG == One))
{
CDRH (Zero)
}
Else
{
CDRD (Zero)
}
HSMD = One
^^PMI5.SET (One, 0x5E, 0x1F, 0x18)
Return (One)
}
^^PMI5.SET (One, 0x5E, 0x1F, 0x1B)
Return (One)
}
Method (INTF, 0, NotSerialized)
{
ADBG ("INTF")
BUF2 = ^^^I2C1.FG00 /* \_SB_.PCI0.I2C1.FG00 */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
ADBG ("FG00")
ADBG (Local1)
}
Return (One)
}
Method (CHCU, 1, NotSerialized)
{
Local0 = Arg0
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, Zero)
^^PMI5.SET (One, 0x5E, 0x24, 0x02)
Local1 = ^^PMI5.GET (One, 0x5E, 0x28)
Local2 = (Local0 & 0x07)
Local1 &= 0x07
If ((Local1 != Local2))
{
Local2 = (Local0 & 0x07)
Local1 = (DATA & 0xF8)
Local0 = (Local1 | Local2)
}
}
Method (_BTP, 1, NotSerialized) // _BTP: Battery Trip Point
{
BTPC = Arg0
If ((^^^I2C1.AVBL == One))
{
ADBG ("BTP")
DAT1 = Arg0
BLEN = 0x04
BUF2 = ^^^I2C1.FG2B /* \_SB_.PCI0.I2C1.FG2B */
If ((BSTS != One))
{
Local1 = (WRD1 & 0xFFFC)
WRD1 = Local1
^^^I2C1.FG2B = BUF2 /* \_SB_.PCI0.I2C7.BATC.BUF2 */
}
BUF2 = ^^^I2C1.FG1D /* \_SB_.PCI0.I2C1.FG1D */
If ((BSTS != One))
{
Local1 = (WRD1 & 0xFFFB)
Local2 = (Local1 | 0x04)
WRD1 = Local2
^^^I2C1.FG1D = BUF2 /* \_SB_.PCI0.I2C7.BATC.BUF2 */
}
BUF2 = ^^^I2C1.SOCR /* \_SB_.PCI0.I2C1.SOCR */
If ((BSTS != One))
{
Local0 = (WRD1 >> 0x08)
Local1 = (Local0 & 0xFF)
}
Local2 = (Local1 + One)
Local3 = (Local1 - One)
Local1 = (Local2 << 0x08)
Local2 = (Local1 | Local3)
WRD1 = Local2
^^^I2C1.FG03 = BUF2 /* \_SB_.PCI0.I2C7.BATC.BUF2 */
}
}
Method (_BTM, 1, NotSerialized) // _BTM: Battery Time
{
If ((Arg0 > 0x7530))
{
Return (Zero)
}
If ((^^^I2C1.AVBL == One))
{
BUF2 = ^^^I2C1.FG11 /* \_SB_.PCI0.I2C1.FG11 */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
If ((Arg0 == Zero))
{
Local2 = (Local1 >> 0x05)
Local1 = (Local2 * 0x03)
Local2 = (Local1 * 0x3C)
Return (Local2)
}
BUF2 = ^^^I2C1.FG05 /* \_SB_.PCI0.I2C1.FG05 */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
Local2 = (Local1 * 0x05)
Divide (Local2, FGDV, Local0, Local1)
Local0 = (Local1 * 0x0E10)
Divide (Local0, Arg0, Local1, Local2)
Return (Local2)
}
}
}
Return (0xFFFFFFFF)
}
Method (_BCT, 1, NotSerialized) // _BCT: Battery Charge Time
{
If (((Arg0 > 0x64) || (Arg0 < One)))
{
Return (Zero)
}
If ((^^^I2C1.AVBL == One))
{
BUF2 = ^^^I2C1.FG05 /* \_SB_.PCI0.I2C1.FG05 */
Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
If ((BSTS != One))
{
Local2 = (Local1 * 0x05)
Divide (Local2, FGDV, Local0, Local1)
If ((Arg0 < Local1))
{
Return (Zero)
}
RECT = Local1
}
BUF2 = ^^^I2C1.FG10 /* \_SB_.PCI0.I2C1.FG10 */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
Local2 = (Local1 * 0x05)
Divide (Local2, FGDV, Local0, Local1)
BCLP = Local1
}
BUF2 = ^^^I2C1.FG0A /* \_SB_.PCI0.I2C1.FG0A */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
If ((Local1 & 0x8000))
{
Return (Zero)
}
}
Local0 = (BCLP * Arg0)
Local0 -= RECT /* \_SB_.PCI0.I2C7.BATC.RECT */
Local0 *= 0x0E10
Divide (Local0, Local1, Local2, Local3)
Return (Local3)
}
Return (0xFFFFFFFF)
}
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("4c2067e3-887d-475c-9720-4af1d3ed602e") /* Battery Thermal Limit */))
{
If ((Arg2 == 0x02))
{
If ((Arg1 == Zero))
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
Return (Zero)
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((BDID != 0x08))
{
Return (Zero)
}
If ((OSID != One))
{
Return (Zero)
}
If ((^^^I2C1.AVBL == One))
{
BUF2 = ^^^I2C1.FG05 /* \_SB_.PCI0.I2C1.FG05 */
If ((BSTS != Zero))
{
Return (Zero)
}
}
ADBG ("TI CHARGER")
Return (0x1F)
}
Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List
{
Return (_SB) /* \_SB_ */
}
Method (PSOC, 0, NotSerialized)
{
If ((^^^I2C1.AVBL == One))
{
BUF2 = ^^^I2C1.SOCR /* \_SB_.PCI0.I2C1.SOCR */
If ((BSTS != One))
{
Local0 = (WRD1 >> 0x08)
Local1 = (Local0 & 0xFF)
}
Return (Local1)
}
Return (Zero)
}
Method (PMAX, 0, NotSerialized)
{
If ((^^^I2C1.AVBL == One))
{
BUF2 = ^^^I2C1.MXCU /* \_SB_.PCI0.I2C1.MXCU */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
If ((Local1 & 0x8000))
{
Local0 = (Local1 >> 0x08)
Local1 = (Local0 & 0xFF)
Local0 = (0xFFFF - Local1)
Local1 = (Local0 * 0x04)
}
Else
{
Local0 = (Local1 >> 0x08)
Local2 = (Local0 & 0xFF)
Local1 = (Local2 * 0x04)
}
Divide (Local1, 0x0A, Local0, Local2)
Divide (Local2, FGDV, Local0, Local1)
Local2 = (Local1 * 0x03E8)
Local1 = (DSVO * Local2)
Return (Local1)
}
}
Return (Zero)
}
Method (VMIN, 0, NotSerialized)
{
Return (0x0DAC)
}
Method (APWR, 0, NotSerialized)
{
Return (0x0365C040)
}
Method (NPWR, 0, NotSerialized)
{
Local3 = APWR ()
If ((^^^I2C1.AVBL == One))
{
BUF2 = ^^^I2C1.FG0A /* \_SB_.PCI0.I2C1.FG0A */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
If ((Local1 & 0x8000))
{
Local1 = (0xFFFF - Local1)
}
Divide (Local1, FGDV, Local0, Local2)
Local1 = (Local2 * 0x9C)
Divide (Local1, 0x64, Local0, Local2)
AVCU = Local2
BUF2 = ^^^I2C1.FG09 /* \_SB_.PCI0.I2C1.FG09 */
If ((BSTS != One))
{
Local1 = WRD1 /* \_SB_.PCI0.I2C7.BATC.WRD1 */
Local2 = (Local1 >> 0x03)
Local1 = (Local2 * 0x0271)
Divide (Local1, 0x03E8, Local0, Local2)
}
Local1 = (Local2 * AVCU) /* \_SB_.PCI0.I2C7.BATC.AVCU */
Local0 = (Local3 - Local1)
Return (Local0)
}
}
Return (Local0)
}
Method (PSRC, 0, Serialized)
{
Name (RGND, One)
If ((^^PMI5.AVBL == One))
{
Local7 = ^^PMI5.GET (One, 0x6E, 0x1E)
Local7 >>= 0x03
Local7 &= 0x03
If ((Local7 != One))
{
RGND = Zero
}
Local0 = ^^PMI5.GET (One, 0x5E, 0x29)
ADBG (Local0)
Local1 = (Local0 >> 0x02)
Local1 &= 0x0F
If (((Local1 == Zero) || (RGND != Zero)))
{
ADBG ("NONE")
Return (Zero)
}
ElseIf ((Local1 == 0x04))
{
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, 0x05)
^^PMI5.SET (One, 0x5E, 0x27, 0x8A)
^^PMI5.SET (One, 0x5E, 0x24, One)
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, 0x05)
^^PMI5.SET (One, 0x5E, 0x24, 0x02)
Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
ADBG ("REG05")
ADBG (Local0)
If ((RGND == Zero))
{
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, Zero)
^^PMI5.SET (One, 0x5E, 0x27, 0x3D)
^^PMI5.SET (One, 0x5E, 0x24, One)
}
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, Zero)
^^PMI5.SET (One, 0x5E, 0x24, 0x02)
Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
ADBG ("ACA")
ADBG (Local0)
Return (One)
}
ElseIf ((Local1 == One))
{
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, 0x05)
^^PMI5.SET (One, 0x5E, 0x27, 0x8A)
^^PMI5.SET (One, 0x5E, 0x24, One)
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, 0x05)
^^PMI5.SET (One, 0x5E, 0x24, 0x02)
Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
ADBG ("REG05")
ADBG (Local0)
If ((RGND == Zero))
{
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, Zero)
^^PMI5.SET (One, 0x5E, 0x27, 0x3A)
^^PMI5.SET (One, 0x5E, 0x24, One)
}
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, Zero)
^^PMI5.SET (One, 0x5E, 0x24, 0x02)
Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
ADBG ("SDP")
ADBG (Local0)
Return (0x02)
}
ElseIf ((Local1 == 0x02))
{
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, 0x05)
^^PMI5.SET (One, 0x5E, 0x27, 0x8A)
^^PMI5.SET (One, 0x5E, 0x24, One)
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, 0x05)
^^PMI5.SET (One, 0x5E, 0x24, 0x02)
Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
ADBG ("REG05")
ADBG (Local0)
If ((RGND == Zero))
{
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, Zero)
^^PMI5.SET (One, 0x5E, 0x27, 0x3D)
^^PMI5.SET (One, 0x5E, 0x24, One)
}
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, Zero)
^^PMI5.SET (One, 0x5E, 0x24, 0x02)
Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
ADBG ("DCP")
ADBG (Local0)
Return (0x03)
}
ElseIf ((Local1 == 0x03))
{
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, 0x05)
^^PMI5.SET (One, 0x5E, 0x27, 0x8A)
^^PMI5.SET (One, 0x5E, 0x24, One)
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, 0x05)
^^PMI5.SET (One, 0x5E, 0x24, 0x02)
Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
ADBG ("REG05")
ADBG (Local0)
If ((RGND == Zero))
{
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, Zero)
^^PMI5.SET (One, 0x5E, 0x27, 0x3D)
^^PMI5.SET (One, 0x5E, 0x24, One)
}
^^PMI5.SET (One, 0x5E, 0x25, 0x6B)
^^PMI5.SET (One, 0x5E, 0x26, Zero)
^^PMI5.SET (One, 0x5E, 0x24, 0x02)
Local0 = ^^PMI5.GET (One, 0x5E, 0x28)
ADBG ("CDP")
ADBG (Local0)
Return (0x04)
}
ElseIf ((Local1 == 0x08))
{
ADBG ("OTG")
Return (0x05)
}
Else
{
Return (Zero)
}
}
Return (One)
}
}
}
Scope (_SB)
{
Device (ADP1)
{
Name (_HID, "ACPI0003" /* Power Source Device */) // _HID: Hardware ID
Method (_PSR, 0, Serialized) // _PSR: Power Source
{
ADBG ("ADP1 _PSR")
If ((BDID == 0x08))
{
ADBG ("ADP1 _PSR FFD")
If (CondRefOf (\_SB.PCI0.I2C7.BATC, Local1))
{
Local0 = ^^PCI0.I2C7.BATC.PSRC ()
If ((Local0 == Zero))
{
ADBG ("DC")
Return (Zero)
}
Else
{
ADBG ("AC")
Return (One)
}
}
}
If (((BDID == 0x09) || (BDID == 0x0A)))
{
ADBG ("ADP1 _PSR FFD HR")
If (CondRefOf (\_SB.PCI0.I2C7.WIDR, Local1))
{
Local0 = ^^PCI0.I2C7.WIDR.PSRC ()
If ((Local0 == Zero))
{
ADBG ("DC")
Return (Zero)
}
Else
{
ADBG ("AC")
Return (One)
}
}
}
If ((BDID == One))
{
ADBG ("ADP1 _PSR CHTCR")
If ((PMID == 0x02))
{
If (CondRefOf (\_SB.PCI0.I2C7.BMDR, Local1))
{
Local0 = ^^PCI0.I2C7.BMDR.PSRC ()
If ((Local0 == Zero))
{
ADBG ("DC")
Return (Zero)
}
Else
{
ADBG ("AC")
Return (One)
}
}
}
ElseIf (CondRefOf (\_SB.PCI0.I2C3.TIDR, Local1))
{
Local0 = ^^PCI0.I2C3.TIDR.PSRC ()
If ((Local0 == Zero))
{
ADBG ("DC")
Return (Zero)
}
Else
{
ADBG ("AC")
Return (One)
}
}
}
ElseIf (CondRefOf (\_SB.PCI0.I2C1.BATC, Local1))
{
Local0 = ^^PCI0.I2C1.BATC.PSRC ()
If ((Local0 == Zero))
{
Return (Zero)
}
Else
{
Return (One)
}
}
ADBG ("_PSR DEF")
Return (One)
}
Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List
{
Return (_SB) /* \_SB_ */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSID != One))
{
Return (Zero)
}
Return (0x0F)
}
}
}
Scope (_SB)
{
Device (MDM3)
{
Name (_HID, EisaId ("MCD0001")) // _HID: Hardware ID
Name (_CID, "MCD0001") // _CID: Compatible ID
Name (_UID, One) // _UID: Unique ID
Name (MDMN, "XMM_7360")
Name (CONF, "XMM7360_CONF_2")
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((BDID == One))
{
Return (Zero)
}
If (((OSID != One) && (MODS == Zero)))
{
Return (0x0F)
}
Return (Zero)
}
Name (PMIC, Package (0x04)
{
0x29,
One,
Zero,
0xFA
})
Name (EPWR, Package (0x02)
{
Zero,
One
})
}
Device (MDM2)
{
Name (_HID, EisaId ("MCD0001")) // _HID: Hardware ID
Name (_CID, "MCD0001") // _CID: Compatible ID
Name (CPU, "CherryView")
Name (MDMN, "XMM_7260")
Name (CONF, "XMM7260_CONF_3")
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (UBUF, ResourceTemplate ()
{
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0013
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDown, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0006
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0002
}
})
Return (UBUF) /* \_SB_.MDM2._CRS.UBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((BDID == One))
{
Return (Zero)
}
If (((OSID != One) && (MODS == One)))
{
Return (0x0F)
}
Return (Zero)
}
Name (PMIC, Package (0x04)
{
0x29,
One,
Zero,
0xFC
})
Name (EPWR, Package (0x02)
{
Zero,
One
})
}
Device (MDM)
{
Name (_HID, EisaId ("MCD0001")) // _HID: Hardware ID
Name (_CID, "MCD0001") // _CID: Compatible ID
Name (CPU, "CherryView")
Name (MDMN, "XMM_7260")
Name (CONF, "XMM7260_CONF_7")
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (UBUF, ResourceTemplate ()
{
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0013
}
GpioInt (Edge, ActiveBoth, Exclusive, PullDown, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0006
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0002
}
})
Return (UBUF) /* \_SB_.MDM_._CRS.UBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((BDID == One))
{
Return (Zero)
}
If (((OSID != One) && (MODS == 0x02)))
{
Return (0x0F)
}
Return (Zero)
}
Name (PMIC, Package (0x04)
{
0x29,
One,
Zero,
0xFC
})
Name (EPWR, Package (0x02)
{
Zero,
One
})
}
Device (MDM4)
{
Name (_HID, EisaId ("MCD0001")) // _HID: Hardware ID
Name (_CID, "MCD0001") // _CID: Compatible ID
Name (CPU, "CherryView")
Name (MDMN, "XMM_7160")
Name (CONF, "XMM7160_CONF_9")
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (UBUF, ResourceTemplate ()
{
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0006
}
GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0016
}
GpioIo (Exclusive, PullUp, 0x0001, 0x0001, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0006
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0002
}
})
Return (UBUF) /* \_SB_.MDM4._CRS.UBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((BDID != One))
{
Return (Zero)
}
If ((((OSID == 0x02) || (OSID == 0x04)) && (MODS == 0x03)))
{
Return (0x0F)
}
Return (Zero)
}
Name (PMIC, Package (0x04)
{
0x29,
One,
Zero,
0xFC
})
Name (EPWR, Package (0x02)
{
Zero,
One
})
}
Device (MDM5)
{
Name (_HID, EisaId ("MCD0001")) // _HID: Hardware ID
Name (_CID, "MCD0001") // _CID: Compatible ID
Name (CPU, "CherryView")
Name (MDMN, "XMM_7260")
Name (CONF, "XMM7260_CONF_13")
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (UBUF, ResourceTemplate ()
{
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0006
}
GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0016
}
GpioIo (Exclusive, PullUp, 0x0001, 0x0001, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0006
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0002
}
})
Name (RBUF, ResourceTemplate ()
{
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
GpioInt (Edge, ActiveHigh, Exclusive, PullDown, 0x0000,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0007
}
GpioIo (Exclusive, PullUp, 0x0001, 0x0001, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0006
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0002
}
})
If ((BDID == One))
{
Return (UBUF) /* \_SB_.MDM5._CRS.UBUF */
}
Return (RBUF) /* \_SB_.MDM5._CRS.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((((BDID != 0x09) && (BDID != 0x0A)) &&
(BDID != One)))
{
Return (Zero)
}
If ((((OSID == 0x02) || (OSID == 0x04)) && (MODS == 0x04)))
{
Return (0x0F)
}
Return (Zero)
}
Name (PMIC, Package (0x04)
{
0x29,
One,
Zero,
0xFC
})
Name (EPWR, Package (0x02)
{
Zero,
One
})
}
Device (MDM9)
{
Name (_HID, EisaId ("MCD0001")) // _HID: Hardware ID
Name (_CID, "MCD0001") // _CID: Compatible ID
Name (CPU, "CherryView")
Name (MDMN, "XMM_6260")
Name (CONF, "XMM6260_CONF_h")
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSID == One))
{
Return (Zero)
}
Return (0x0F)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (UBUF, ResourceTemplate ()
{
GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0007
}
GpioIo (Exclusive, PullDown, 0x0001, 0x0001, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0006
}
GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0002
}
GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0001
}
GpioIo (Exclusive, PullNone, 0x0001, 0x0001, IoRestrictionOutputOnly,
"\\_SB.GPO1", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0005
}
})
Return (UBUF) /* \_SB_.MDM9._CRS.UBUF */
}
Name (PMIC, Package (0x04)
{
0x29,
One,
Zero,
0xFC
})
Name (EPWR, Package (0x02)
{
Zero,
One
})
}
}
Scope (_GPE)
{
Method (_L09, 0, NotSerialized) // _Lxx: Level-Triggered GPE
{
If (((BDID != One) && (OSID != One)))
{
If ((RP1D == Zero))
{
\_SB.PCI0.RP01.HPME ()
Notify (\_SB.PCI0.RP01, 0x02) // Device Wake
}
If ((RP2D == Zero))
{
\_SB.PCI0.RP02.HPME ()
Notify (\_SB.PCI0.RP02, 0x02) // Device Wake
}
If ((RP3D == Zero))
{
\_SB.PCI0.RP03.HPME ()
Notify (\_SB.PCI0.RP03, 0x02) // Device Wake
}
If ((RP4D == Zero))
{
\_SB.PCI0.RP04.HPME ()
Notify (\_SB.PCI0.RP04, 0x02) // Device Wake
}
}
}
}
Device (_SB.TPM)
{
Method (_HID, 0, NotSerialized) // _HID: Hardware ID
{
If (TCMF)
{
Return (0x01013469)
}
ElseIf ((TTDP == Zero))
{
Return (0x310CD041)
}
Else
{
Return ("MSFT0101")
}
}
Method (_STR, 0, NotSerialized) // _STR: Description String
{
If ((TTDP == Zero))
{
Return (Unicode ("TPM 1.2 Device"))
}
Else
{
Return (Unicode ("TPM 2.0 Device"))
}
}
Name (_UID, One) // _UID: Unique ID
Name (CRST, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0x00000000, // Address Base
0x00001000, // Address Length
_Y3A)
Memory32Fixed (ReadOnly,
0xFED70000, // Address Base
0x00001000, // Address Length
_Y3B)
})
Name (CRSD, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xFED40000, // Address Base
0x00001000, // Address Length
_Y3C)
})
Name (CRSI, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xFED40000, // Address Base
0x00001000, // Address Length
_Y3D)
})
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
If ((AMDT == One))
{
CreateDWordField (CRST, \_SB.TPM._Y3A._BAS, MTFB) // _BAS: Base Address
CreateDWordField (CRST, \_SB.TPM._Y3A._LEN, LTFB) // _LEN: Length
MTFB = TPMB /* \TPMB */
LTFB = 0x1000
CreateDWordField (CRST, \_SB.TPM._Y3B._BAS, MTFC) // _BAS: Base Address
CreateDWordField (CRST, \_SB.TPM._Y3B._LEN, LTFC) // _LEN: Length
MTFC = TPMC /* \TPMC */
LTFC = 0x1000
Return (CRST) /* \_SB_.TPM_.CRST */
}
Else
{
If ((DTPT == One))
{
CreateDWordField (CRSD, \_SB.TPM._Y3C._BAS, MTFE) // _BAS: Base Address
CreateDWordField (CRSD, \_SB.TPM._Y3C._LEN, LTFE) // _LEN: Length
MTFE = 0xFED40000
LTFE = 0x0880
Return (CRSD) /* \_SB_.TPM_.CRSD */
}
ElseIf ((TTPF == One))
{
CreateDWordField (CRSI, \_SB.TPM._Y3D._BAS, MTFD) // _BAS: Base Address
CreateDWordField (CRSI, \_SB.TPM._Y3D._LEN, LTFD) // _LEN: Length
MTFD = 0xFED40000
LTFD = 0x5000
Return (CRSI) /* \_SB_.TPM_.CRSI */
}
ElseIf ((TTPF == Zero))
{
CreateDWordField (CRSI, \_SB.TPM._Y3D._BAS, MTFF) // _BAS: Base Address
MTFF = TPMM /* \TPMM */
Return (CRSI) /* \_SB_.TPM_.CRSI */
}
MTFE = Zero
LTFE = Zero
Return (CRSI) /* \_SB_.TPM_.CRSI */
}
}
OperationRegion (TMMB, SystemMemory, 0xFED40000, 0x5000)
Field (TMMB, ByteAcc, Lock, Preserve)
{
Offset (0x04),
LCST, 32,
Offset (0x40),
CREQ, 32,
CSTS, 32,
Offset (0x4C),
SCMD, 32
}
OperationRegion (CRBD, SystemMemory, TPMM, 0x48)
Field (CRBD, AnyAcc, NoLock, Preserve)
{
Offset (0x04),
HERR, 32,
Offset (0x40),
HCMD, 32,
HSTS, 32
}
OperationRegion (TICR, SystemMemory, 0xE00D0000, 0x0100)
Field (TICR, AnyAcc, NoLock, Preserve)
{
Offset (0x8C),
STAT, 32
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((TTDP == Zero))
{
If (TPMF)
{
Return (0x0F)
}
Return (Zero)
}
ElseIf ((TTDP == One))
{
If (TPMF)
{
Return (0x0F)
}
Return (Zero)
}
Return (Zero)
}
Method (STRT, 3, Serialized)
{
OperationRegion (TPMR, SystemMemory, FTPM, 0x1000)
Field (TPMR, AnyAcc, NoLock, Preserve)
{
Offset (0x04),
FERR, 32,
Offset (0x0C),
BEGN, 32
}
Name (TIMR, Zero)
Switch (ToInteger (Arg1))
{
Case (Zero)
{
Return (Buffer (One)
{
0x03 // .
})
}
Case (One)
{
STAT = One
Return (Zero)
}
}
Return (One)
}
Method (CRYF, 3, Serialized)
{
Switch (ToInteger (Arg1))
{
Case (Zero)
{
Return (Buffer (One)
{
0x03 // .
})
}
Case (One)
{
Name (TPMV, Package (0x02)
{
One,
Package (0x02)
{
One,
0x20
}
})
If ((_STA () == Zero))
{
Return (Package (0x01)
{
Zero
})
}
Return (TPMV) /* \_SB_.TPM_.CRYF.TPMV */
}
}
Return (Buffer (One)
{
0x00 // .
})
}
}
Scope (_SB.TPM)
{
OperationRegion (TSMI, SystemIO, SMIA, 0x02)
Field (TSMI, WordAcc, NoLock, Preserve)
{
SMI, 16
}
OperationRegion (ATNV, SystemMemory, PPIM, PPIL)
Field (ATNV, AnyAcc, NoLock, Preserve)
{
RQST, 32,
RCNT, 32,
ERRO, 32,
FLAG, 32,
MISC, 32,
OPTN, 32,
SRSP, 32
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("3dddfaa6-361b-4eb4-a424-8d10089d1653") /* Physical Presence Interface */))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Return (Buffer (0x02)
{
0xFF, 0x01 // ..
})
}
Case (One)
{
If ((PPIV == Zero))
{
Return ("1.2")
}
Else
{
Return ("1.3")
}
}
Case (0x02)
{
ToInteger (DerefOf (Arg3 [Zero]), RQST) /* \_SB_.TPM_.RQST */
SRSP = Zero
FLAG = 0x02
TMF1 = OFST /* \OFST */
SRSP = Zero
SMI = TMF1 /* \TMF1 */
Return (SRSP) /* \_SB_.TPM_.SRSP */
}
Case (0x03)
{
Name (PPI1, Package (0x02)
{
Zero,
Zero
})
PPI1 [One] = RQST /* \_SB_.TPM_.RQST */
Return (PPI1) /* \_SB_.TPM_._DSM.PPI1 */
}
Case (0x04)
{
Return (TRST) /* \TRST */
}
Case (0x05)
{
Name (PPI2, Package (0x03)
{
Zero,
Zero,
Zero
})
SRSP = Zero
FLAG = 0x05
SMI = OFST /* \OFST */
PPI2 [One] = RCNT /* \_SB_.TPM_.RCNT */
PPI2 [0x02] = ERRO /* \_SB_.TPM_.ERRO */
Return (PPI2) /* \_SB_.TPM_._DSM.PPI2 */
}
Case (0x06)
{
Return (0x03)
}
Case (0x07)
{
ToInteger (DerefOf (Arg3 [Zero]), RQST) /* \_SB_.TPM_.RQST */
FLAG = 0x07
OPTN = Zero
If ((RQST == 0x17))
{
ToInteger (DerefOf (Arg3 [One]), OPTN) /* \_SB_.TPM_.OPTN */
}
TMF1 = OFST /* \OFST */
SRSP = Zero
SMI = TMF1 /* \TMF1 */
Return (SRSP) /* \_SB_.TPM_.SRSP */
}
Case (0x08)
{
ToInteger (DerefOf (Arg3 [Zero]), RQST) /* \_SB_.TPM_.RQST */
FLAG = 0x08
TMF1 = OFST /* \OFST */
SRSP = Zero
SMI = TMF1 /* \TMF1 */
Return (SRSP) /* \_SB_.TPM_.SRSP */
}
Default
{
}
}
}
ElseIf ((Arg0 == ToUUID ("376054ed-cc13-4675-901c-4756d7f2d45d")))
{
Switch (ToInteger (Arg2))
{
Case (Zero)
{
Return (Buffer (One)
{
0x03 // .
})
}
Case (One)
{
ToInteger (DerefOf (Arg3 [Zero]), RQST) /* \_SB_.TPM_.RQST */
FLAG = 0x09
TMF1 = OFST /* \OFST */
SRSP = Zero
SMI = TMF1 /* \TMF1 */
Return (SRSP) /* \_SB_.TPM_.SRSP */
}
Default
{
}
}
}
If ((Arg0 == ToUUID ("cf8e16a5-c1e8-4e25-b712-4f54a96702c8")))
{
Return (CRYF (Arg1, Arg2, Arg3))
}
If ((Arg0 == ToUUID ("6bbf6cab-5463-4714-b7cd-f0203c0368d4")))
{
Return (STRT (Arg1, Arg2, Arg3))
}
Return (Buffer (One)
{
0x00 // .
})
}
Method (TPTS, 1, Serialized)
{
Switch (ToInteger (Arg0))
{
Case (0x04)
{
RQST = Zero
FLAG = 0x09
SRSP = Zero
SMI = OFST /* \OFST */
Return (SRSP) /* \_SB_.TPM_.SRSP */
}
Case (0x05)
{
RQST = Zero
FLAG = 0x09
SRSP = Zero
SMI = OFST /* \OFST */
Return (SRSP) /* \_SB_.TPM_.SRSP */
}
}
}
}
}
Ce serait sans doute l'une des plus grandes opportunités ratées de notre siècle si le logiciel libre ne servait à libérer que du code : http://donnons.org/, http://www.agoravox.fr/, http://www.couchsurfing.org/, http://esperanto-france.org/, http://www.mouvement-zeitgeist.fr/, https://monnaie-libre.fr/
Hors ligne
#65 Le 01/06/2018, à 15:08
- Nuliel
Re : Yepo 737S : carte son non détectée
Un peu de nouvelles: j'ai trouvé https://techtablets.com/forum/topic/yep … -and-more/ (parce que oui, ça merde aussi sur une clean install de windows apparemment)
et la magie arrive:
Then, find the unknown device whose route to the device’s ID is “ACPI\808622A8\1” (See below if you can’t find it).
Et on voit dans le dsdt.dsl:
Device (LPEA)
{
Name (_HID, "808622A8") // _HID: Hardware ID
Name (_CID, "808622A8") // _CID: Compatible ID
Name (_DDN, "Intel(R) Low Power Audio Controller - 808622A8") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
J'ai l'impression que le pilote voir quand même un peu les hauts parleurs.
J'avance donc doucement mais sûrement
Pense bête: https://bugzilla.kernel.org/show_bug.cgi?id=189261#c80
https://bugzilla.kernel.org/show_bug.cgi?id=189261#c29
Dernière modification par Nuliel (Le 01/07/2018, à 22:50)
Hors ligne
#66 Le 01/06/2018, à 19:37
- 321guyver
Re : Yepo 737S : carte son non détectée
OK, je reste en stand-by
Ce serait sans doute l'une des plus grandes opportunités ratées de notre siècle si le logiciel libre ne servait à libérer que du code : http://donnons.org/, http://www.agoravox.fr/, http://www.couchsurfing.org/, http://esperanto-france.org/, http://www.mouvement-zeitgeist.fr/, https://monnaie-libre.fr/
Hors ligne
#67 Le 08/06/2018, à 08:12
- 321guyver
Re : Yepo 737S : carte son non détectée
up
Ce serait sans doute l'une des plus grandes opportunités ratées de notre siècle si le logiciel libre ne servait à libérer que du code : http://donnons.org/, http://www.agoravox.fr/, http://www.couchsurfing.org/, http://esperanto-france.org/, http://www.mouvement-zeitgeist.fr/, https://monnaie-libre.fr/
Hors ligne
#68 Le 08/06/2018, à 08:16
- xubu1957
Re : Yepo 737S : carte son non détectée
Bonjour,
Il faudra être patient !
Bonjour xubu1957,
Oui, mes deux concours sont fin juin (j'aurai les résultats le 5 juillet, je serai donc de nouveau dispo après le 5 juillet bien qu'un peu vidé), j'ai du mal à dégager du temps pour la carte son du Yepo 737S :( (j'ai une idée de comment faire mais c'est assez compliqué dans mon idée).
Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Réso|u] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci. Membre de Linux-Azur
Hors ligne
#69 Le 12/06/2018, à 08:56
- 321guyver
Re : Yepo 737S : carte son non détectée
pas de souci
Ce serait sans doute l'une des plus grandes opportunités ratées de notre siècle si le logiciel libre ne servait à libérer que du code : http://donnons.org/, http://www.agoravox.fr/, http://www.couchsurfing.org/, http://esperanto-france.org/, http://www.mouvement-zeitgeist.fr/, https://monnaie-libre.fr/
Hors ligne
#70 Le 02/07/2018, à 14:51
- Nuliel
Re : Yepo 737S : carte son non détectée
Bonjour,
Désolé de ne pas avoir pu revenir plus tôt, je suis donc de nouveau plus disponible.
Vu https://techtablets.com/forum/topic/yep … -and-more/ il est clair que le pilote qu'on cherche à faire fonctionner c'est le es8316. Je me demande si bytcr-rt5651 serait pas adapté que pour les écouteurs, du coup es8316 ce serait que pour les hauts parleurs.
Remarque: on voit que le pin en question est le 0x004F , c'est à dire le pin 79 j'imagine.
Je n'ai pas vu un seul 808622A8 dans les sources du pilote es8316 ( https://github.com/dsd/linux/blob/es831 … s/es8316.c ) , je pense que le problème vient de là.
Gros pense bête: changer i2c-ESSX8316:00 de bytcht_es8316.c
changer ESSX8316 dans es8316.c
Un truc bizarre dans sst_acpi.c
#if IS_ENABLED(CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH)
/*
* This is always last in the table so that it is selected only when
* enabled explicitly and there is no codec-related information in SSDT
*/
{"808622A8", "bytcht_nocodec", "intel/fw_sst_22a8.bin", "bytcht_nocodec", NULL,
&chv_platform_data },
C'est vraiment bizarre ça n'apparaît pas là https://github.com/torvalds/linux/blob/ … sst-acpi.c
Dernière modification par Nuliel (Le 03/07/2018, à 23:08)
Hors ligne
#71 Le 04/07/2018, à 11:58
- Nuliel
Re : Yepo 737S : carte son non détectée
La partie bizarre a été déplacée dans un autre fichier pour faire du nettoyage. Mais même sur la dernière version du noyau, il y a toujours ce truc bizarre. Etrangement, j'ai l'impression que no_codec est un pilote. On ne voit pas de trace de bytcht_nocodec dans les modules chargés sur ton ordi car CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH doit être à no. Si je me trompe pas, c'est un paramètre à la compilation du noyau. Donc je vais vérifier que bytcht_nocodec est pas une blague et je serais du coup pour partir sur ce que tu as utilisé là enlever #if IS_ENABLED(CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH) afin que {"808622A8", "bytcht_nocodec", "intel/fw_sst_22a8.bin", "bytcht_nocodec", NULL,&chv_platform_data } puisse être considéré (ou recompiler le noyau)
Dernière modification par Nuliel (Le 04/07/2018, à 12:02)
Hors ligne
#72 Le 07/07/2018, à 11:22
- Nuliel
Re : Yepo 737S : carte son non détectée
@321guyver: pourrais tu poster un petit message pour confirmer que tu es toujours là?
Hors ligne
#73 Le 17/07/2018, à 09:56
- 321guyver
Re : Yepo 737S : carte son non détectée
De retour, désolé.
Ce serait sans doute l'une des plus grandes opportunités ratées de notre siècle si le logiciel libre ne servait à libérer que du code : http://donnons.org/, http://www.agoravox.fr/, http://www.couchsurfing.org/, http://esperanto-france.org/, http://www.mouvement-zeitgeist.fr/, https://monnaie-libre.fr/
Hors ligne
#74 Le 17/07/2018, à 10:14
- 321guyver
Re : Yepo 737S : carte son non détectée
Si tu veux bien faire ce que tu as prévu, @Naziel, ce sera super. J'avoue ne pas avoir tout compris.
Par ailleurs, j'ai acheté quelques dizaines de centimes d'€ une carte son externe (pas parce que je crois pas à notre succès, mais parce qu'il me fallait aussi une entrée micro) de ce genre :
Ceci apparait dans lsusb quand je la branche :
Bus 001 Device 006: ID 8086:0808 Intel Corp.
Et
~$ lsmod
Module Size Used by
snd_usb_audio 196608 2
snd_usbmidi_lib 32768 1 snd_usb_audio
snd_hwdep 20480 1 snd_usb_audio
snd_soc_sst_bytcr_rt5651 20480 6
axp288_fuel_gauge 20480 0
axp288_adc 16384 0
axp20x_pek 16384 0
industrialio 69632 2 axp288_adc,axp288_fuel_gauge
axp288_charger 20480 0
extcon_axp288 16384 0
nls_iso8859_1 16384 1
gpio_keys 20480 0
intel_rapl 20480 0
intel_powerclamp 16384 0
coretemp 16384 0
kvm_intel 204800 0
kvm 593920 1 kvm_intel
irqbypass 16384 1 kvm
punit_atom_debug 16384 0
crct10dif_pclmul 16384 0
crc32_pclmul 16384 0
ghash_clmulni_intel 16384 0
pcbc 16384 0
aesni_intel 188416 0
aes_x86_64 20480 1 aesni_intel
crypto_simd 16384 1 aesni_intel
glue_helper 16384 1 aesni_intel
uvcvideo 86016 0
snd_intel_sst_acpi 16384 1
cryptd 24576 3 crypto_simd,ghash_clmulni_intel,aesni_intel
videobuf2_vmalloc 16384 1 uvcvideo
intel_cstate 20480 0
snd_intel_sst_core 53248 1 snd_intel_sst_acpi
videobuf2_memops 16384 1 videobuf2_vmalloc
snd_soc_sst_atom_hifi2_platform 102400 3 snd_intel_sst_core
videobuf2_v4l2 24576 1 uvcvideo
snd_soc_acpi 16384 2 snd_intel_sst_acpi,snd_soc_sst_bytcr_rt5651
snd_soc_rt5651 90112 2 snd_soc_sst_bytcr_rt5651
snd_soc_acpi_intel_match 20480 1 snd_intel_sst_acpi
snd_soc_rl6231 16384 1 snd_soc_rt5651
videobuf2_core 40960 2 uvcvideo,videobuf2_v4l2
videodev 184320 3 uvcvideo,videobuf2_core,videobuf2_v4l2
snd_soc_core 241664 3 snd_soc_sst_atom_hifi2_platform,snd_soc_sst_bytcr_rt5651,snd_soc_rt5651
media 40960 2 uvcvideo,videodev
input_leds 16384 0
snd_compress 20480 1 snd_soc_core
ac97_bus 16384 1 snd_soc_core
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_pcm 98304 6 snd_usb_audio,snd_pcm_dmaengine,snd_soc_sst_atom_hifi2_platform,snd_soc_sst_bytcr_rt5651,snd_soc_core,snd_soc_rt5651
mei_txe 20480 0
mei 90112 1 mei_txe
processor_thermal_device 16384 0
intel_soc_dts_iosf 16384 1 processor_thermal_device
lpc_ich 24576 0
snd_seq_midi 16384 0
snd_seq_midi_event 16384 1 snd_seq_midi
snd_rawmidi 32768 2 snd_seq_midi,snd_usbmidi_lib
snd_seq 65536 2 snd_seq_midi_event,snd_seq_midi
snd_seq_device 16384 3 snd_seq,snd_rawmidi,snd_seq_midi
axp20x_i2c 16384 0
snd_timer 32768 2 snd_seq,snd_pcm
dw_dmac 16384 0
dw_dmac_core 24576 1 dw_dmac
r8723bs 606208 0
axp20x 24576 1 axp20x_i2c
snd 81920 27 snd_compress,snd_hwdep,snd_seq,snd_usb_audio,snd_timer,snd_soc_sst_atom_hifi2_platform,snd_rawmidi,snd_usbmidi_lib,snd_seq_device,snd_soc_core,snd_pcm
intel_cht_int33fe 16384 0
cfg80211 622592 1 r8723bs
soundcore 16384 1 snd
pwm_lpss_platform 16384 0
pwm_lpss 16384 1 pwm_lpss_platform
spi_pxa2xx_platform 24576 0
tpm_crb 16384 0
8250_dw 16384 0
int3400_thermal 16384 0
int3406_thermal 16384 0
acpi_thermal_rel 16384 1 int3400_thermal
int3403_thermal 16384 0
int340x_thermal_zone 16384 2 int3403_thermal,processor_thermal_device
intel_int0002_vgpio 16384 1
soc_button_array 16384 0
mac_hid 16384 0
acpi_pad 180224 0
sch_fq_codel 20480 5
parport_pc 36864 0
ppdev 20480 0
lp 20480 0
parport 49152 3 lp,parport_pc,ppdev
ip_tables 28672 0
x_tables 40960 1 ip_tables
autofs4 40960 2
hid_generic 16384 0
usbhid 49152 0
hid 118784 2 hid_generic,usbhid
mmc_block 36864 6
i915 1617920 22
i2c_algo_bit 16384 1 i915
drm_kms_helper 167936 1 i915
syscopyarea 16384 1 drm_kms_helper
sysfillrect 16384 1 drm_kms_helper
sysimgblt 16384 1 drm_kms_helper
fb_sys_fops 16384 1 drm_kms_helper
drm 401408 15 i915,drm_kms_helper
video 40960 2 int3406_thermal,i915
sdhci_acpi 16384 0
sdhci 49152 1 sdhci_acpi
Quelle est la suite ?
Ce serait sans doute l'une des plus grandes opportunités ratées de notre siècle si le logiciel libre ne servait à libérer que du code : http://donnons.org/, http://www.agoravox.fr/, http://www.couchsurfing.org/, http://esperanto-france.org/, http://www.mouvement-zeitgeist.fr/, https://monnaie-libre.fr/
Hors ligne
#75 Le 17/07/2018, à 10:38
- Nuliel
Re : Yepo 737S : carte son non détectée
Pas de problème, il faut que je me replonge dans le problème. Je viens de remarquer que CONFIG_SND_SOC_ES8316 et d'autres paramètres de compilation du noyau sont mis à "m" (comme module) sur le noyau 4.15.18 de ukuu.
Au cas où, peux tu donner le retour de
cat /boot/config-4.15.0-20-generic | grep ES8316
(je sais pas s'il y a une différence sur les paramètres de compilation du noyau d'ubuntu et d'ukuu)
J'ai
# CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH is not set
dans l'une des configurations de noyau, ça veut dire que le code du message 70 n'est jamais interprété (et pour moi c'est exactement ton cas de figure), en y réfléchissant je pense que recompiler le noyau avec cette option activée serait peut être la solution
Donne quand même
cat /boot/config-4.15.0-20-generic | grep NOCODEC
au cas où pour vérifier que cette option n'est pas activée chez toi
Précision utile: compiler le noyau c'est long, très long (je vais retrouver la méthode)
Edit: avant, tu peux tenter de suivre https://github.com/plbossart/UCM/tree/m … ht-nocodec c'est à dire télécharger avec
git clone https://github.com/plbossart/UCM.git
puis copier le dossier bytcht-nocodec dans /usr/share/alsa/ucm à l'aide de la commande
sudo cp -rf UCM/bytcht-nocodec /usr/share/alsa/ucm
Dernière modification par Nuliel (Le 17/07/2018, à 11:02)
Hors ligne